blob: e1c5f67c70758f55411d1d536d2dde048b0253b0 [file] [log] [blame]
library;
import self as self;
import "dart:core" as core;
abstract class Base extends core::Object {
synthetic constructor •() self::Base*
: super core::Object::•()
;
abstract member-signature get _identityHashCode() core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) core::bool*;
abstract member-signature operator ==(dynamic other) core::bool*;
abstract member-signature get hashCode() core::int*;
abstract member-signature method toString() core::String*;
abstract member-signature method noSuchMethod(core::Invocation* invocation) dynamic;
abstract member-signature get runtimeType() core::Type*;
}
class Foo extends self::Base {
synthetic constructor •() self::Foo*
: super self::Base::•()
;
}
class Bar extends self::Base {
synthetic constructor •() self::Bar*
: super self::Base::•()
;
}
class Baz extends self::Base {
synthetic constructor •() self::Baz*
: super self::Base::•()
;
}
static method foo(dynamic x) void {}
static method bar(dynamic x) void {}
static method foo_escaped(dynamic x) void {}
static method bar_escaped(dynamic x) void {}
static method escape(dynamic fn) void {
fn.call(new self::Baz::•());
}
static method main() dynamic {
self::foo(new self::Foo::•());
self::bar(new self::Bar::•());
self::escape(#C1);
self::escape(#C2);
}
constants {
#C1 = tearoff self::foo_escaped
#C2 = tearoff self::bar_escaped
}