| // Copyright (c) 2018, 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: Class.:static=[Object.(0)]*/ |
| class Class { |
| /*member: Class.field1:type=[inst:JSNull]*/ |
| var field1; |
| |
| /*member: Class.field2:type=[inst:JSNull]*/ |
| var field2; |
| |
| /*member: Class.method1:dynamic=[this:Class.method2(0)]*/ |
| method1() { |
| method2(); |
| } |
| |
| /*member: Class.method2:dynamic=[this:Class.field1=,this:Class.field2]*/ |
| method2() { |
| field1 = field2; |
| } |
| } |
| |
| /*member: Subclass.:static=[Class.(0)]*/ |
| class Subclass extends Class { |
| /*member: Subclass.field1:type=[inst:JSNull]*/ |
| var field1; |
| /*member: Subclass.field2:type=[inst:JSNull]*/ |
| var field2; |
| |
| /*member: Subclass.method1:*/ |
| method1() {} |
| |
| /*member: Subclass.method2:dynamic=[this:Subclass.method3(0)]*/ |
| method2() { |
| method3(); |
| } |
| |
| method3() {} |
| } |
| |
| /*member: Subtype.:static=[Object.(0)]*/ |
| class Subtype implements Class { |
| /*member: Subtype.field1:type=[inst:JSNull]*/ |
| var field1; |
| /*member: Subtype.field2:type=[inst:JSNull]*/ |
| var field2; |
| |
| method1() {} |
| |
| method2() { |
| method4(); |
| } |
| |
| method4() { |
| method2(); |
| } |
| } |
| |
| /*member: main: |
| dynamic=[Class.method1(0)], |
| static=[Class.(0),Subclass.(0),Subtype.(0)] |
| */ |
| main() { |
| var c = new Class(); |
| c = new Subclass(); |
| c = new Subtype(); |
| c.method1(); |
| } |