blob: 86fa71bbcf36bf7eae282a96f6b353b4afc7be61 [file] [log] [blame]
library;
import self as self;
import "dart:core" as core;
typedef IntFn = (core::int) core::int;
typedef TFn = <T extends core::Object? = dynamic>(T%) T%;
abstract class CompareBase extends core::Object {
synthetic constructor •() self::CompareBase
: super core::Object::•()
;
abstract operator <((core::int) core::int f) dynamic;
}
class Compare extends self::CompareBase {
synthetic constructor •() self::Compare
: super self::CompareBase::•()
;
@#C1
operator <(core::Object f) dynamic
return f is <T extends core::Object? = dynamic>(T%) T%;
}
static method id<T extends core::Object? = dynamic>(self::id::T% t) self::id::T%
return t;
static method test1(self::CompareBase x) dynamic {
{
final synthesized self::CompareBase #0#0 = x;
if(#0#0.{self::CompareBase::<}(#C3){((core::int) → core::int) → dynamic} as core::bool) {
throw "\"<\" should receive instantiation, not generic function.";
}
else {
}
}
}
static method main() dynamic {
self::test1(new self::Compare::•());
}
constants {
#C1 = core::_Override {}
#C2 = static-tearoff self::id
#C3 = instantiation #C2 <core::int>
}