blob: 15a19fab2c9b7e5fa7ad412a6408990be1f319ea [file] [log] [blame] [edit]
library;
import self as self;
import "dart:core" as core;
typedef Exactly<invariant X extends core::Object? = dynamic> = (X%) X%;
class C extends core::Object {
synthetic constructor •() self::C
: super core::Object::•()
;
method call<T extends core::Object? = dynamic>(self::C::call::T% t) self::C::call::T%
return t;
}
class Checker<X extends core::Object? = dynamic> extends core::Object {
final field self::Checker::X% x;
constructor •(self::Checker::X% x) self::Checker<self::Checker::X%>
: self::Checker::x = x, super core::Object::•()
;
method expectStaticType<covariant-by-class Y extends (self::Checker::X%) self::Checker::X%>() self::Checker::X%
return this.{self::Checker::x}{self::Checker::X%};
}
static method f<X extends core::Object? = dynamic>((core::String) self::f::X% g) (core::String) self::f::X%
return g;
static method main() void {
(core::String) core::String g = self::f<core::String>((let final self::C #t1 = new self::C::•() in #t1 == null ?{<T extends core::Object? = dynamic>(T%) → T%} null : #t1.{self::C::call}{<T extends core::Object? = dynamic>(T%) → T%})<core::String>);
new self::Checker::•<(core::String) core::String>(g).{self::Checker::expectStaticType}<((core::String) core::String) (core::String) core::String>(){() (core::String) core::String};
}