blob: a186361e6e9db649a3dffd5bdfdbd6c62447d22f [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=[
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() => 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() => 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) {
field = o;
}
/*member: A2|get#method4:
builder-name=method4,
builder-params=[#this,o],
member-name=A2|get#method4,
member-params=[#this]
*/
}
main() {
}