|  | library; | 
|  | import self as self; | 
|  | import "dart:core" as core; | 
|  |  | 
|  | import "dart:async"; | 
|  |  | 
|  | typedef Exactly<invariant T extends core::Object? = dynamic> = (T%) → T%; | 
|  | extension /* unnamed */ _extension#0<T extends core::Object? = dynamic> on T% { | 
|  | method checkStaticType = self::_extension#0|checkStaticType; | 
|  | method tearoff checkStaticType = self::_extension#0|get#checkStaticType; | 
|  | } | 
|  | static method id<T extends core::Object? = dynamic>(self::id::T% value) → self::id::T% | 
|  | return value; | 
|  | static method main() → dynamic async /* emittedValueType= dynamic */ { | 
|  | FutureOr<core::int>x = 1.{core::num::+}(self::id<core::int>(1)){(core::num) → core::int}; | 
|  | FutureOr<core::int>y = let final core::int #t1 = 1.{core::num::+}(self::id<core::int>(1)){(core::num) → core::int} in block { | 
|  | self::_extension#0|checkStaticType<core::int, (core::int) → core::int>(#t1); | 
|  | } =>#t1; | 
|  | FutureOr<core::int>z = let final core::int #t2 = 1.{core::num::+}(self::contextType<core::int>(1)){(core::num) → core::int} in block { | 
|  | self::_extension#0|checkStaticType<core::int, (core::int) → core::int>(#t2); | 
|  | } =>#t2; | 
|  | } | 
|  | static extension-member method _extension#0|checkStaticType<T extends core::Object? = dynamic, R extends (self::_extension#0|checkStaticType::T%) → self::_extension#0|checkStaticType::T% = (dynamic) → dynamic>(lowered final self::_extension#0|checkStaticType::T% #this) → void {} | 
|  | static extension-member method _extension#0|get#checkStaticType<T extends core::Object? = dynamic>(lowered final self::_extension#0|get#checkStaticType::T% #this) → <R extends (self::_extension#0|get#checkStaticType::T%) → self::_extension#0|get#checkStaticType::T% = (dynamic) → dynamic>() → void | 
|  | return <R extends (self::_extension#0|get#checkStaticType::T%) → self::_extension#0|get#checkStaticType::T% = (dynamic) → dynamic>() → void => self::_extension#0|checkStaticType<self::_extension#0|get#checkStaticType::T%, R>(#this); | 
|  | static method contextType<T extends core::Object? = dynamic>(core::Object? o) → self::contextType::T% | 
|  | return o as self::contextType::T%; |