library #lib; import self as self; import "dart:core" as core; class A extends core::Object { field core::int foo1; field core::int foo2 = null; field core::int foo3 = 42; field core::int foo4; field core::int foo5 = 43; [@vm.bytecode= Bytecode { Entry 0 CheckStack Push FP[-6] PushInt 42 StoreFieldTOS CP#0 Push FP[-6] PushInt 43 StoreFieldTOS CP#2 Push FP[-6] Push FP[-5] StoreFieldTOS CP#4 Push FP[-6] PushInt 44 StoreFieldTOS CP#2 Push FP[-6] PushConstant CP#7 IndirectStaticCall 1, CP#6 Drop1 PushNull ReturnTOS } Nullable fields: [#lib::A::foo1, #lib::A::foo2] ConstantPool { [0] = InstanceField #lib::A::foo3 [1] = Reserved [2] = InstanceField #lib::A::foo5 [3] = Reserved [4] = InstanceField #lib::A::foo4 [5] = Reserved [6] = ArgDesc num-args 1, num-type-args 0, names [] [7] = StaticICData target 'dart.core::Object::', arg-desc CP#6 } ] constructor •(core::int foo4) → self::A : self::A::foo1 = null, self::A::foo4 = foo4, self::A::foo5 = 44, super core::Object::•() ; [@vm.bytecode= Bytecode { Entry 0 CheckStack Push FP[-7] PushInt 42 StoreFieldTOS CP#0 Push FP[-7] PushInt 43 StoreFieldTOS CP#2 Push FP[-7] Push FP[-6] StoreFieldTOS CP#4 Push FP[-7] Push FP[-5] PushInt 1 AddInt StoreFieldTOS CP#2 Push FP[-7] PushConstant CP#7 IndirectStaticCall 1, CP#6 Drop1 PushNull ReturnTOS } Nullable fields: [#lib::A::foo2, #lib::A::foo4] ConstantPool { [0] = InstanceField #lib::A::foo3 [1] = Reserved [2] = InstanceField #lib::A::foo5 [3] = Reserved [4] = InstanceField #lib::A::foo1 [5] = Reserved [6] = ArgDesc num-args 1, num-type-args 0, names [] [7] = StaticICData target 'dart.core::Object::', arg-desc CP#6 } ] constructor constr2(core::int x, core::int y) → self::A : self::A::foo4 = null, self::A::foo1 = x, self::A::foo5 = y.{core::num::+}(1), super core::Object::•() ; [@vm.bytecode= Bytecode { Entry 0 CheckStack Push FP[-5] PushInt 45 PushConstant CP#1 IndirectStaticCall 2, CP#0 Drop1 PushNull ReturnTOS } ConstantPool { [0] = ArgDesc num-args 2, num-type-args 0, names [] [1] = StaticICData target '#lib::A::', arg-desc CP#0 } ] constructor redirecting1() → self::A : this self::A::•(45) ; [@vm.bytecode= Bytecode { Entry 0 CheckStack Push FP[-8] Push FP[-7] Push FP[-6] Push FP[-5] MulInt PushConstant CP#1 IndirectStaticCall 3, CP#0 Drop1 PushNull ReturnTOS } ConstantPool { [0] = ArgDesc num-args 3, num-type-args 0, names [] [1] = StaticICData target '#lib::A::constr2', arg-desc CP#0 } ] constructor redirecting2(core::int a, core::int b, core::int c) → self::A : this self::A::constr2(a, b.{core::num::*}(c)) ; } class B extends self::A { field core::int foo6 = 46; static field core::int foo7 = 47; static const field core::int foo8 = 48; [@vm.bytecode= Bytecode { Entry 0 CheckStack Push FP[-5] PushInt 46 StoreFieldTOS CP#0 Push FP[-5] PushInt 49 PushConstant CP#3 IndirectStaticCall 2, CP#2 Drop1 PushNull ReturnTOS } ConstantPool { [0] = InstanceField #lib::B::foo6 [1] = Reserved [2] = ArgDesc num-args 2, num-type-args 0, names [] [3] = StaticICData target '#lib::A::', arg-desc CP#2 } ] constructor •() → self::B : super self::A::•(49) ; [@vm.bytecode= Bytecode { Entry 0 CheckStack Push FP[-7] PushInt 46 StoreFieldTOS CP#0 Push FP[-7] PushInt 50 StoreFieldTOS CP#0 Push FP[-7] Push FP[-6] Push FP[-5] PushInt 51 PushConstant CP#3 IndirectStaticCall 4, CP#2 Drop1 PushNull ReturnTOS } ConstantPool { [0] = InstanceField #lib::B::foo6 [1] = Reserved [2] = ArgDesc num-args 4, num-type-args 0, names [] [3] = StaticICData target '#lib::A::redirecting2', arg-desc CP#2 } ] constructor c2(core::int i, core::int j) → self::B : self::B::foo6 = 50, super self::A::redirecting2(i, j, 51) ; } [@vm.bytecode= Bytecode { Entry 0 CheckStack PushNull ReturnTOS } ConstantPool { } ]static method main() → dynamic {}