blob: bc5b5463ab6c2f35c685fbed980062f76cf6069c [file] [log] [blame]
Bytecode
Dynamic Module Entry Point: DART_SDK/pkg/dart2bytecode/testcases/field_initializers.dart::main
Library 'DART_SDK/pkg/dart2bytecode/testcases/field_initializers.dart'
name '#lib'
script 'DART_SDK/pkg/dart2bytecode/testcases/field_initializers.dart'
Class '', script = 'DART_SDK/pkg/dart2bytecode/testcases/field_initializers.dart'
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/field_initializers.dart'
extends dart:core::Object
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, has-initializer
value = null
Field 'foo3', type = dart:core::int, getter = 'get:foo3', setter = 'set:foo3', reflectable, has-initializer
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, has-initializer
value = const 43
Function '', constructor, reflectable, debuggable
parameters [dart:core::int? 'foo4'] (required: 1)
return-type DART_SDK/pkg/dart2bytecode/testcases/field_initializers.dart::A
Bytecode {
Entry 0
CheckStack 0
Push FP[-6]
PushInt 42
StoreFieldTOS CP#0
PushInt 43
Drop1
Push FP[-6]
Push FP[-5]
StoreFieldTOS CP#2
Push FP[-6]
PushInt 44
StoreFieldTOS CP#4
Push FP[-6]
DirectCall CP#6, 1
Drop1
PushNull
ReturnTOS
}
Nullable fields: [DART_SDK/pkg/dart2bytecode/testcases/field_initializers.dart::A::foo1 (field), DART_SDK/pkg/dart2bytecode/testcases/field_initializers.dart::A::foo2 (field)]
ConstantPool {
[0] = InstanceField DART_SDK/pkg/dart2bytecode/testcases/field_initializers.dart::A::foo3 (field)
[1] = Reserved
[2] = InstanceField DART_SDK/pkg/dart2bytecode/testcases/field_initializers.dart::A::foo4 (field)
[3] = Reserved
[4] = InstanceField DART_SDK/pkg/dart2bytecode/testcases/field_initializers.dart::A::foo5 (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 DART_SDK/pkg/dart2bytecode/testcases/field_initializers.dart::A
Bytecode {
Entry 0
CheckStack 0
Push FP[-7]
PushInt 42
StoreFieldTOS CP#0
PushInt 43
Drop1
Push FP[-7]
Push FP[-6]
StoreFieldTOS CP#2
Push FP[-7]
Push FP[-5]
PushInt 1
AddInt
StoreFieldTOS CP#4
Push FP[-7]
DirectCall CP#6, 1
Drop1
PushNull
ReturnTOS
}
Nullable fields: [DART_SDK/pkg/dart2bytecode/testcases/field_initializers.dart::A::foo2 (field), DART_SDK/pkg/dart2bytecode/testcases/field_initializers.dart::A::foo4 (field)]
ConstantPool {
[0] = InstanceField DART_SDK/pkg/dart2bytecode/testcases/field_initializers.dart::A::foo3 (field)
[1] = Reserved
[2] = InstanceField DART_SDK/pkg/dart2bytecode/testcases/field_initializers.dart::A::foo1 (field)
[3] = Reserved
[4] = InstanceField DART_SDK/pkg/dart2bytecode/testcases/field_initializers.dart::A::foo5 (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 DART_SDK/pkg/dart2bytecode/testcases/field_initializers.dart::A
Bytecode {
Entry 0
CheckStack 0
Push FP[-5]
PushInt 45
DirectCall CP#0, 2
Drop1
PushNull
ReturnTOS
}
ConstantPool {
[0] = DirectCall 'DART_SDK/pkg/dart2bytecode/testcases/field_initializers.dart::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 DART_SDK/pkg/dart2bytecode/testcases/field_initializers.dart::A
Bytecode {
Entry 0
CheckStack 0
Push FP[-8]
Push FP[-7]
Push FP[-6]
Push FP[-5]
MulInt
DirectCall CP#0, 3
Drop1
PushNull
ReturnTOS
}
ConstantPool {
[0] = DirectCall 'DART_SDK/pkg/dart2bytecode/testcases/field_initializers.dart::A::constr2 (constructor)', ArgDesc num-args 3, num-type-args 0, names []
[1] = Reserved
}
Class 'B', script = 'DART_SDK/pkg/dart2bytecode/testcases/field_initializers.dart'
extends DART_SDK/pkg/dart2bytecode/testcases/field_initializers.dart::A
Field 'foo6', type = dart:core::int, getter = 'get:foo6', setter = 'set:foo6', reflectable, has-initializer
value = const 46
Field 'foo7', type = dart:core::int, reflectable, static, is-late, has-initializer
value = const 47
Field 'foo8', type = dart:core::int, reflectable, static, const, final, is-late, has-initializer
value = const 48
Function '', constructor, reflectable, debuggable
parameters [] (required: 0)
return-type DART_SDK/pkg/dart2bytecode/testcases/field_initializers.dart::B
Bytecode {
Entry 0
CheckStack 0
Push FP[-5]
PushInt 46
StoreFieldTOS CP#0
Push FP[-5]
PushInt 49
DirectCall CP#2, 2
Drop1
PushNull
ReturnTOS
}
ConstantPool {
[0] = InstanceField DART_SDK/pkg/dart2bytecode/testcases/field_initializers.dart::B::foo6 (field)
[1] = Reserved
[2] = DirectCall 'DART_SDK/pkg/dart2bytecode/testcases/field_initializers.dart::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 DART_SDK/pkg/dart2bytecode/testcases/field_initializers.dart::B
Bytecode {
Entry 0
CheckStack 0
PushInt 46
Drop1
Push FP[-7]
PushInt 50
StoreFieldTOS CP#0
Push FP[-7]
Push FP[-6]
Push FP[-5]
PushInt 51
DirectCall CP#2, 4
Drop1
PushNull
ReturnTOS
}
ConstantPool {
[0] = InstanceField DART_SDK/pkg/dart2bytecode/testcases/field_initializers.dart::B::foo6 (field)
[1] = Reserved
[2] = DirectCall 'DART_SDK/pkg/dart2bytecode/testcases/field_initializers.dart::A::redirecting2 (constructor)', ArgDesc num-args 4, num-type-args 0, names []
[3] = Reserved
}