| // 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.7 |
| |
| /*member: main:access=*,calls=*,params=0*/ |
| main() { |
| method1(new Class1a()); |
| method2(new Class2a()); |
| method2(new Class2b()); |
| |
| method3(new Class3a()); |
| Class3b b = new Class3b(); |
| method3(b); |
| print(b.field3); |
| |
| method5(new Class5a()); |
| method6(new Class6a()); |
| method6(new Class6b()); |
| method7(); |
| method8(); |
| method9(); |
| method10(); |
| } |
| |
| class Class1a { |
| /*member: Class1a.field1:emitted*/ |
| @pragma('dart2js:noElision') |
| int field1; |
| } |
| |
| /*member: method1:assign=[field1],params=1*/ |
| @pragma('dart2js:noInline') |
| method1(Class1a c) { |
| c.field1 = 42; |
| } |
| |
| class Class2a { |
| /*member: Class2a.field2:emitted*/ |
| @pragma('dart2js:noElision') |
| int field2 = 42; |
| } |
| |
| class Class2b extends Class2a {} |
| |
| /*member: method2:assign=[field2],params=1*/ |
| @pragma('dart2js:noInline') |
| method2(Class2a c) { |
| c.field2 = 42; |
| } |
| |
| class Class3a { |
| /*member: Class3a.field3:elided,set=simple*/ |
| var field3; |
| } |
| |
| class Class3b implements Class3a { |
| /*member: Class3b.field3:emitted,set=simple*/ |
| var field3; |
| } |
| |
| /*member: method3:calls=[set$field3(1)],params=1*/ |
| @pragma('dart2js:noInline') |
| method3(Class3a a) => a.field3 = 42; |
| |
| class Class5a { |
| /*member: Class5a.field5:elided*/ |
| int field5; |
| } |
| |
| /*member: method5:params=1*/ |
| @pragma('dart2js:noInline') |
| method5(Class5a c) { |
| c.field5 = 42; |
| } |
| |
| class Class6a { |
| /*member: Class6a.field6:elided*/ |
| int field6 = 42; |
| } |
| |
| class Class6b extends Class6a {} |
| |
| @pragma('dart2js:noInline') |
| method6(Class6a c) { |
| /*member: method6:params=1*/ |
| c.field6 = 42; |
| } |
| |
| /*member: field7:emitted*/ |
| @pragma('dart2js:noElision') |
| int field7; |
| |
| /*member: method7:assign=[field7],params=0*/ |
| @pragma('dart2js:noInline') |
| method7() { |
| field7 = 42; |
| } |
| |
| int field8; |
| |
| /*member: method8:params=0*/ |
| @pragma('dart2js:noInline') |
| method8() { |
| field8 = 42; |
| } |
| |
| /*member: field9:emitted,lazy*/ |
| @pragma('dart2js:noElision') |
| int field9 = throw 'field9'; |
| |
| /*member: method9:assign=[field9],params=0*/ |
| @pragma('dart2js:noInline') |
| method9() { |
| field9 = 42; |
| } |
| |
| int field10 = throw 'field9'; |
| |
| /*member: method10:params=0*/ |
| @pragma('dart2js:noInline') |
| method10() { |
| field10 = 42; |
| } |