| 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*> | 
 | } |