blob: 8c5d73fa9b5fe796d74e0c236f51a55699cc3be8 [file] [log] [blame]
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
/*library: scope=[
_extension#0,
_extension#1,
_extension#2,
_extension#3,
_extension#4,
async.dart.FutureExtensions,
core.dart.EnumByName,
core.dart.EnumName]*/
class A1 {}
/*class: _extension#0:
builder-name=_extension#0,
builder-onType=A1,
extension-members=[
method=_extension#0|method,
tearoff method=_extension#0|get#method],
extension-name=_extension#0,
extension-onType=A1!
*/
extension on A1 {
/*member: _extension#0|method:
builder-name=method,
builder-params=[#this],
member-name=_extension#0|method,
member-params=[#this]
*/
method() {}
/*member: _extension#0|get#method:
builder-name=method,
builder-params=[#this],
member-name=_extension#0|get#method,
member-params=[#this]
*/
}
/*class: _extension#1:
builder-name=_extension#1,
builder-onType=A1,
extension-members=[
method=_extension#1|method,
tearoff method=_extension#1|get#method],
extension-name=_extension#1,
extension-onType=A1!
*/
extension on A1 {
/*member: _extension#1|method:
builder-name=method,
builder-params=[#this],
member-name=_extension#1|method,
member-params=[#this]
*/
method() {}
/*member: _extension#1|get#method:
builder-name=method,
builder-params=[#this],
member-name=_extension#1|get#method,
member-params=[#this]
*/
}
class B1<T> {}
/*class: _extension#2:
builder-name=_extension#2,
builder-onType=B1<T>,
builder-type-params=[T],
extension-members=[
method=_extension#2|method,
tearoff method=_extension#2|get#method],
extension-name=_extension#2,
extension-onType=B1<T%>!,
extension-type-params=[T]
*/
extension <T> on B1<T> {
/*member: _extension#2|method:
builder-name=method,
builder-params=[#this],
builder-type-params=[T],
member-name=_extension#2|method,
member-params=[#this],
member-type-params=[T]
*/
method() {}
/*member: _extension#2|get#method:
builder-name=method,
builder-params=[#this],
builder-type-params=[T],
member-name=_extension#2|get#method,
member-params=[#this],
member-type-params=[T]
*/
}
/*class: _extension#3:
builder-name=_extension#3,
builder-onType=B1<A1>,
extension-members=[
method=_extension#3|method,
tearoff method=_extension#3|get#method],
extension-name=_extension#3,
extension-onType=B1<A1!>!
*/
extension on B1<A1> {
/*member: _extension#3|method:
builder-name=method,
builder-params=[#this],
member-name=_extension#3|method,
member-params=[#this]
*/
method() {}
/*member: _extension#3|get#method:
builder-name=method,
builder-params=[#this],
member-name=_extension#3|get#method,
member-params=[#this]
*/
}
/*class: _extension#4:
builder-name=_extension#4,
builder-onType=B1<T>,
builder-type-params=[T extends A1],
extension-members=[
method=_extension#4|method,
tearoff method=_extension#4|get#method],
extension-name=_extension#4,
extension-onType=B1<T!>!,
extension-type-params=[T extends A1!]
*/
extension <T extends A1> on B1<T> {
/*member: _extension#4|method:
builder-name=method,
builder-params=[#this],
builder-type-params=[T extends A1],
member-name=_extension#4|method,
member-params=[#this],
member-type-params=[T extends A1!]
*/
method() {}
/*member: _extension#4|get#method:
builder-name=method,
builder-params=[#this],
builder-type-params=[T extends A1],
member-name=_extension#4|get#method,
member-params=[#this],
member-type-params=[T extends A1!]
*/
}
main() {}