blob: 150af53ac9a5c06d588e11d5e5963640260ec8ca [file] [log] [blame]
library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "dart:async";
typedef Exactly<invariant T extends core::Object? = dynamic> = (T%) T%;
extension _extension#0<T extends core::Object? = dynamic> on T% {
method checkStaticType = self::_extension#0|checkStaticType;
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 {
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 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 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{ForNonNullableByDefault} self::contextType::T%;