blob: 1a8dce98b0841a1c43310e5d58e41719339c31ec [file] [log] [blame]
library #lib;
import self as self;
import "dart:core" as core;
class A extends core::Object {
synthetic constructor •() self::A*
: super core::Object::•()
;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,getterSelectorId:1] get foo() core::String*
return "foo";
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:2,getterSelectorId:3] method getBar() core::String*
return "bar";
}
class B extends core::Object implements core::Enum /*isEnum*/ {
[@vm.inferred-type.metadata=dart.core::_Smi (value: 1)] [@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,getterSelectorId:4] [@vm.unboxing-info.metadata=()->i] final field core::int* index;
[@vm.inferred-type.metadata=dart.core::_OneByteString (value: "B.b2")] [@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,getterSelectorId:5] final field core::String* _name;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:6,getterSelectorId:7] method toString() core::String*
return [@vm.direct-call.metadata=#lib::B._name] [@vm.inferred-type.metadata=dart.core::_OneByteString (value: "B.b2")] this.{self::B::_name}{core::String*};
}
static method test0() void {
core::print(#C1);
}
static method test1() void {
core::print(#C2);
}
static method test2() void {
core::print(#C3);
}
[@vm.unboxing-info.metadata=()->d]static get getD() dynamic
return 100.0;
static method testDouble() void {
core::print(#C4);
core::print([@vm.inferred-type.metadata=dart.core::_Double (value: 100.0)] self::getD);
}
static method testStrings([@vm.inferred-type.metadata=#lib::A] self::A* a0) void {
core::print([@vm.direct-call.metadata=#lib::A.foo] [@vm.inferred-type.metadata=dart.core::_OneByteString (value: "foo")] a0.{self::A::foo}{core::String*});
core::print([@vm.direct-call.metadata=#lib::A.getBar] [@vm.inferred-type.metadata=dart.core::_OneByteString (skip check) (value: "bar")] a0.{self::A::getBar}(){() →* core::String*});
core::print(#C5);
}
static method testPassEnum() void {
self::testPassEnum2();
}
static method testPassEnum2() void {
core::print(#C8);
}
static method getList() dynamic
return #C11;
static method testList() void {
core::print(#C11);
core::print(#C14);
}
static method main() dynamic {
self::test0();
self::test1();
self::test2();
self::testDouble();
self::testStrings(new self::A::•());
self::testPassEnum();
let final dynamic #t1 = [@vm.inferred-type.metadata=dart.core::_ImmutableList (value: const <dart.core::int*>[1, 2, 3])] self::getList() in self::testList();
}
constants {
#C1 = 40
#C2 = 42
#C3 = 43
#C4 = 3.14
#C5 = "bazz"
#C6 = 1
#C7 = "B.b2"
#C8 = self::B {index:#C6, _name:#C7}
#C9 = 2
#C10 = 3
#C11 = <core::int*>[#C6, #C9, #C10]
#C12 = 4
#C13 = 5
#C14 = <core::int*>[#C12, #C13]
}