blob: 00a1cb79309945d821536d788f7d478eade3e5da [file] [log] [blame]
library;
import self as self;
import "dart:core" as core;
class Expect extends core::Object {
synthetic constructor •() self::Expect
: super core::Object::•()
;
static method equals(dynamic x, dynamic y) void {
if(!(x =={core::Object::==}{(core::Object) core::bool} y)) {
throw "Expected two equal values, got '${x}' and '${y}'.";
}
}
static method isTrue(core::bool b) void {
if(!b) {
throw "Expected condition to be true, but got false.";
}
}
}
extension type ET(core::Object? _) {
abstract extension-type-member representation-field get _() core::Object?;
method call = self::ET|call;
method tearoff call = self::ET|get#call;
constructor = self::ET|constructor#;
constructor tearoff = self::ET|constructor#_#new#tearOff;
}
static extension-type-member method ET|constructor#(core::Object? _) → self::ET% /* erasure=core::Object?, declared=! */ {
lowered final self::ET% /* erasure=core::Object?, declared=! */ #this = _;
return #this;
}
static extension-type-member method ET|constructor#_#new#tearOff(core::Object? _) → self::ET% /* erasure=core::Object?, declared=! */
return self::ET|constructor#(_);
static extension-type-member method ET|call(lowered final self::ET% /* erasure=core::Object?, declared=! */ #this) → core::String
return "ET";
static extension-type-member method ET|get#call(lowered final self::ET% /* erasure=core::Object?, declared=! */ #this) → () → core::String
return () core::String => self::ET|call(#this);
static method func(core::Function callable) core::Function
return callable;
static method main() void {
self::ET% /* erasure=core::Object?, declared=! */ et = self::ET|constructor#(null);
self::Expect::isTrue(self::func(self::ET|get#call(et)) is core::Function);
self::Expect::isTrue(self::ET|get#call(et) is core::Function);
self::Expect::equals(self::func(self::ET|get#call(et))(), self::ET|call(et));
self::Expect::equals(self::func(self::ET|get#call(et))(), "ET");
}