| main = #lib::main; |
| [@vm.bytecode= |
| ComponentBytecodeMetadata { |
| |
| Bytecode (version: stable) |
| Main library: #lib |
| |
| } |
| ] [@vm.bytecode= |
| MembersBytecodeMetadata { |
| |
| Members { |
| |
| Function 'main', static, reflectable, debuggable |
| parameters [] (required: 0) |
| return-type dynamic |
| |
| |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| } |
| |
| } |
| |
| } |
| ]library #lib from "#lib" as #lib { |
| |
| [@vm.bytecode= |
| MembersBytecodeMetadata { |
| |
| Members { |
| Field 'foo1', type = dart:core::int, getter = 'get:foo1', setter = 'set:foo1', reflectable |
| value = null |
| |
| Field 'foo2', type = dart:core::int, getter = 'get:foo2', setter = 'set:foo2', reflectable |
| value = null |
| |
| Field 'foo3', type = dart:core::int, getter = 'get:foo3', setter = 'set:foo3', reflectable |
| value = const 42 |
| |
| Field 'foo4', type = dart:core::int, getter = 'get:foo4', setter = 'set:foo4', reflectable |
| value = null |
| |
| Field 'foo5', type = dart:core::int, getter = 'get:foo5', setter = 'set:foo5', reflectable |
| value = const 43 |
| |
| Function '', constructor, reflectable, debuggable |
| parameters [dart:core::int 'foo4'] (required: 1) |
| return-type #lib::A |
| |
| |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| 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] |
| DirectCall 1, CP#6 |
| Drop1 |
| PushNull |
| ReturnTOS |
| } |
| Nullable fields: [#lib::A::foo1 (field), #lib::A::foo2 (field)] |
| ConstantPool { |
| [0] = InstanceField #lib::A::foo3 (field) |
| [1] = Reserved |
| [2] = InstanceField #lib::A::foo5 (field) |
| [3] = Reserved |
| [4] = InstanceField #lib::A::foo4 (field) |
| [5] = Reserved |
| [6] = DirectCall 'dart:core::Object:: (constructor)', ArgDesc num-args 1, num-type-args 0, names [] |
| [7] = Reserved |
| } |
| |
| |
| Function 'constr2', constructor, reflectable, debuggable |
| parameters [dart:core::int 'x', dart:core::int 'y'] (required: 2) |
| return-type #lib::A |
| |
| |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| 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] |
| DirectCall 1, CP#6 |
| Drop1 |
| PushNull |
| ReturnTOS |
| } |
| Nullable fields: [#lib::A::foo2 (field), #lib::A::foo4 (field)] |
| ConstantPool { |
| [0] = InstanceField #lib::A::foo3 (field) |
| [1] = Reserved |
| [2] = InstanceField #lib::A::foo5 (field) |
| [3] = Reserved |
| [4] = InstanceField #lib::A::foo1 (field) |
| [5] = Reserved |
| [6] = DirectCall 'dart:core::Object:: (constructor)', ArgDesc num-args 1, num-type-args 0, names [] |
| [7] = Reserved |
| } |
| |
| |
| Function 'redirecting1', constructor, reflectable, debuggable |
| parameters [] (required: 0) |
| return-type #lib::A |
| |
| |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| Push FP[-5] |
| PushInt 45 |
| DirectCall 2, CP#0 |
| Drop1 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = DirectCall '#lib::A:: (constructor)', ArgDesc num-args 2, num-type-args 0, names [] |
| [1] = Reserved |
| } |
| |
| |
| Function 'redirecting2', constructor, reflectable, debuggable |
| parameters [dart:core::int 'a', dart:core::int 'b', dart:core::int 'c'] (required: 3) |
| return-type #lib::A |
| |
| |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| Push FP[-8] |
| Push FP[-7] |
| Push FP[-6] |
| Push FP[-5] |
| MulInt |
| DirectCall 3, CP#0 |
| Drop1 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = DirectCall '#lib::A::constr2 (constructor)', ArgDesc num-args 3, num-type-args 0, names [] |
| [1] = Reserved |
| } |
| |
| } |
| |
| } |
| ] class A extends dart.core::Object { |
| field dart.core::int foo1; |
| field dart.core::int foo2 = null; |
| field dart.core::int foo3 = 42; |
| field dart.core::int foo4; |
| field dart.core::int foo5 = 43; |
| constructor •(dart.core::int foo4) → #lib::A |
| : #lib::A::foo1 = null, #lib::A::foo4 = foo4, #lib::A::foo5 = 44, super dart.core::Object::•() |
| ; |
| constructor constr2(dart.core::int x, dart.core::int y) → #lib::A |
| : #lib::A::foo4 = null, #lib::A::foo1 = x, #lib::A::foo5 = y.{dart.core::num::+}(1), super dart.core::Object::•() |
| ; |
| constructor redirecting1() → #lib::A |
| : this #lib::A::•(45) |
| ; |
| constructor redirecting2(dart.core::int a, dart.core::int b, dart.core::int c) → #lib::A |
| : this #lib::A::constr2(a, b.{dart.core::num::*}(c)) |
| ; |
| } |
| [@vm.bytecode= |
| MembersBytecodeMetadata { |
| |
| Members { |
| Field 'foo6', type = dart:core::int, getter = 'get:foo6', setter = 'set:foo6', reflectable |
| value = const 46 |
| |
| Field 'foo7', type = dart:core::int, reflectable, static |
| value = const 47 |
| |
| Field 'foo8', type = dart:core::int, reflectable, static, const, final |
| value = const 48 |
| |
| Function '', constructor, reflectable, debuggable |
| parameters [] (required: 0) |
| return-type #lib::B |
| |
| |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| Push FP[-5] |
| PushInt 46 |
| StoreFieldTOS CP#0 |
| Push FP[-5] |
| PushInt 49 |
| DirectCall 2, CP#2 |
| Drop1 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = InstanceField #lib::B::foo6 (field) |
| [1] = Reserved |
| [2] = DirectCall '#lib::A:: (constructor)', ArgDesc num-args 2, num-type-args 0, names [] |
| [3] = Reserved |
| } |
| |
| |
| Function 'c2', constructor, reflectable, debuggable |
| parameters [dart:core::int 'i', dart:core::int 'j'] (required: 2) |
| return-type #lib::B |
| |
| |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| 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 |
| DirectCall 4, CP#2 |
| Drop1 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = InstanceField #lib::B::foo6 (field) |
| [1] = Reserved |
| [2] = DirectCall '#lib::A::redirecting2 (constructor)', ArgDesc num-args 4, num-type-args 0, names [] |
| [3] = Reserved |
| } |
| |
| } |
| |
| } |
| ] class B extends #lib::A { |
| field dart.core::int foo6 = 46; |
| static field dart.core::int foo7 = 47; |
| static const field dart.core::int foo8 = #C1; |
| constructor •() → #lib::B |
| : super #lib::A::•(49) |
| ; |
| constructor c2(dart.core::int i, dart.core::int j) → #lib::B |
| : #lib::B::foo6 = 50, super #lib::A::redirecting2(i, j, 51) |
| ; |
| } |
| static method main() → dynamic {} |
| } |
| constants { |
| #C1 = 48 |
| } |