| // 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. |
| |
| // @dart = 2.9 |
| |
| /*library: scope=[ |
| A2, |
| async.dart.FutureExtensions, |
| core.dart.EnumByName, |
| core.dart.EnumName]*/ |
| |
| class A1 { |
| Object field; |
| void method1() {} |
| } |
| |
| /*class: A2: |
| builder-name=A2, |
| builder-onType=A1, |
| extension-members=[ |
| method2=A2|method2, |
| method3=A2|method3, |
| method4=A2|method4, |
| tearoff method2=A2|get#method2, |
| tearoff method3=A2|get#method3, |
| tearoff method4=A2|get#method4], |
| extension-name=A2, |
| extension-onType=A1 |
| */ |
| extension A2 on A1 { |
| /*member: A2|method2: |
| builder-name=method2, |
| builder-params=[#this], |
| member-name=A2|method2, |
| member-params=[#this] |
| */ |
| void method2() => this.method1(); |
| |
| /*member: A2|get#method2: |
| builder-name=method2, |
| builder-params=[#this], |
| member-name=A2|get#method2, |
| member-params=[#this] |
| */ |
| |
| /*member: A2|method3: |
| builder-name=method3, |
| builder-params=[#this], |
| member-name=A2|method3, |
| member-params=[#this] |
| */ |
| Object method3() => this.field; |
| |
| /*member: A2|get#method3: |
| builder-name=method3, |
| builder-params=[#this], |
| member-name=A2|get#method3, |
| member-params=[#this] |
| */ |
| |
| /*member: A2|method4: |
| builder-name=method4, |
| builder-params=[#this,o], |
| member-name=A2|method4, |
| member-params=[#this,o] |
| */ |
| void method4(Object o) { |
| this.field = o; |
| } |
| |
| /*member: A2|get#method4: |
| builder-name=method4, |
| builder-params=[#this,o], |
| member-name=A2|get#method4, |
| member-params=[#this] |
| */ |
| } |
| |
| main() { |
| } |