blob: e571d37d35eaa65d6b18708f12f3641b5a8a832f [file] [log] [blame]
library;
import self as self;
import "dart:core" as core;
class UnusedClass extends core::Object {
constructor •() self::UnusedClass*
: super core::Object::•() {
core::print("Unused");
}
abstract member-signature get _identityHashCode() core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) core::bool*; -> core::Object::_simpleInstanceOf
abstract member-signature method _simpleInstanceOfTrue(dynamic type) core::bool*; -> core::Object::_simpleInstanceOfTrue
abstract member-signature method _simpleInstanceOfFalse(dynamic type) core::bool*; -> core::Object::_simpleInstanceOfFalse
abstract member-signature operator ==(dynamic other) core::bool*; -> core::Object::==
abstract member-signature get hashCode() core::int*; -> core::Object::hashCode
abstract member-signature method toString() core::String*; -> core::Object::toString
abstract member-signature method noSuchMethod(core::Invocation* invocation) dynamic; -> core::Object::noSuchMethod
abstract member-signature get runtimeType() core::Type*; -> core::Object::runtimeType
}
abstract class UsedAsBaseClass extends core::Object {
synthetic constructor •() self::UsedAsBaseClass*
: super core::Object::•()
;
method usedInSubclass() void {
core::print("Unused");
}
method calledFromB() void {
this.{self::UsedAsBaseClass::calledFromSubclass}();
}
method calledFromSubclass() void {
core::print("Unused");
}
abstract member-signature get _identityHashCode() core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) core::bool*; -> core::Object::_simpleInstanceOf
abstract member-signature method _simpleInstanceOfTrue(dynamic type) core::bool*; -> core::Object::_simpleInstanceOfTrue
abstract member-signature method _simpleInstanceOfFalse(dynamic type) core::bool*; -> core::Object::_simpleInstanceOfFalse
abstract member-signature operator ==(dynamic other) core::bool*; -> core::Object::==
abstract member-signature get hashCode() core::int*; -> core::Object::hashCode
abstract member-signature method toString() core::String*; -> core::Object::toString
abstract member-signature method noSuchMethod(core::Invocation* invocation) dynamic; -> core::Object::noSuchMethod
abstract member-signature get runtimeType() core::Type*; -> core::Object::runtimeType
}
class UsedAsInterface extends core::Object {
synthetic constructor •() self::UsedAsInterface*
: super core::Object::•()
;
method usedInSubclass() void {
core::print("Unused");
}
abstract member-signature get _identityHashCode() core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) core::bool*; -> core::Object::_simpleInstanceOf
abstract member-signature method _simpleInstanceOfTrue(dynamic type) core::bool*; -> core::Object::_simpleInstanceOfTrue
abstract member-signature method _simpleInstanceOfFalse(dynamic type) core::bool*; -> core::Object::_simpleInstanceOfFalse
abstract member-signature operator ==(dynamic other) core::bool*; -> core::Object::==
abstract member-signature get hashCode() core::int*; -> core::Object::hashCode
abstract member-signature method toString() core::String*; -> core::Object::toString
abstract member-signature method noSuchMethod(core::Invocation* invocation) dynamic; -> core::Object::noSuchMethod
abstract member-signature get runtimeType() core::Type*; -> core::Object::runtimeType
}
class InstantiatedButMethodsUnused extends core::Object {
synthetic constructor •() self::InstantiatedButMethodsUnused*
: super core::Object::•()
;
method usedInSubclass() void {
core::print("Unused");
}
abstract member-signature get _identityHashCode() core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) core::bool*; -> core::Object::_simpleInstanceOf
abstract member-signature method _simpleInstanceOfTrue(dynamic type) core::bool*; -> core::Object::_simpleInstanceOfTrue
abstract member-signature method _simpleInstanceOfFalse(dynamic type) core::bool*; -> core::Object::_simpleInstanceOfFalse
abstract member-signature operator ==(dynamic other) core::bool*; -> core::Object::==
abstract member-signature get hashCode() core::int*; -> core::Object::hashCode
abstract member-signature method toString() core::String*; -> core::Object::toString
abstract member-signature method noSuchMethod(core::Invocation* invocation) dynamic; -> core::Object::noSuchMethod
abstract member-signature get runtimeType() core::Type*; -> core::Object::runtimeType
}
class ClassA extends self::UsedAsBaseClass implements self::UsedAsInterface, self::InstantiatedButMethodsUnused {
synthetic constructor •() self::ClassA*
: super self::UsedAsBaseClass::•()
;
method usedInSubclass() void {
core::print("A");
}
}
class ClassB extends self::UsedAsBaseClass implements self::UsedAsInterface, self::InstantiatedButMethodsUnused {
synthetic constructor •() self::ClassB*
: super self::UsedAsBaseClass::•()
;
method usedInSubclass() void {
core::print("B");
this.{self::UsedAsBaseClass::calledFromB}();
}
method calledFromSubclass() void {}
}
static method baseClassCall(self::UsedAsBaseClass* object) void {
object.{self::UsedAsBaseClass::usedInSubclass}();
}
static method interfaceCall(self::UsedAsInterface* object) void {
object.{self::UsedAsInterface::usedInSubclass}();
}
static method exactCallA(self::ClassA* object) void {
object.{self::ClassA::usedInSubclass}();
}
static method exactCallB(self::ClassB* object) void {
object.{self::ClassB::usedInSubclass}();
}
static method unusedTopLevel() dynamic {
core::print("Unused");
}
static method usedTopLevel() dynamic {}
static method main() dynamic {
self::usedTopLevel();
self::ClassA* a = new self::ClassA::•();
self::exactCallA(a);
self::baseClassCall(a);
self::interfaceCall(a);
self::ClassB* b = new self::ClassB::•();
self::exactCallB(b);
self::baseClassCall(b);
self::interfaceCall(b);
new self::InstantiatedButMethodsUnused::•();
}