61b9b42b70
This CL renames a declaration in the test instance_creation.dart: The class `K` is renamed to `L`, and its type parameters are renamed from `A` and `B` to `S` and `T`. The point is that these changes eliminate situations which are linted with the update in https://github.com/dart-lang/linter/issues/5066. Change-Id: Iac6b77dc8cfeebedef98a739817049afba1f41d3 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/382890 Commit-Queue: Erik Ernst <eernst@google.com> Reviewed-by: Alexander Markov <alexmarkov@google.com>
693 lines
24 KiB
Plaintext
693 lines
24 KiB
Plaintext
Bytecode
|
|
Dynamic Module Entry Point: DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::main
|
|
Library 'DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart'
|
|
name '#lib'
|
|
script 'DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart'
|
|
|
|
Class '', script = 'DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart'
|
|
|
|
|
|
Function 'foo1', static, reflectable, debuggable
|
|
parameters [] (required: 0)
|
|
return-type dynamic
|
|
|
|
Bytecode {
|
|
Entry 1
|
|
CheckStack 0
|
|
Allocate CP#0
|
|
StoreLocal r0
|
|
Push r0
|
|
PushConstant CP#1
|
|
DirectCall CP#2, 2
|
|
Drop1
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = Class DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::C
|
|
[1] = ObjectRef 'hello'
|
|
[2] = DirectCall 'DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::C:: (constructor)', ArgDesc num-args 2, num-type-args 0, names []
|
|
[3] = Reserved
|
|
}
|
|
|
|
|
|
Function 'foo2', static, reflectable, debuggable
|
|
parameters [] (required: 0)
|
|
return-type void
|
|
|
|
Bytecode {
|
|
Entry 1
|
|
CheckStack 0
|
|
PushConstant CP#1
|
|
PushConstant CP#0
|
|
AllocateT
|
|
StoreLocal r0
|
|
Push r0
|
|
PushConstant CP#2
|
|
DirectCall CP#3, 2
|
|
Drop1
|
|
Drop1
|
|
PushConstant CP#6
|
|
PushConstant CP#5
|
|
AllocateT
|
|
StoreLocal r0
|
|
Push r0
|
|
DirectCall CP#7, 1
|
|
Drop1
|
|
Drop1
|
|
PushNull
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = Class DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::A
|
|
[1] = ObjectRef < dart:core::int, dart:core::String >
|
|
[2] = ObjectRef 'hi'
|
|
[3] = DirectCall 'DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::A:: (constructor)', ArgDesc num-args 2, num-type-args 0, names []
|
|
[4] = Reserved
|
|
[5] = Class DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::B
|
|
[6] = ObjectRef < dart:core::List < dart:core::int >, dart:core::String, dart:core::int >
|
|
[7] = DirectCall 'DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::B:: (constructor)', ArgDesc num-args 1, num-type-args 0, names []
|
|
[8] = Reserved
|
|
}
|
|
|
|
|
|
Function 'foo3', static, reflectable, debuggable
|
|
type-params <'T' extends dart:core::Object? (default dynamic)>
|
|
parameters [] (required: 0)
|
|
return-type void
|
|
|
|
Bytecode {
|
|
Entry 2
|
|
CheckFunctionTypeArgs 1, r0
|
|
CheckStack 0
|
|
PushNull
|
|
Push r0
|
|
InstantiateTypeArgumentsTOS 0, CP#1
|
|
PushConstant CP#0
|
|
AllocateT
|
|
StoreLocal r1
|
|
Push r1
|
|
DirectCall CP#2, 1
|
|
Drop1
|
|
Drop1
|
|
PushNull
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = Class DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::B
|
|
[1] = ObjectRef < dart:core::List < dart:core::List < DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::foo3::TypeParam/0 > >, dart:core::String, dart:core::List < DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::foo3::TypeParam/0 > >
|
|
[2] = DirectCall 'DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::B:: (constructor)', ArgDesc num-args 1, num-type-args 0, names []
|
|
[3] = Reserved
|
|
}
|
|
|
|
|
|
Function 'foo4', static, reflectable, debuggable
|
|
parameters [] (required: 0)
|
|
return-type void
|
|
|
|
Bytecode {
|
|
Entry 0
|
|
CheckStack 0
|
|
PushConstant CP#0
|
|
DirectCall CP#1, 1
|
|
Drop1
|
|
PushNull
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = ObjectRef < dart:core::int, dart:core::List < dart:core::String > >
|
|
[1] = DirectCall 'DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::G::testFactory (constructor)', ArgDesc num-args 1, num-type-args 0, names []
|
|
[2] = Reserved
|
|
}
|
|
|
|
|
|
Function 'foo5', static, reflectable, debuggable
|
|
parameters [] (required: 0)
|
|
return-type void
|
|
|
|
Bytecode {
|
|
Entry 0
|
|
CheckStack 0
|
|
PushNull
|
|
DirectCall CP#0, 1
|
|
Drop1
|
|
PushNull
|
|
PushInt 42
|
|
DirectCall CP#2, 2
|
|
Drop1
|
|
PushNull
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = DirectCall 'DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::I::testFactory2 (constructor)', ArgDesc num-args 1, num-type-args 0, names []
|
|
[1] = Reserved
|
|
[2] = DirectCall 'DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::I::testFactory2 (constructor)', ArgDesc num-args 2, num-type-args 0, names ['param']
|
|
[3] = Reserved
|
|
}
|
|
|
|
|
|
Function 'foo6', static, reflectable, debuggable
|
|
parameters [] (required: 0)
|
|
return-type dynamic
|
|
|
|
Bytecode {
|
|
Entry 0
|
|
CheckStack 0
|
|
PushConstant CP#0
|
|
DirectCall CP#1, 1
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = ObjectRef < dart:core::String >
|
|
[1] = DirectCall 'dart:core::_List::empty (constructor)', ArgDesc num-args 1, num-type-args 0, names []
|
|
[2] = Reserved
|
|
}
|
|
|
|
|
|
Function 'foo7', static, reflectable, debuggable
|
|
parameters [dart:core::int 'n'] (required: 1)
|
|
return-type dynamic
|
|
|
|
Bytecode {
|
|
Entry 0
|
|
CheckStack 0
|
|
PushConstant CP#0
|
|
Push FP[-5]
|
|
PushInt 0
|
|
DirectCall CP#1, 3
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = ObjectRef < dart:core::int >
|
|
[1] = DirectCall 'dart:core::_List::filled (constructor)', ArgDesc num-args 3, num-type-args 0, names []
|
|
[2] = Reserved
|
|
}
|
|
|
|
|
|
Function 'main', static, reflectable, debuggable
|
|
parameters [] (required: 0)
|
|
return-type dynamic
|
|
|
|
Bytecode {
|
|
Entry 0
|
|
CheckStack 0
|
|
DirectCall CP#0, 0
|
|
Drop1
|
|
DirectCall CP#2, 0
|
|
Drop1
|
|
PushConstant CP#4
|
|
DirectCall CP#5, 1
|
|
Drop1
|
|
PushNull
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = DirectCall 'DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::foo1', ArgDesc num-args 0, num-type-args 0, names []
|
|
[1] = Reserved
|
|
[2] = DirectCall 'DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::foo2', ArgDesc num-args 0, num-type-args 0, names []
|
|
[3] = Reserved
|
|
[4] = ObjectRef < dart:core::String >
|
|
[5] = DirectCall 'DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::foo3', ArgDesc num-args 0, num-type-args 1, names []
|
|
[6] = Reserved
|
|
}
|
|
|
|
Class 'Base', script = 'DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart'
|
|
type-params <'T1' extends dart:core::Object? (default dynamic), 'T2' extends dart:core::Object? (default dynamic)> (args: 2)
|
|
extends dart:core::Object
|
|
|
|
Field 't1', type = DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::Base::TypeParam/0?, getter = 'get:t1', setter = 'set:t1', reflectable, has-initializer
|
|
value = null
|
|
|
|
Field 't2', type = DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::Base::TypeParam/1?, getter = 'get:t2', setter = 'set:t2', reflectable, has-initializer
|
|
value = null
|
|
|
|
Function '', constructor, reflectable, debuggable
|
|
parameters [] (required: 0)
|
|
return-type DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::Base < DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::Base::TypeParam/0, DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::Base::TypeParam/1 >
|
|
|
|
Bytecode {
|
|
Entry 1
|
|
CheckStack 0
|
|
Push FP[-5]
|
|
DirectCall CP#0, 1
|
|
Drop1
|
|
PushNull
|
|
PushInt 4
|
|
CreateArrayTOS
|
|
StoreLocal r0
|
|
Push r0
|
|
PushInt 0
|
|
PushConstant CP#2
|
|
StoreIndexedTOS
|
|
Push r0
|
|
PushInt 1
|
|
Push FP[-5]
|
|
LoadTypeArgumentsField CP#4
|
|
PushNull
|
|
InstantiateType CP#3
|
|
StoreIndexedTOS
|
|
Push r0
|
|
PushInt 2
|
|
PushConstant CP#5
|
|
StoreIndexedTOS
|
|
Push r0
|
|
PushInt 3
|
|
Push FP[-5]
|
|
LoadTypeArgumentsField CP#4
|
|
PushNull
|
|
InstantiateType CP#6
|
|
StoreIndexedTOS
|
|
DirectCall CP#7, 1
|
|
DirectCall CP#9, 1
|
|
Drop1
|
|
PushNull
|
|
ReturnTOS
|
|
}
|
|
Nullable fields: [DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::Base::t1 (field), DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::Base::t2 (field)]
|
|
ConstantPool {
|
|
[0] = DirectCall 'dart:core::Object:: (constructor)', ArgDesc num-args 1, num-type-args 0, names []
|
|
[1] = Reserved
|
|
[2] = ObjectRef 'Base: '
|
|
[3] = Type DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::Base::TypeParam/0
|
|
[4] = TypeArgumentsField DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::Base
|
|
[5] = ObjectRef ', '
|
|
[6] = Type DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::Base::TypeParam/1
|
|
[7] = DirectCall 'dart:core::_StringBase::_interpolate', ArgDesc num-args 1, num-type-args 0, names []
|
|
[8] = Reserved
|
|
[9] = DirectCall 'dart:core::print', ArgDesc num-args 1, num-type-args 0, names []
|
|
[10] = Reserved
|
|
}
|
|
|
|
Class 'A', script = 'DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart'
|
|
extends DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::Base < dart:core::int, dart:core::String >
|
|
|
|
|
|
Function '', constructor, reflectable, debuggable
|
|
parameters [dart:core::String 's'] (required: 1)
|
|
return-type DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::A
|
|
|
|
Bytecode {
|
|
Entry 0
|
|
CheckStack 0
|
|
Push FP[-6]
|
|
DirectCall CP#0, 1
|
|
Drop1
|
|
PushNull
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = DirectCall 'DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::Base:: (constructor)', ArgDesc num-args 1, num-type-args 0, names []
|
|
[1] = Reserved
|
|
}
|
|
|
|
Class 'B', script = 'DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart'
|
|
type-params <'T' extends dart:core::Object? (default dynamic)> (args: 3)
|
|
extends DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::Base < dart:core::List < DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::B::TypeParam/0 >, dart:core::String >
|
|
|
|
|
|
Function '', constructor, reflectable, debuggable
|
|
parameters [] (required: 0)
|
|
return-type DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::B < DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::B::TypeParam/0 >
|
|
|
|
Bytecode {
|
|
Entry 1
|
|
CheckStack 0
|
|
Push FP[-5]
|
|
DirectCall CP#0, 1
|
|
Drop1
|
|
PushNull
|
|
PushInt 2
|
|
CreateArrayTOS
|
|
StoreLocal r0
|
|
Push r0
|
|
PushInt 0
|
|
PushConstant CP#2
|
|
StoreIndexedTOS
|
|
Push r0
|
|
PushInt 1
|
|
Push FP[-5]
|
|
LoadTypeArgumentsField CP#4
|
|
PushNull
|
|
InstantiateType CP#3
|
|
StoreIndexedTOS
|
|
DirectCall CP#5, 1
|
|
DirectCall CP#7, 1
|
|
Drop1
|
|
PushNull
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = DirectCall 'DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::Base:: (constructor)', ArgDesc num-args 1, num-type-args 0, names []
|
|
[1] = Reserved
|
|
[2] = ObjectRef 'B: '
|
|
[3] = Type DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::B::TypeParam/0
|
|
[4] = TypeArgumentsField DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::B
|
|
[5] = DirectCall 'dart:core::_StringBase::_interpolate', ArgDesc num-args 1, num-type-args 0, names []
|
|
[6] = Reserved
|
|
[7] = DirectCall 'dart:core::print', ArgDesc num-args 1, num-type-args 0, names []
|
|
[8] = Reserved
|
|
}
|
|
|
|
Class 'C', script = 'DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart'
|
|
extends dart:core::Object
|
|
|
|
|
|
Function '', constructor, reflectable, debuggable
|
|
parameters [dart:core::String 's'] (required: 1)
|
|
return-type DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::C
|
|
|
|
Bytecode {
|
|
Entry 1
|
|
CheckStack 0
|
|
Push FP[-6]
|
|
DirectCall CP#0, 1
|
|
Drop1
|
|
PushNull
|
|
PushInt 2
|
|
CreateArrayTOS
|
|
StoreLocal r0
|
|
Push r0
|
|
PushInt 0
|
|
PushConstant CP#2
|
|
StoreIndexedTOS
|
|
Push r0
|
|
PushInt 1
|
|
Push FP[-5]
|
|
StoreIndexedTOS
|
|
DirectCall CP#3, 1
|
|
DirectCall CP#5, 1
|
|
Drop1
|
|
PushNull
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = DirectCall 'dart:core::Object:: (constructor)', ArgDesc num-args 1, num-type-args 0, names []
|
|
[1] = Reserved
|
|
[2] = ObjectRef 'C: '
|
|
[3] = DirectCall 'dart:core::_StringBase::_interpolate', ArgDesc num-args 1, num-type-args 0, names []
|
|
[4] = Reserved
|
|
[5] = DirectCall 'dart:core::print', ArgDesc num-args 1, num-type-args 0, names []
|
|
[6] = Reserved
|
|
}
|
|
|
|
Class 'E', script = 'DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart'
|
|
type-params <'K' extends dart:core::Object? (default dynamic), 'V' extends dart:core::Object? (default dynamic)> (args: 2)
|
|
extends dart:core::Object
|
|
|
|
|
|
Function '', constructor, reflectable
|
|
parameters [] (required: 0)
|
|
return-type DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::E < DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::E::TypeParam/0, DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::E::TypeParam/1 >
|
|
|
|
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
|
|
}
|
|
|
|
|
|
Function 'testReuse1', reflectable, debuggable
|
|
parameters [] (required: 0)
|
|
return-type dynamic
|
|
|
|
Bytecode {
|
|
Entry 0
|
|
CheckStack 0
|
|
Push FP[-5]
|
|
LoadTypeArgumentsField CP#0
|
|
DirectCall CP#1, 1
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = TypeArgumentsField DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::E
|
|
[1] = DirectCall 'dart:core::Map:: (constructor)', ArgDesc num-args 1, num-type-args 0, names []
|
|
[2] = Reserved
|
|
}
|
|
|
|
Class 'F', script = 'DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart'
|
|
type-params <'K' extends dart:core::Object? (default dynamic), 'V' extends dart:core::Object? (default dynamic)> (args: 4)
|
|
extends DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::E < dart:core::String, dart:core::List < DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::F::TypeParam/1 > >
|
|
|
|
|
|
Function '', constructor, reflectable
|
|
parameters [] (required: 0)
|
|
return-type DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::F < DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::F::TypeParam/0, DART_SDK/pkg/dart2bytecode/testcases/instance_creation.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/instance_creation.dart::E:: (constructor)', ArgDesc num-args 1, num-type-args 0, names []
|
|
[1] = Reserved
|
|
}
|
|
|
|
|
|
Function 'testReuse2', reflectable, debuggable
|
|
parameters [] (required: 0)
|
|
return-type dynamic
|
|
|
|
Bytecode {
|
|
Entry 0
|
|
CheckStack 0
|
|
Push FP[-5]
|
|
LoadTypeArgumentsField CP#0
|
|
DirectCall CP#1, 1
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = TypeArgumentsField DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::F
|
|
[1] = DirectCall 'dart:core::Map:: (constructor)', ArgDesc num-args 1, num-type-args 0, names []
|
|
[2] = Reserved
|
|
}
|
|
|
|
Class 'G', script = 'DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart'
|
|
type-params <'K' extends dart:core::Object? (default dynamic), 'V' extends dart:core::Object? (default dynamic)> (args: 2)
|
|
extends dart:core::Object
|
|
|
|
|
|
Function '', constructor, reflectable, debuggable
|
|
parameters [] (required: 0)
|
|
return-type DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::G < DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::G::TypeParam/0, DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::G::TypeParam/1 >
|
|
|
|
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
|
|
}
|
|
|
|
|
|
Function 'testFactory', factory, static, reflectable, debuggable
|
|
type-params <'K' extends dart:core::Object? (default dynamic), 'V' extends dart:core::Object? (default dynamic)>
|
|
parameters [] (required: 0)
|
|
return-type DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::G < DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::G::testFactory (constructor)::TypeParam/0, DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::G::testFactory (constructor)::TypeParam/1 >
|
|
|
|
Bytecode {
|
|
Entry 1
|
|
CheckStack 0
|
|
Push FP[-5]
|
|
PushNull
|
|
InstantiateTypeArgumentsTOS 0, CP#1
|
|
PushConstant CP#0
|
|
AllocateT
|
|
StoreLocal r0
|
|
Push r0
|
|
DirectCall CP#2, 1
|
|
Drop1
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = Class DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::H
|
|
[1] = ObjectRef < DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::G::testFactory (constructor)::TypeParam/0, DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::G::testFactory (constructor)::TypeParam/1, dart:core::String, DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::G::testFactory (constructor)::TypeParam/0, DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::G::testFactory (constructor)::TypeParam/1 >
|
|
[2] = DirectCall 'DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::H:: (constructor)', ArgDesc num-args 1, num-type-args 0, names []
|
|
[3] = Reserved
|
|
}
|
|
|
|
Class 'H', script = 'DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart'
|
|
type-params <'P1' extends dart:core::Object? (default dynamic), 'P2' extends dart:core::Object? (default dynamic), 'P3' extends dart:core::Object? (default dynamic)> (args: 5)
|
|
extends DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::G < DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::H::TypeParam/1, DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::H::TypeParam/2 >
|
|
|
|
|
|
Function '', constructor, reflectable
|
|
parameters [] (required: 0)
|
|
return-type DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::H < DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::H::TypeParam/0, DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::H::TypeParam/1, DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::H::TypeParam/2 >
|
|
|
|
Bytecode {
|
|
Entry 0
|
|
CheckStack 0
|
|
Push FP[-5]
|
|
DirectCall CP#0, 1
|
|
Drop1
|
|
PushNull
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = DirectCall 'DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::G:: (constructor)', ArgDesc num-args 1, num-type-args 0, names []
|
|
[1] = Reserved
|
|
}
|
|
|
|
Class 'I', script = 'DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart'
|
|
extends dart:core::Object
|
|
|
|
|
|
Function '', constructor, reflectable, debuggable
|
|
parameters [dynamic 'param'] (required: 1)
|
|
return-type DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::I
|
|
|
|
Bytecode {
|
|
Entry 0
|
|
CheckStack 0
|
|
Push FP[-6]
|
|
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
|
|
}
|
|
|
|
|
|
Function 'testFactory2', factory, static, has-optional-named-params, reflectable, debuggable
|
|
parameters [dynamic 'param'] (required: 0)
|
|
return-type DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::I
|
|
|
|
Bytecode {
|
|
EntryOptional 1, 0, 1
|
|
LoadConstant r1, CP#0
|
|
LoadConstant r1, CP#1
|
|
Frame 1
|
|
CheckStack 0
|
|
Allocate CP#2
|
|
StoreLocal r2
|
|
Push r2
|
|
Push r1
|
|
DirectCall CP#3, 2
|
|
Drop1
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = ObjectRef 'param'
|
|
[1] = ObjectRef null
|
|
[2] = Class DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::I
|
|
[3] = DirectCall 'DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::I:: (constructor)', ArgDesc num-args 2, num-type-args 0, names []
|
|
[4] = Reserved
|
|
}
|
|
|
|
Class 'J', script = 'DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart'
|
|
extends dart:core::Object
|
|
|
|
|
|
Function '_', constructor, reflectable, debuggable
|
|
parameters [] (required: 0)
|
|
return-type DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::J
|
|
|
|
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
|
|
}
|
|
|
|
|
|
Function '', factory, static, reflectable, debuggable
|
|
parameters [] (required: 0)
|
|
return-type DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::J
|
|
|
|
Bytecode {
|
|
Entry 1
|
|
CheckStack 0
|
|
Allocate CP#0
|
|
StoreLocal r0
|
|
Push r0
|
|
DirectCall CP#1, 1
|
|
Drop1
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = Class DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::J
|
|
[1] = DirectCall 'DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::J::_ (constructor)', ArgDesc num-args 1, num-type-args 0, names []
|
|
[2] = Reserved
|
|
}
|
|
|
|
Class 'L', script = 'DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart', abstract
|
|
type-params <'S' extends dart:core::Object? (default dynamic), 'T' extends dart:core::Object? (default dynamic)> (args: 2)
|
|
extends dart:core::Object
|
|
|
|
|
|
Function '', factory, static, reflectable, debuggable
|
|
type-params <'S' extends dart:core::Object? (default dynamic), 'T' extends dart:core::Object? (default dynamic)>
|
|
parameters [] (required: 0)
|
|
return-type DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::L < DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::L:: (constructor)::TypeParam/0, DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::L:: (constructor)::TypeParam/1 >
|
|
|
|
Bytecode {
|
|
Entry 1
|
|
CheckStack 0
|
|
Push FP[-5]
|
|
PushConstant CP#0
|
|
AllocateT
|
|
StoreLocal r0
|
|
Push r0
|
|
DirectCall CP#1, 1
|
|
Drop1
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = Class DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::TestTypeArgReuse
|
|
[1] = DirectCall 'DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::TestTypeArgReuse:: (constructor)', ArgDesc num-args 1, num-type-args 0, names []
|
|
[2] = Reserved
|
|
}
|
|
|
|
Class 'TestTypeArgReuse', script = 'DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart'
|
|
type-params <'P' extends dart:core::Object? (default dynamic), 'Q' extends dart:core::Object? (default dynamic)> (args: 2)
|
|
extends DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::Base < DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::TestTypeArgReuse::TypeParam/0, DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::TestTypeArgReuse::TypeParam/1 >
|
|
implements [DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::L < DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::TestTypeArgReuse::TypeParam/0, DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::TestTypeArgReuse::TypeParam/1 >]
|
|
|
|
|
|
Function '', constructor, reflectable
|
|
parameters [] (required: 0)
|
|
return-type DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::TestTypeArgReuse < DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::TestTypeArgReuse::TypeParam/0, DART_SDK/pkg/dart2bytecode/testcases/instance_creation.dart::TestTypeArgReuse::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/instance_creation.dart::Base:: (constructor)', ArgDesc num-args 1, num-type-args 0, names []
|
|
[1] = Reserved
|
|
}
|
|
|