blob: a5a0b39b18a8c2223491acb8ccdfe498ebe92203 [file] [log] [blame]
library;
import self as self;
import "dart:core" as core;
abstract class A extends core::Object {
synthetic constructor •() self::A*
: super core::Object::•()
;
method noSuchMethod(core::Invocation* i) dynamic {
if(i.{core::Invocation::memberName}.{core::Symbol::==}(#C1)) {
return i.{core::Invocation::namedArguments}.{core::Map::[]}(#C2);
}
else
if(i.{core::Invocation::memberName}.{core::Symbol::==}(#C3)) {
return i.{core::Invocation::positionalArguments}.{core::List::[]}(0);
}
return null;
}
abstract method foo({core::String* bar = #C4}) → core::String*;
abstract method hest([core::int* fisk = #C5]) → core::int*;
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 get runtimeType() core::Type*; -> core::Object::runtimeType
}
class B extends self::A {
synthetic constructor •() self::B*
: super self::A::•()
;
no-such-method-forwarder method foo({core::String* bar = #C4}) → core::String*
return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C6, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C2: bar}))) as{TypeError,ForDynamic} core::String*;
no-such-method-forwarder method hest([core::int* fisk = #C5]) → core::int*
return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C3, 0, #C6, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(fisk)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C8))) as{TypeError,ForDynamic} core::int*;
}
static method main() dynamic {
self::B* b = new self::B::•();
dynamic value;
if(!(value = b.{self::A::foo}()).{core::String::==}("baz")) {
throw "Unexpected value: '${value}'; expected 'baz'.";
}
if(!(value = b.{self::A::hest}()).{core::num::==}(42)) {
throw "Unexpected value: '${value}'; expected '42'.";
}
}
constants {
#C1 = #foo
#C2 = #bar
#C3 = #hest
#C4 = "baz"
#C5 = 42
#C6 = <core::Type*>[]
#C7 = <dynamic>[]
#C8 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C7}
}