blob: 2170390b8f90178a99dd0ae12499f171544378ea [file] [log] [blame]
library #lib;
import self as self;
import "dart:core" as core;
abstract class I extends core::Object {
[@vm.unreachable.metadata=] synthetic constructor •() void
: super core::Object::•()
throw "TFA Error: #lib::I::";
abstract method foo(dynamic x) void;
}
class A extends core::Object implements self::I {
[@vm.unreachable.metadata=] synthetic constructor •() void
: super core::Object::•()
throw "TFA Error: #lib::A::";
[@vm.unreachable.metadata=] method foo(dynamic x) void
throw "TFA Error: #lib::A::foo";
}
class B extends core::Object implements self::I {
synthetic constructor •() void
: super core::Object::•()
;
[@vm.unreachable.metadata=] method foo(dynamic x) void
throw "TFA Error: #lib::B::foo";
}
[@vm.inferred-type.metadata=#lib::B]static field self::I ii = new self::B::•();
static method bar([@vm.inferred-type.metadata=#lib::B] self::I i) void {
if(i is self::A) {
[@vm.unreachable.metadata=] i{self::A}.{self::A::foo}(42);
}
}
static method main(core::List<core::String> args) dynamic {
self::bar([@vm.inferred-type.metadata=#lib::B] self::ii);
}