| main = #lib::main; |
| [@vm.bytecode= |
| ComponentBytecodeMetadata { |
| |
| Bytecode (version: stable) |
| Main library: #lib |
| |
| } |
| ] [@vm.bytecode= |
| MembersBytecodeMetadata { |
| |
| Members { |
| Field 'c1', type = #lib::A, getter = 'get:c1', reflectable, static, const, final |
| initializer |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| PushConstant CP#0 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = ObjectRef const #lib::A {#lib::A::index (field): const 2, #lib::A::_name (field): 'A.elem3'} |
| } |
| |
| |
| Field 'c2', type = dart:core::String, reflectable, static, const, final |
| value = 'hello!' |
| |
| Field 'c3', type = dart:core::int, reflectable, static, const, final |
| value = const 6 |
| |
| Field 'c4', type = #lib::C, getter = 'get:c4', reflectable, static, const, final |
| initializer |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| PushConstant CP#0 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = ObjectRef const #lib::C {#lib::C::j (field): const 3, #lib::B::i (field): const 15} |
| } |
| |
| |
| Field 'c5', type = #lib::D, getter = 'get:c5', reflectable, static, const, final |
| initializer |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| PushConstant CP#0 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = ObjectRef const #lib::D {#lib::D::x (field): const #lib::B {#lib::B::i (field): const 4}, #lib::D::y (field): null} |
| } |
| |
| |
| Field 'fieldWithDoubleLiteralInitializer', type = dart:core::double, reflectable, static |
| value = const 1.0 |
| |
| Function 'test_constants1', static, reflectable, debuggable |
| parameters [] (required: 0) |
| return-type void |
| |
| |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| PushConstant CP#0 |
| DirectCall 1, CP#1 |
| Drop1 |
| PushConstant CP#3 |
| DirectCall 1, CP#1 |
| Drop1 |
| PushInt 6 |
| DirectCall 1, CP#1 |
| Drop1 |
| PushConstant CP#4 |
| DirectCall 1, CP#1 |
| Drop1 |
| PushConstant CP#5 |
| DirectCall 1, CP#1 |
| Drop1 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = ObjectRef const #lib::A {#lib::A::index (field): const 2, #lib::A::_name (field): 'A.elem3'} |
| [1] = DirectCall 'dart:core::print', ArgDesc num-args 1, num-type-args 0, names [] |
| [2] = Reserved |
| [3] = ObjectRef 'hello!' |
| [4] = ObjectRef const #lib::C {#lib::C::j (field): const 3, #lib::B::i (field): const 15} |
| [5] = ObjectRef const #lib::D {#lib::D::x (field): const #lib::B {#lib::B::i (field): const 4}, #lib::D::y (field): null} |
| } |
| |
| |
| Function 'test_constants2', static, reflectable, debuggable |
| parameters [] (required: 0) |
| return-type void |
| |
| |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| PushInt 42 |
| DirectCall 1, CP#0 |
| Drop1 |
| PushConstant CP#2 |
| DirectCall 1, CP#0 |
| Drop1 |
| PushConstant CP#3 |
| DirectCall 1, CP#0 |
| Drop1 |
| PushConstant CP#4 |
| DirectCall 1, CP#0 |
| Drop1 |
| PushConstant CP#5 |
| DirectCall 1, CP#0 |
| Drop1 |
| PushConstant CP#6 |
| DirectCall 1, CP#0 |
| Drop1 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = DirectCall 'dart:core::print', ArgDesc num-args 1, num-type-args 0, names [] |
| [1] = Reserved |
| [2] = ObjectRef 'foo' |
| [3] = ObjectRef const #lib::A {#lib::A::index (field): const 1, #lib::A::_name (field): 'A.elem2'} |
| [4] = ObjectRef const <dart:core::Object> [const 42, 'foo', dart:core::int] |
| [5] = ObjectRef const dart:core::_ImmutableMap < dart:core::String, #lib::A > {dart:core::_ImmutableMap::_kvPairs (field): const <dynamic> ['E2', const #lib::A {#lib::A::index (field): const 1, #lib::A::_name (field): 'A.elem2'}, 'E4', const #lib::A {#lib::A::index (field): const 3, #lib::A::_name (field): 'A.elem4'}]} |
| [6] = ObjectRef const #lib::D {#lib::D::x (field): const #lib::C {#lib::C::j (field): const 9, #lib::B::i (field): const 30}, #lib::D::y (field): const dart:core::_ImmutableMap < dart:core::String, dart:core::Object > {dart:core::_ImmutableMap::_kvPairs (field): const <dynamic> ['foo', const 42, 'bar', const #lib::B {#lib::B::i (field): const 6}]}} |
| } |
| |
| |
| Function 'test_list_literal', static, reflectable, debuggable |
| parameters [dart:core::int 'a'] (required: 1) |
| return-type void |
| |
| |
| Bytecode { |
| Entry 1 |
| CheckStack 0 |
| PushConstant CP#0 |
| StoreLocal r0 |
| Push r0 |
| PushInt 3 |
| CreateArrayTOS |
| StoreLocal r0 |
| Push r0 |
| PushInt 0 |
| PushInt 1 |
| StoreIndexedTOS |
| Push r0 |
| PushInt 1 |
| Push FP[-5] |
| StoreIndexedTOS |
| Push r0 |
| PushInt 2 |
| PushInt 3 |
| StoreIndexedTOS |
| DirectCall 2, CP#1 |
| DirectCall 1, CP#3 |
| Drop1 |
| PushConstant CP#5 |
| StoreLocal r0 |
| Push r0 |
| PushInt 3 |
| CreateArrayTOS |
| StoreLocal r0 |
| Push r0 |
| PushInt 0 |
| PushConstant CP#6 |
| StoreIndexedTOS |
| Push r0 |
| PushInt 1 |
| Push FP[-5] |
| InterfaceCall 1, CP#7 |
| StoreIndexedTOS |
| Push r0 |
| PushInt 2 |
| PushConstant CP#9 |
| StoreIndexedTOS |
| DirectCall 2, CP#1 |
| DirectCall 1, CP#3 |
| Drop1 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = ObjectRef < dart:core::int > |
| [1] = DirectCall 'dart:core::List::_fromLiteral (constructor)', ArgDesc num-args 2, num-type-args 0, names [] |
| [2] = Reserved |
| [3] = DirectCall 'dart:core::print', ArgDesc num-args 1, num-type-args 0, names [] |
| [4] = Reserved |
| [5] = ObjectRef < dart:core::String > |
| [6] = ObjectRef 'a' |
| [7] = InterfaceCall 'dart:core::int::toString', ArgDesc num-args 1, num-type-args 0, names [] |
| [8] = Reserved |
| [9] = ObjectRef 'b' |
| } |
| |
| |
| Function 'test_map_literal', static, reflectable, debuggable |
| type-params <dart:core::Object T> |
| parameters [dart:core::int 'a', dart:core::int 'b', #lib::test_map_literal::TypeParam/0 'c'] (required: 3) |
| return-type void |
| |
| |
| Bytecode { |
| Entry 2 |
| CheckStack 0 |
| CheckFunctionTypeArgs 1, r0 |
| PushConstant CP#0 |
| PushConstant CP#1 |
| PushInt 4 |
| CreateArrayTOS |
| StoreLocal r1 |
| Push r1 |
| PushInt 0 |
| PushInt 1 |
| StoreIndexedTOS |
| Push r1 |
| PushInt 1 |
| Push FP[-7] |
| StoreIndexedTOS |
| Push r1 |
| PushInt 2 |
| Push FP[-6] |
| StoreIndexedTOS |
| Push r1 |
| PushInt 3 |
| PushInt 2 |
| StoreIndexedTOS |
| DirectCall 2, CP#2 |
| DirectCall 1, CP#4 |
| Drop1 |
| PushConstant CP#6 |
| PushConstant CP#1 |
| PushInt 4 |
| CreateArrayTOS |
| StoreLocal r1 |
| Push r1 |
| PushInt 0 |
| PushConstant CP#7 |
| StoreIndexedTOS |
| Push r1 |
| PushInt 1 |
| Push FP[-7] |
| StoreIndexedTOS |
| Push r1 |
| PushInt 2 |
| Push FP[-6] |
| InterfaceCall 1, CP#8 |
| StoreIndexedTOS |
| Push r1 |
| PushInt 3 |
| PushInt 3 |
| StoreIndexedTOS |
| DirectCall 2, CP#2 |
| DirectCall 1, CP#4 |
| Drop1 |
| PushNull |
| Push r0 |
| InstantiateTypeArgumentsTOS 0, CP#10 |
| PushConstant CP#11 |
| DirectCall 2, CP#2 |
| DirectCall 1, CP#4 |
| Drop1 |
| PushNull |
| Push r0 |
| InstantiateTypeArgumentsTOS 0, CP#12 |
| PushConstant CP#1 |
| PushInt 2 |
| CreateArrayTOS |
| StoreLocal r1 |
| Push r1 |
| PushInt 0 |
| Push FP[-5] |
| StoreIndexedTOS |
| Push r1 |
| PushInt 1 |
| PushInt 4 |
| StoreIndexedTOS |
| DirectCall 2, CP#2 |
| DirectCall 1, CP#4 |
| Drop1 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = ObjectRef < dart:core::int, dart:core::int > |
| [1] = ObjectRef < dynamic > |
| [2] = DirectCall 'dart:core::Map::_fromLiteral (constructor)', ArgDesc num-args 2, num-type-args 0, names [] |
| [3] = Reserved |
| [4] = DirectCall 'dart:core::print', ArgDesc num-args 1, num-type-args 0, names [] |
| [5] = Reserved |
| [6] = ObjectRef < dart:core::String, dart:core::int > |
| [7] = ObjectRef 'foo' |
| [8] = InterfaceCall 'dart:core::int::toString', ArgDesc num-args 1, num-type-args 0, names [] |
| [9] = Reserved |
| [10] = ObjectRef < dart:core::String, #lib::test_map_literal::TypeParam/0 > |
| [11] = ObjectRef const <dynamic> [] |
| [12] = ObjectRef < #lib::test_map_literal::TypeParam/0, dart:core::int > |
| } |
| |
| |
| Function 'test_symbol', static, reflectable, debuggable |
| parameters [] (required: 0) |
| return-type void |
| |
| |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| PushConstant CP#0 |
| DirectCall 1, CP#1 |
| Drop1 |
| PushConstant CP#3 |
| DirectCall 1, CP#1 |
| Drop1 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = ObjectRef const 'test_symbol' |
| [1] = DirectCall 'dart:core::print', ArgDesc num-args 1, num-type-args 0, names [] |
| [2] = Reserved |
| [3] = ObjectRef const '_private_symbol' |
| } |
| |
| |
| Function 'test_type_literal', static, reflectable, debuggable |
| type-params <dart:core::Object T> |
| parameters [] (required: 0) |
| return-type void |
| |
| |
| Bytecode { |
| Entry 1 |
| CheckStack 0 |
| CheckFunctionTypeArgs 1, r0 |
| PushConstant CP#0 |
| DirectCall 1, CP#1 |
| Drop1 |
| PushNull |
| Push r0 |
| InstantiateType CP#3 |
| DirectCall 1, CP#1 |
| Drop1 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = Type dart:core::String |
| [1] = DirectCall 'dart:core::print', ArgDesc num-args 1, num-type-args 0, names [] |
| [2] = Reserved |
| [3] = Type #lib::test_type_literal::TypeParam/0 |
| } |
| |
| |
| Function 'testGenericConstInstance', static, reflectable, debuggable |
| parameters [] (required: 0) |
| return-type dynamic |
| |
| |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| PushConstant CP#0 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = ObjectRef const #lib::F < dart:core::Map < dart:core::int, dart:core::String >, dart:core::int, dart:core::String > {} |
| } |
| |
| |
| Function 'testGenericFunctionTypeLiteral', static, reflectable, debuggable |
| parameters [] (required: 0) |
| return-type dynamic |
| |
| |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| PushConstant CP#0 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = Type FunctionType <dart:core::Object X> (null::TypeParam/0) -> null::TypeParam/0 |
| } |
| |
| |
| Function 'testFieldWithDoubleLiteralInitializer', static, reflectable, debuggable |
| parameters [] (required: 0) |
| return-type dynamic |
| |
| |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| PushConstant CP#0 |
| PushStatic CP#0 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = StaticField #lib::fieldWithDoubleLiteralInitializer (field) |
| } |
| |
| |
| 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 { |
| |
| typedef GenericFunctionType = <X extends dart.core::Object = dynamic>(X) → X; |
| [@vm.bytecode= |
| MembersBytecodeMetadata { |
| |
| Members { |
| Field 'index', type = dart:core::int, getter = 'get:index', reflectable, final |
| value = null |
| |
| Field '_name', type = dart:core::String, getter = 'get:_name', reflectable, final |
| value = null |
| |
| Field 'values', type = dart:core::List < #lib::A >, getter = 'get:values', reflectable, static, const, final |
| initializer |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| PushConstant CP#0 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = ObjectRef const <#lib::A> [const #lib::A {#lib::A::index (field): const 0, #lib::A::_name (field): 'A.elem1'}, const #lib::A {#lib::A::index (field): const 1, #lib::A::_name (field): 'A.elem2'}, const #lib::A {#lib::A::index (field): const 2, #lib::A::_name (field): 'A.elem3'}, const #lib::A {#lib::A::index (field): const 3, #lib::A::_name (field): 'A.elem4'}] |
| } |
| |
| |
| Field 'elem1', type = #lib::A, getter = 'get:elem1', reflectable, static, const, final |
| initializer |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| PushConstant CP#0 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = ObjectRef const #lib::A {#lib::A::index (field): const 0, #lib::A::_name (field): 'A.elem1'} |
| } |
| |
| |
| Field 'elem2', type = #lib::A, getter = 'get:elem2', reflectable, static, const, final |
| initializer |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| PushConstant CP#0 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = ObjectRef const #lib::A {#lib::A::index (field): const 1, #lib::A::_name (field): 'A.elem2'} |
| } |
| |
| |
| Field 'elem3', type = #lib::A, getter = 'get:elem3', reflectable, static, const, final |
| initializer |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| PushConstant CP#0 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = ObjectRef const #lib::A {#lib::A::index (field): const 2, #lib::A::_name (field): 'A.elem3'} |
| } |
| |
| |
| Field 'elem4', type = #lib::A, getter = 'get:elem4', reflectable, static, const, final |
| initializer |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| PushConstant CP#0 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = ObjectRef const #lib::A {#lib::A::index (field): const 3, #lib::A::_name (field): 'A.elem4'} |
| } |
| |
| |
| Function '', constructor, const, reflectable, debuggable |
| parameters [dart:core::int 'index', dart:core::String '_name'] (required: 2) |
| return-type #lib::A |
| |
| |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| Push FP[-7] |
| Push FP[-6] |
| StoreFieldTOS CP#0 |
| Push FP[-7] |
| Push FP[-5] |
| StoreFieldTOS CP#2 |
| Push FP[-7] |
| DirectCall 1, CP#4 |
| Drop1 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = InstanceField #lib::A::index (field) |
| [1] = Reserved |
| [2] = InstanceField #lib::A::_name (field) |
| [3] = Reserved |
| [4] = DirectCall 'dart:core::Object:: (constructor)', ArgDesc num-args 1, num-type-args 0, names [] |
| [5] = Reserved |
| } |
| |
| |
| Function 'toString', reflectable, debuggable |
| parameters [] (required: 0) |
| return-type dart:core::String |
| |
| |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| Push FP[-5] |
| DirectCall 1, CP#0 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = DirectCall '#lib::A::get:_name', ArgDesc num-args 1, num-type-args 0, names [] |
| [1] = Reserved |
| } |
| |
| } |
| |
| } |
| ] class A extends dart.core::Object { |
| final field dart.core::int index; |
| final field dart.core::String _name; |
| static const field dart.core::List<#lib::A> values = #C13; |
| static const field #lib::A elem1 = #C3; |
| static const field #lib::A elem2 = #C6; |
| static const field #lib::A elem3 = #C9; |
| static const field #lib::A elem4 = #C12; |
| const constructor •(dart.core::int index, dart.core::String _name) → #lib::A |
| : #lib::A::index = index, #lib::A::_name = _name, super dart.core::Object::•() |
| ; |
| method toString() → dart.core::String |
| return this.{=#lib::A::_name}; |
| } |
| [@vm.bytecode= |
| MembersBytecodeMetadata { |
| |
| Members { |
| Field 'i', type = dart:core::int, getter = 'get:i', reflectable, final |
| value = null |
| |
| Function '', constructor, const, reflectable, debuggable |
| parameters [dart:core::int 'i'] (required: 1) |
| return-type #lib::B |
| |
| |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| Push FP[-6] |
| Push FP[-5] |
| StoreFieldTOS CP#0 |
| Push FP[-6] |
| DirectCall 1, CP#2 |
| Drop1 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = InstanceField #lib::B::i (field) |
| [1] = Reserved |
| [2] = DirectCall 'dart:core::Object:: (constructor)', ArgDesc num-args 1, num-type-args 0, names [] |
| [3] = Reserved |
| } |
| |
| } |
| |
| } |
| ] class B extends dart.core::Object { |
| final field dart.core::int i; |
| const constructor •(dart.core::int i) → #lib::B |
| : #lib::B::i = i, super dart.core::Object::•() |
| ; |
| } |
| [@vm.bytecode= |
| MembersBytecodeMetadata { |
| |
| Members { |
| Field 'j', type = dart:core::int, getter = 'get:j', reflectable, final |
| value = null |
| |
| Function '', constructor, const, reflectable, debuggable |
| parameters [dart:core::int 'a', dart:core::int 'b', dart:core::int 'c'] (required: 3) |
| return-type #lib::C |
| |
| |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| Push FP[-8] |
| Push FP[-7] |
| Push FP[-6] |
| AddInt |
| StoreFieldTOS CP#0 |
| Push FP[-8] |
| Push FP[-5] |
| PushInt 5 |
| MulInt |
| DirectCall 2, CP#2 |
| Drop1 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = InstanceField #lib::C::j (field) |
| [1] = Reserved |
| [2] = DirectCall '#lib::B:: (constructor)', ArgDesc num-args 2, num-type-args 0, names [] |
| [3] = Reserved |
| } |
| |
| } |
| |
| } |
| ] class C extends #lib::B { |
| final field dart.core::int j; |
| const constructor •(dart.core::int a, dart.core::int b, dart.core::int c) → #lib::C |
| : #lib::C::j = a.{dart.core::num::+}(b), super #lib::B::•(c.{dart.core::num::*}(5)) |
| ; |
| } |
| [@vm.bytecode= |
| MembersBytecodeMetadata { |
| |
| Members { |
| Field 'x', type = dynamic, getter = 'get:x', reflectable, final |
| value = null |
| |
| Field 'y', type = dynamic, getter = 'get:y', reflectable, final |
| value = null |
| |
| Function '', constructor, const, has-optional-positional-params, reflectable, debuggable |
| parameters [dynamic 'x', dynamic 'y'] (required: 1) |
| return-type #lib::D |
| |
| |
| Bytecode { |
| EntryOptional 2, 1, 0 |
| LoadConstant r2, CP#0 |
| Frame 0 |
| CheckStack 0 |
| Push r0 |
| Push r1 |
| StoreFieldTOS CP#1 |
| Push r0 |
| Push r2 |
| StoreFieldTOS CP#3 |
| Push r0 |
| DirectCall 1, CP#5 |
| Drop1 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = ObjectRef null |
| [1] = InstanceField #lib::D::x (field) |
| [2] = Reserved |
| [3] = InstanceField #lib::D::y (field) |
| [4] = Reserved |
| [5] = DirectCall 'dart:core::Object:: (constructor)', ArgDesc num-args 1, num-type-args 0, names [] |
| [6] = Reserved |
| } |
| |
| } |
| |
| } |
| ] class D extends dart.core::Object { |
| final field dynamic x; |
| final field dynamic y; |
| const constructor •(dynamic x, [dynamic y = #C14]) → #lib::D |
| : #lib::D::x = x, #lib::D::y = y, super dart.core::Object::•() |
| ; |
| } |
| [@vm.bytecode= |
| MembersBytecodeMetadata { |
| |
| Members { |
| |
| Function '', constructor, const, reflectable, debuggable |
| parameters [] (required: 0) |
| return-type #lib::E < #lib::E::TypeParam/0 > |
| |
| |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| Push FP[-5] |
| DirectCall 1, CP#0 |
| Drop1 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = DirectCall 'dart:core::Object:: (constructor)', ArgDesc num-args 1, num-type-args 0, names [] |
| [1] = Reserved |
| } |
| |
| } |
| |
| } |
| ] class E<T extends dart.core::Object = dynamic> extends dart.core::Object { |
| const constructor •() → #lib::E<#lib::E::T> |
| : super dart.core::Object::•() |
| ; |
| } |
| [@vm.bytecode= |
| MembersBytecodeMetadata { |
| |
| Members { |
| |
| Function '', constructor, const, reflectable, debuggable |
| parameters [] (required: 0) |
| return-type #lib::F < dart:core::Map < #lib::F::TypeParam/0, #lib::F::TypeParam/1 >, #lib::F::TypeParam/0, #lib::F::TypeParam/1 > |
| |
| |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| Push FP[-5] |
| DirectCall 1, CP#0 |
| Drop1 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = DirectCall '#lib::E:: (constructor)', ArgDesc num-args 1, num-type-args 0, names [] |
| [1] = Reserved |
| } |
| |
| } |
| |
| } |
| ] class F<P extends dart.core::Object = dynamic, Q extends dart.core::Object = dynamic> extends #lib::E<dart.core::Map<#lib::F::P, #lib::F::Q>> { |
| const constructor •() → #lib::F<#lib::F::P, #lib::F::Q> |
| : super #lib::E::•() |
| ; |
| } |
| static const field #lib::A c1 = #C9; |
| static const field dart.core::String c2 = #C15; |
| static const field dart.core::int c3 = #C16; |
| static const field #lib::C c4 = #C18; |
| static const field #lib::D c5 = #C21; |
| static field dart.core::double fieldWithDoubleLiteralInitializer = 1.0; |
| static method test_constants1() → void { |
| dart.core::print(#C9); |
| dart.core::print(#C15); |
| dart.core::print(#C16); |
| dart.core::print(#C18); |
| dart.core::print(#C21); |
| } |
| static method test_constants2() → void { |
| dart.core::print(42); |
| dart.core::print("foo"); |
| dart.core::print(#C6); |
| dart.core::print(#C25); |
| dart.core::print(#C29); |
| dart.core::print(#C37); |
| } |
| static method test_list_literal(dart.core::int a) → void { |
| dart.core::print(<dart.core::int>[1, a, 3]); |
| dart.core::print(<dart.core::String>["a", a.{dart.core::int::toString}(), "b"]); |
| } |
| static method test_map_literal<T extends dart.core::Object = dynamic>(dart.core::int a, dart.core::int b, #lib::test_map_literal::T c) → void { |
| dart.core::print(<dart.core::int, dart.core::int>{1: a, b: 2}); |
| dart.core::print(<dart.core::String, dart.core::int>{"foo": a, b.{dart.core::int::toString}(): 3}); |
| dart.core::print(<dart.core::String, #lib::test_map_literal::T>{}); |
| dart.core::print(<#lib::test_map_literal::T, dart.core::int>{c: 4}); |
| } |
| static method test_symbol() → void { |
| dart.core::print(#C38); |
| dart.core::print(#C39); |
| } |
| static method test_type_literal<T extends dart.core::Object = dynamic>() → void { |
| dart.core::print(dart.core::String); |
| dart.core::print(#lib::test_type_literal::T); |
| } |
| static method testGenericConstInstance() → dynamic |
| return #C40; |
| static method testGenericFunctionTypeLiteral() → dynamic |
| return <X extends dart.core::Object = dynamic>(X) → X; |
| static method testFieldWithDoubleLiteralInitializer() → dynamic |
| return #lib::fieldWithDoubleLiteralInitializer; |
| static method main() → dynamic {} |
| } |
| constants { |
| #C1 = 0 |
| #C2 = "A.elem1" |
| #C3 = #lib::A {index: #C1, #lib::_name: #C2} |
| #C4 = 1 |
| #C5 = "A.elem2" |
| #C6 = #lib::A {index: #C4, #lib::_name: #C5} |
| #C7 = 2 |
| #C8 = "A.elem3" |
| #C9 = #lib::A {index: #C7, #lib::_name: #C8} |
| #C10 = 3 |
| #C11 = "A.elem4" |
| #C12 = #lib::A {index: #C10, #lib::_name: #C11} |
| #C13 = ListConstant<#lib::A>(#C3, #C6, #C9, #C12) |
| #C14 = null |
| #C15 = "hello!" |
| #C16 = 6 |
| #C17 = 15 |
| #C18 = #lib::C {j: #C10, i: #C17} |
| #C19 = 4 |
| #C20 = #lib::B {i: #C19} |
| #C21 = #lib::D {x: #C20, y: #C14} |
| #C22 = 42 |
| #C23 = "foo" |
| #C24 = TypeLiteralConstant(dart.core::int) |
| #C25 = ListConstant<dart.core::Object>(#C22, #C23, #C24) |
| #C26 = "E2" |
| #C27 = "E4" |
| #C28 = ListConstant<dynamic>(#C26, #C6, #C27, #C12) |
| #C29 = dart.core::_ImmutableMap<dart.core::String, #lib::A> {dart.core::_kvPairs: #C28} |
| #C30 = 9 |
| #C31 = 30 |
| #C32 = #lib::C {j: #C30, i: #C31} |
| #C33 = "bar" |
| #C34 = #lib::B {i: #C16} |
| #C35 = ListConstant<dynamic>(#C23, #C22, #C33, #C34) |
| #C36 = dart.core::_ImmutableMap<dart.core::String, dart.core::Object> {dart.core::_kvPairs: #C35} |
| #C37 = #lib::D {x: #C32, y: #C36} |
| #C38 = #test_symbol |
| #C39 = ##lib::_private_symbol |
| #C40 = #lib::F<dart.core::int, dart.core::String> {} |
| } |