blob: 8d4ad6508d01d2f52d12612d4535eaed5f5e9e48 [file] [log] [blame]
library;
import self as self;
import "dart:core" as core;
class I extends core::Object {
synthetic constructor •() self::I
: super core::Object::•()
;
}
class A extends core::Object implements self::I {
synthetic constructor •() self::A
: super core::Object::•()
;
}
extension /* unnamed */ _extension#0 on self::A {
get member = self::_extension#0|get#member;
}
extension /* unnamed */ _extension#1 on self::I {
get member = self::_extension#1|get#member;
}
static extension-member method _extension#0|get#member(lowered final self::A #this) → core::int
return 87;
static extension-member method _extension#1|get#member(lowered final self::I #this) → core::int
return 42;
static method method(self::A a) dynamic
return block {
core::int #t1;
final synthesized self::A #0#0 = a;
#L1:
{
{
hoisted core::int member;
if(true) {
member = self::_extension#1|get#member(#0#0);
#t1 = member;
break #L1;
}
}
}
} =>#t1;
static method main() dynamic {
self::expect(42, self::method(new self::A::•()));
}
static method expect(dynamic expected, dynamic actual) dynamic {
if(!(expected =={core::Object::==}{(core::Object) core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}