81b669dc45
TEST=existing Change-Id: I94ffff0ca5d891b43e0bc7b64d78eb0c03e3dd12 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/404103 Reviewed-by: Alexander Markov <alexmarkov@google.com> Commit-Queue: Johnni Winther <johnniwinther@google.com> Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
734 lines
23 KiB
Plaintext
734 lines
23 KiB
Plaintext
Bytecode
|
|
Dynamic Module Entry Point: DART_SDK/pkg/dart2bytecode/testcases/literals.dart::main
|
|
Library 'DART_SDK/pkg/dart2bytecode/testcases/literals.dart'
|
|
name '#lib'
|
|
script 'DART_SDK/pkg/dart2bytecode/testcases/literals.dart'
|
|
|
|
Class '', script = 'DART_SDK/pkg/dart2bytecode/testcases/literals.dart'
|
|
|
|
Field 'c1', type = DART_SDK/pkg/dart2bytecode/testcases/literals.dart::A, getter = 'get:c1', reflectable, static, const, final, is-late, has-initializer
|
|
initializer
|
|
Bytecode {
|
|
Entry 0
|
|
CheckStack 0
|
|
PushConstant CP#0
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = ObjectRef const DART_SDK/pkg/dart2bytecode/testcases/literals.dart::A {dart:core::_Enum::index (field): const 2, dart:core::_Enum::_name (field): 'elem3'}
|
|
}
|
|
|
|
|
|
Field 'c2', type = dart:core::String, reflectable, static, const, final, is-late, has-initializer
|
|
value = 'hello!'
|
|
|
|
Field 'c3', type = dart:core::int, reflectable, static, const, final, is-late, has-initializer
|
|
value = const 6
|
|
|
|
Field 'c4', type = DART_SDK/pkg/dart2bytecode/testcases/literals.dart::C, getter = 'get:c4', reflectable, static, const, final, is-late, has-initializer
|
|
initializer
|
|
Bytecode {
|
|
Entry 0
|
|
CheckStack 0
|
|
PushConstant CP#0
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = ObjectRef const DART_SDK/pkg/dart2bytecode/testcases/literals.dart::C {DART_SDK/pkg/dart2bytecode/testcases/literals.dart::C::j (field): const 3, DART_SDK/pkg/dart2bytecode/testcases/literals.dart::B::i (field): const 15}
|
|
}
|
|
|
|
|
|
Field 'c5', type = DART_SDK/pkg/dart2bytecode/testcases/literals.dart::D, getter = 'get:c5', reflectable, static, const, final, is-late, has-initializer
|
|
initializer
|
|
Bytecode {
|
|
Entry 0
|
|
CheckStack 0
|
|
PushConstant CP#0
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = ObjectRef const DART_SDK/pkg/dart2bytecode/testcases/literals.dart::D {DART_SDK/pkg/dart2bytecode/testcases/literals.dart::D::x (field): const DART_SDK/pkg/dart2bytecode/testcases/literals.dart::B {DART_SDK/pkg/dart2bytecode/testcases/literals.dart::B::i (field): const 4}, DART_SDK/pkg/dart2bytecode/testcases/literals.dart::D::y (field): null}
|
|
}
|
|
|
|
|
|
Field 'fieldWithDoubleLiteralInitializer', type = dart:core::double, reflectable, static, is-late, has-initializer
|
|
value = const 1.0
|
|
|
|
Function 'testConstants1', static, reflectable, debuggable
|
|
parameters [] (required: 0)
|
|
return-type void
|
|
|
|
Bytecode {
|
|
Entry 0
|
|
CheckStack 0
|
|
PushConstant CP#0
|
|
DirectCall CP#1, 1
|
|
Drop1
|
|
PushConstant CP#3
|
|
DirectCall CP#1, 1
|
|
Drop1
|
|
PushInt 6
|
|
DirectCall CP#1, 1
|
|
Drop1
|
|
PushConstant CP#4
|
|
DirectCall CP#1, 1
|
|
Drop1
|
|
PushConstant CP#5
|
|
DirectCall CP#1, 1
|
|
Drop1
|
|
PushNull
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = ObjectRef const DART_SDK/pkg/dart2bytecode/testcases/literals.dart::A {dart:core::_Enum::index (field): const 2, dart:core::_Enum::_name (field): 'elem3'}
|
|
[1] = DirectCall 'dart:core::print', ArgDesc num-args 1, num-type-args 0, names []
|
|
[2] = Reserved
|
|
[3] = ObjectRef 'hello!'
|
|
[4] = ObjectRef const DART_SDK/pkg/dart2bytecode/testcases/literals.dart::C {DART_SDK/pkg/dart2bytecode/testcases/literals.dart::C::j (field): const 3, DART_SDK/pkg/dart2bytecode/testcases/literals.dart::B::i (field): const 15}
|
|
[5] = ObjectRef const DART_SDK/pkg/dart2bytecode/testcases/literals.dart::D {DART_SDK/pkg/dart2bytecode/testcases/literals.dart::D::x (field): const DART_SDK/pkg/dart2bytecode/testcases/literals.dart::B {DART_SDK/pkg/dart2bytecode/testcases/literals.dart::B::i (field): const 4}, DART_SDK/pkg/dart2bytecode/testcases/literals.dart::D::y (field): null}
|
|
}
|
|
|
|
|
|
Function 'testConstants2', static, reflectable, debuggable
|
|
parameters [] (required: 0)
|
|
return-type void
|
|
|
|
Bytecode {
|
|
Entry 0
|
|
CheckStack 0
|
|
PushInt 42
|
|
DirectCall CP#0, 1
|
|
Drop1
|
|
PushConstant CP#2
|
|
DirectCall CP#0, 1
|
|
Drop1
|
|
PushConstant CP#3
|
|
DirectCall CP#0, 1
|
|
Drop1
|
|
PushConstant CP#4
|
|
DirectCall CP#0, 1
|
|
Drop1
|
|
PushConstant CP#5
|
|
DirectCall CP#0, 1
|
|
Drop1
|
|
PushConstant CP#6
|
|
DirectCall CP#0, 1
|
|
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 DART_SDK/pkg/dart2bytecode/testcases/literals.dart::A {dart:core::_Enum::index (field): const 1, dart:core::_Enum::_name (field): 'elem2'}
|
|
[4] = ObjectRef const List<dart:core::Object> [const 42, 'foo', dart:core::int]
|
|
[5] = ObjectRef const Map<dart:core::Map < dart:core::String, DART_SDK/pkg/dart2bytecode/testcases/literals.dart::A >> ['E2', const DART_SDK/pkg/dart2bytecode/testcases/literals.dart::A {dart:core::_Enum::index (field): const 1, dart:core::_Enum::_name (field): 'elem2'}, 'E4', const DART_SDK/pkg/dart2bytecode/testcases/literals.dart::A {dart:core::_Enum::index (field): const 3, dart:core::_Enum::_name (field): 'elem4'}]
|
|
[6] = ObjectRef const DART_SDK/pkg/dart2bytecode/testcases/literals.dart::D {DART_SDK/pkg/dart2bytecode/testcases/literals.dart::D::x (field): const DART_SDK/pkg/dart2bytecode/testcases/literals.dart::C {DART_SDK/pkg/dart2bytecode/testcases/literals.dart::C::j (field): const 9, DART_SDK/pkg/dart2bytecode/testcases/literals.dart::B::i (field): const 30}, DART_SDK/pkg/dart2bytecode/testcases/literals.dart::D::y (field): const Map<dart:core::Map < dart:core::String, dart:core::Object >> ['foo', const 42, 'bar', const DART_SDK/pkg/dart2bytecode/testcases/literals.dart::B {DART_SDK/pkg/dart2bytecode/testcases/literals.dart::B::i (field): const 6}]}
|
|
}
|
|
|
|
|
|
Function 'testListLiteral', static, reflectable, debuggable
|
|
parameters [dart:core::int 'a'] (required: 1)
|
|
return-type void
|
|
|
|
Bytecode {
|
|
Entry 0
|
|
CheckStack 0
|
|
PushConstant CP#0
|
|
PushInt 1
|
|
Push FP[-5]
|
|
PushInt 3
|
|
DirectCall CP#1, 4
|
|
DirectCall CP#3, 1
|
|
Drop1
|
|
PushConstant CP#5
|
|
PushConstant CP#6
|
|
Push FP[-5]
|
|
InterfaceCall CP#7, 1
|
|
PushConstant CP#9
|
|
DirectCall CP#1, 4
|
|
DirectCall CP#3, 1
|
|
Drop1
|
|
PushNull
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = ObjectRef < dart:core::int >
|
|
[1] = DirectCall 'dart:core::_GrowableList::_literal3 (constructor)', ArgDesc num-args 4, 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 'testMapLiteral', static, reflectable, debuggable
|
|
type-params <'T' extends dart:core::Object? (default dynamic)>
|
|
parameters [dart:core::int 'a', dart:core::int 'b', DART_SDK/pkg/dart2bytecode/testcases/literals.dart::testMapLiteral::TypeParam/0 'c'] (required: 3)
|
|
return-type void
|
|
|
|
Bytecode {
|
|
Entry 2
|
|
CheckFunctionTypeArgs 1, r0
|
|
CheckStack 0
|
|
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 CP#2, 2
|
|
DirectCall CP#4, 1
|
|
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 CP#8, 1
|
|
StoreIndexedTOS
|
|
Push r1
|
|
PushInt 3
|
|
PushInt 3
|
|
StoreIndexedTOS
|
|
DirectCall CP#2, 2
|
|
DirectCall CP#4, 1
|
|
Drop1
|
|
PushNull
|
|
Push r0
|
|
InstantiateTypeArgumentsTOS 0, CP#10
|
|
PushConstant CP#11
|
|
DirectCall CP#2, 2
|
|
DirectCall CP#4, 1
|
|
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 CP#2, 2
|
|
DirectCall CP#4, 1
|
|
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, DART_SDK/pkg/dart2bytecode/testcases/literals.dart::testMapLiteral::TypeParam/0 >
|
|
[11] = ObjectRef const List<dynamic> []
|
|
[12] = ObjectRef < DART_SDK/pkg/dart2bytecode/testcases/literals.dart::testMapLiteral::TypeParam/0, dart:core::int >
|
|
}
|
|
|
|
|
|
Function 'testSetLiteral', static, reflectable, debuggable
|
|
type-params <'T' extends dart:core::Object? (default dynamic)>
|
|
parameters [dart:core::int 'a', dart:core::int 'b'] (required: 2)
|
|
return-type void
|
|
|
|
Bytecode {
|
|
Entry 3
|
|
CheckFunctionTypeArgs 1, r0
|
|
CheckStack 0
|
|
PushConstant CP#1
|
|
PushConstant CP#0
|
|
AllocateT
|
|
StoreLocal r2
|
|
Push r2
|
|
DirectCall CP#2, 1
|
|
Drop1
|
|
PopLocal r1
|
|
Push r1
|
|
PushInt 1
|
|
UncheckedInterfaceCall CP#4, 2
|
|
Drop1
|
|
Push r1
|
|
PushInt 2
|
|
UncheckedInterfaceCall CP#4, 2
|
|
Drop1
|
|
Push r1
|
|
Push FP[-6]
|
|
UncheckedInterfaceCall CP#4, 2
|
|
Drop1
|
|
Push r1
|
|
DirectCall CP#6, 1
|
|
Drop1
|
|
PushConstant CP#8
|
|
PushConstant CP#0
|
|
AllocateT
|
|
StoreLocal r2
|
|
Push r2
|
|
DirectCall CP#2, 1
|
|
Drop1
|
|
PopLocal r1
|
|
Push r1
|
|
PushConstant CP#9
|
|
UncheckedInterfaceCall CP#4, 2
|
|
Drop1
|
|
Push r1
|
|
Push FP[-5]
|
|
InterfaceCall CP#10, 1
|
|
UncheckedInterfaceCall CP#4, 2
|
|
Drop1
|
|
Push r1
|
|
DirectCall CP#6, 1
|
|
Drop1
|
|
Push r0
|
|
PushConstant CP#0
|
|
AllocateT
|
|
StoreLocal r2
|
|
Push r2
|
|
DirectCall CP#2, 1
|
|
Drop1
|
|
PopLocal r1
|
|
Push r1
|
|
DirectCall CP#6, 1
|
|
Drop1
|
|
PushNull
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = Class dart:_compact_hash::_Set
|
|
[1] = ObjectRef < dart:core::int >
|
|
[2] = DirectCall 'dart:_compact_hash::_Set:: (constructor)', ArgDesc num-args 1, num-type-args 0, names []
|
|
[3] = Reserved
|
|
[4] = InterfaceCall 'dart:core::Set::add', ArgDesc num-args 2, num-type-args 0, names []
|
|
[5] = Reserved
|
|
[6] = DirectCall 'dart:core::print', ArgDesc num-args 1, num-type-args 0, names []
|
|
[7] = Reserved
|
|
[8] = ObjectRef < dart:core::String >
|
|
[9] = ObjectRef 'foo'
|
|
[10] = InterfaceCall 'dart:core::int::toString', ArgDesc num-args 1, num-type-args 0, names []
|
|
[11] = Reserved
|
|
}
|
|
|
|
|
|
Function 'testSymbol', static, reflectable, debuggable
|
|
parameters [] (required: 0)
|
|
return-type void
|
|
|
|
Bytecode {
|
|
Entry 0
|
|
CheckStack 0
|
|
PushConstant CP#0
|
|
DirectCall CP#1, 1
|
|
Drop1
|
|
PushConstant CP#3
|
|
DirectCall CP#1, 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 'testTypeLiteral', static, reflectable, debuggable
|
|
type-params <'T' extends dart:core::Object? (default dynamic)>
|
|
parameters [] (required: 0)
|
|
return-type void
|
|
|
|
Bytecode {
|
|
Entry 1
|
|
CheckFunctionTypeArgs 1, r0
|
|
CheckStack 0
|
|
PushConstant CP#0
|
|
DirectCall CP#1, 1
|
|
Drop1
|
|
PushNull
|
|
Push r0
|
|
InstantiateType CP#3
|
|
DirectCall CP#1, 1
|
|
Drop1
|
|
PushNull
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = ObjectRef dart:core::String
|
|
[1] = DirectCall 'dart:core::print', ArgDesc num-args 1, num-type-args 0, names []
|
|
[2] = Reserved
|
|
[3] = Type DART_SDK/pkg/dart2bytecode/testcases/literals.dart::testTypeLiteral::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 DART_SDK/pkg/dart2bytecode/testcases/literals.dart::F < 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] = ObjectRef FunctionType <'X' extends dart:core::Object? (default dynamic)> (null::TypeParam/0) -> null::TypeParam/0
|
|
}
|
|
|
|
|
|
Function 'testFieldWithDoubleLiteralInitializer', static, reflectable, debuggable
|
|
parameters [] (required: 0)
|
|
return-type dynamic
|
|
|
|
Bytecode {
|
|
Entry 0
|
|
CheckStack 0
|
|
LoadStatic CP#0
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = StaticField DART_SDK/pkg/dart2bytecode/testcases/literals.dart::fieldWithDoubleLiteralInitializer (field)
|
|
}
|
|
|
|
|
|
Function 'main', static, reflectable, debuggable
|
|
parameters [] (required: 0)
|
|
return-type dynamic
|
|
|
|
Bytecode {
|
|
Entry 0
|
|
CheckStack 0
|
|
PushNull
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
}
|
|
|
|
Class 'A', script = 'DART_SDK/pkg/dart2bytecode/testcases/literals.dart', enum
|
|
extends dart:core::_Enum
|
|
|
|
Field 'elem1', type = DART_SDK/pkg/dart2bytecode/testcases/literals.dart::A, getter = 'get:elem1', reflectable, static, const, final, is-late, has-initializer
|
|
initializer
|
|
Bytecode {
|
|
Entry 0
|
|
CheckStack 0
|
|
PushConstant CP#0
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = ObjectRef const DART_SDK/pkg/dart2bytecode/testcases/literals.dart::A {dart:core::_Enum::index (field): const 0, dart:core::_Enum::_name (field): 'elem1'}
|
|
}
|
|
|
|
|
|
Field 'elem2', type = DART_SDK/pkg/dart2bytecode/testcases/literals.dart::A, getter = 'get:elem2', reflectable, static, const, final, is-late, has-initializer
|
|
initializer
|
|
Bytecode {
|
|
Entry 0
|
|
CheckStack 0
|
|
PushConstant CP#0
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = ObjectRef const DART_SDK/pkg/dart2bytecode/testcases/literals.dart::A {dart:core::_Enum::index (field): const 1, dart:core::_Enum::_name (field): 'elem2'}
|
|
}
|
|
|
|
|
|
Field 'elem3', type = DART_SDK/pkg/dart2bytecode/testcases/literals.dart::A, getter = 'get:elem3', reflectable, static, const, final, is-late, has-initializer
|
|
initializer
|
|
Bytecode {
|
|
Entry 0
|
|
CheckStack 0
|
|
PushConstant CP#0
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = ObjectRef const DART_SDK/pkg/dart2bytecode/testcases/literals.dart::A {dart:core::_Enum::index (field): const 2, dart:core::_Enum::_name (field): 'elem3'}
|
|
}
|
|
|
|
|
|
Field 'elem4', type = DART_SDK/pkg/dart2bytecode/testcases/literals.dart::A, getter = 'get:elem4', reflectable, static, const, final, is-late, has-initializer
|
|
initializer
|
|
Bytecode {
|
|
Entry 0
|
|
CheckStack 0
|
|
PushConstant CP#0
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = ObjectRef const DART_SDK/pkg/dart2bytecode/testcases/literals.dart::A {dart:core::_Enum::index (field): const 3, dart:core::_Enum::_name (field): 'elem4'}
|
|
}
|
|
|
|
|
|
Field 'values', type = dart:core::List < DART_SDK/pkg/dart2bytecode/testcases/literals.dart::A >, getter = 'get:values', reflectable, static, const, final, is-late, has-initializer
|
|
initializer
|
|
Bytecode {
|
|
Entry 0
|
|
CheckStack 0
|
|
PushConstant CP#0
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = ObjectRef const List<DART_SDK/pkg/dart2bytecode/testcases/literals.dart::A> [const DART_SDK/pkg/dart2bytecode/testcases/literals.dart::A {dart:core::_Enum::index (field): const 0, dart:core::_Enum::_name (field): 'elem1'}, const DART_SDK/pkg/dart2bytecode/testcases/literals.dart::A {dart:core::_Enum::index (field): const 1, dart:core::_Enum::_name (field): 'elem2'}, const DART_SDK/pkg/dart2bytecode/testcases/literals.dart::A {dart:core::_Enum::index (field): const 2, dart:core::_Enum::_name (field): 'elem3'}, const DART_SDK/pkg/dart2bytecode/testcases/literals.dart::A {dart:core::_Enum::index (field): const 3, dart:core::_Enum::_name (field): 'elem4'}]
|
|
}
|
|
|
|
|
|
Function '', constructor, const, reflectable
|
|
parameters [dart:core::int '#index', dart:core::String '#name'] (required: 2)
|
|
return-type DART_SDK/pkg/dart2bytecode/testcases/literals.dart::A
|
|
|
|
Bytecode {
|
|
Entry 0
|
|
CheckStack 0
|
|
Push FP[-7]
|
|
Push FP[-6]
|
|
Push FP[-5]
|
|
DirectCall CP#0, 3
|
|
Drop1
|
|
PushNull
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = DirectCall 'dart:core::_Enum:: (constructor)', ArgDesc num-args 3, num-type-args 0, names []
|
|
[1] = Reserved
|
|
}
|
|
|
|
|
|
Function '_enumToString', reflectable, debuggable
|
|
parameters [] (required: 0)
|
|
return-type dart:core::String
|
|
|
|
Bytecode {
|
|
Entry 1
|
|
CheckStack 0
|
|
PushNull
|
|
PushInt 2
|
|
CreateArrayTOS
|
|
StoreLocal r0
|
|
Push r0
|
|
PushInt 0
|
|
PushConstant CP#0
|
|
StoreIndexedTOS
|
|
Push r0
|
|
PushInt 1
|
|
Push FP[-5]
|
|
InterfaceCall CP#1, 1
|
|
StoreIndexedTOS
|
|
DirectCall CP#3, 1
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = ObjectRef 'A.'
|
|
[1] = InterfaceCall 'dart:core::_Enum::get:_name', ArgDesc num-args 1, num-type-args 0, names []
|
|
[2] = Reserved
|
|
[3] = DirectCall 'dart:core::_StringBase::_interpolate', ArgDesc num-args 1, num-type-args 0, names []
|
|
[4] = Reserved
|
|
}
|
|
|
|
Class 'B', script = 'DART_SDK/pkg/dart2bytecode/testcases/literals.dart'
|
|
extends dart:core::Object
|
|
|
|
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 DART_SDK/pkg/dart2bytecode/testcases/literals.dart::B
|
|
|
|
Bytecode {
|
|
Entry 0
|
|
CheckStack 0
|
|
Push FP[-6]
|
|
Push FP[-5]
|
|
StoreFieldTOS CP#0
|
|
Push FP[-6]
|
|
DirectCall CP#2, 1
|
|
Drop1
|
|
PushNull
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = InstanceField DART_SDK/pkg/dart2bytecode/testcases/literals.dart::B::i (field)
|
|
[1] = Reserved
|
|
[2] = DirectCall 'dart:core::Object:: (constructor)', ArgDesc num-args 1, num-type-args 0, names []
|
|
[3] = Reserved
|
|
}
|
|
|
|
Class 'C', script = 'DART_SDK/pkg/dart2bytecode/testcases/literals.dart'
|
|
extends DART_SDK/pkg/dart2bytecode/testcases/literals.dart::B
|
|
|
|
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 DART_SDK/pkg/dart2bytecode/testcases/literals.dart::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 CP#2, 2
|
|
Drop1
|
|
PushNull
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = InstanceField DART_SDK/pkg/dart2bytecode/testcases/literals.dart::C::j (field)
|
|
[1] = Reserved
|
|
[2] = DirectCall 'DART_SDK/pkg/dart2bytecode/testcases/literals.dart::B:: (constructor)', ArgDesc num-args 2, num-type-args 0, names []
|
|
[3] = Reserved
|
|
}
|
|
|
|
Class 'D', script = 'DART_SDK/pkg/dart2bytecode/testcases/literals.dart'
|
|
extends dart:core::Object
|
|
|
|
Field 'x', type = dart:core::Object?, getter = 'get:x', reflectable, final
|
|
value = null
|
|
|
|
Field 'y', type = dart:core::Object?, getter = 'get:y', reflectable, final
|
|
value = null
|
|
|
|
Function '', constructor, const, has-optional-positional-params, reflectable, debuggable
|
|
parameters [dart:core::Object? 'x', dart:core::Object? 'y'] (required: 1)
|
|
return-type DART_SDK/pkg/dart2bytecode/testcases/literals.dart::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 CP#5, 1
|
|
Drop1
|
|
PushNull
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = ObjectRef null
|
|
[1] = InstanceField DART_SDK/pkg/dart2bytecode/testcases/literals.dart::D::x (field)
|
|
[2] = Reserved
|
|
[3] = InstanceField DART_SDK/pkg/dart2bytecode/testcases/literals.dart::D::y (field)
|
|
[4] = Reserved
|
|
[5] = DirectCall 'dart:core::Object:: (constructor)', ArgDesc num-args 1, num-type-args 0, names []
|
|
[6] = Reserved
|
|
}
|
|
|
|
Class 'E', script = 'DART_SDK/pkg/dart2bytecode/testcases/literals.dart'
|
|
type-params <'T' extends dart:core::Object? (default dynamic)> (args: 1)
|
|
extends dart:core::Object
|
|
|
|
|
|
Function '', constructor, const, reflectable, debuggable
|
|
parameters [] (required: 0)
|
|
return-type DART_SDK/pkg/dart2bytecode/testcases/literals.dart::E < DART_SDK/pkg/dart2bytecode/testcases/literals.dart::E::TypeParam/0 >
|
|
|
|
Bytecode {
|
|
Entry 0
|
|
CheckStack 0
|
|
Push FP[-5]
|
|
DirectCall CP#0, 1
|
|
Drop1
|
|
PushNull
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = DirectCall 'dart:core::Object:: (constructor)', ArgDesc num-args 1, num-type-args 0, names []
|
|
[1] = Reserved
|
|
}
|
|
|
|
Class 'F', script = 'DART_SDK/pkg/dart2bytecode/testcases/literals.dart'
|
|
type-params <'P' extends dart:core::Object? (default dynamic), 'Q' extends dart:core::Object? (default dynamic)> (args: 3)
|
|
extends DART_SDK/pkg/dart2bytecode/testcases/literals.dart::E < dart:core::Map < DART_SDK/pkg/dart2bytecode/testcases/literals.dart::F::TypeParam/0, DART_SDK/pkg/dart2bytecode/testcases/literals.dart::F::TypeParam/1 > >
|
|
|
|
|
|
Function '', constructor, const, reflectable, debuggable
|
|
parameters [] (required: 0)
|
|
return-type DART_SDK/pkg/dart2bytecode/testcases/literals.dart::F < DART_SDK/pkg/dart2bytecode/testcases/literals.dart::F::TypeParam/0, DART_SDK/pkg/dart2bytecode/testcases/literals.dart::F::TypeParam/1 >
|
|
|
|
Bytecode {
|
|
Entry 0
|
|
CheckStack 0
|
|
Push FP[-5]
|
|
DirectCall CP#0, 1
|
|
Drop1
|
|
PushNull
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = DirectCall 'DART_SDK/pkg/dart2bytecode/testcases/literals.dart::E:: (constructor)', ArgDesc num-args 1, num-type-args 0, names []
|
|
[1] = Reserved
|
|
}
|
|
|