blob: 8fbdc251f97b3434924bf72a4c65fdcb54452c4e [file] [log] [blame]
library test /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class C<E extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() self::C<self::C::E%>
: super core::Object::•()
;
method barA([(self::C::E%, self::C::E%) →? core::int cmp = #C1]) → void {
self::foo<self::C::E%>(this, let final (self::C::E%, self::C::E%) →? core::int #t1 = cmp in #t1 == null ?{(self::C::E%, self::C::E%) → core::int} #C2 : #t1{(self::C::E%, self::C::E%) → core::int});
}
method barB([(self::C::E%, self::C::E%) →? core::int cmp = #C1]) → void {
self::foo<self::C::E%>(this, let final (self::C::E%, self::C::E%) →? core::int #t2 = cmp in #t2 == null ?{(self::C::E%, self::C::E%) → core::int} #C2 as{ForNonNullableByDefault} (self::C::E%, self::C::E%) → core::int : #t2{(self::C::E%, self::C::E%) → core::int});
}
method barC([(self::C::E%, self::C::E%) →? core::int cmp = #C1]) → void {
(self::C::E%, self::C::E%) core::int v = #C2;
self::foo<self::C::E%>(this, let final (self::C::E%, self::C::E%) →? core::int #t3 = cmp in #t3 == null ?{(self::C::E%, self::C::E%) → core::int} v : #t3{(self::C::E%, self::C::E%) → core::int});
}
method barD([(self::C::E%, self::C::E%) →? core::int cmp = #C1]) → void {
self::foo<self::C::E%>(this, let final (self::C::E%, self::C::E%) →? core::int #t4 = cmp in #t4 == null ?{(self::C::E%, self::C::E%) → core::int} #C2 : #t4{(self::C::E%, self::C::E%) → core::int});
}
method barE([(self::C::E%, self::C::E%) →? core::int cmp = #C1]) → void {
self::foo<self::C::E%>(this, cmp == null ?{(self::C::E%, self::C::E%) core::int} #C2 : cmp{(self::C::E%, self::C::E%) → core::int});
}
method barF([(self::C::E%, self::C::E%) →? core::int cmp = #C1]) → void {
self::foo<self::C::E%>(this, !(cmp == null) ?{(self::C::E%, self::C::E%) core::int} cmp{(self::C::E%, self::C::E%) core::int} : #C2);
}
static method _default(dynamic a, dynamic b) core::int {
return 1.{core::int::unary-}(){() core::int};
}
}
static method foo<E extends core::Object? = dynamic>(self::C<self::foo::E%> c, (self::foo::E%, self::foo::E%) core::int cmp) void {}
static method main() dynamic {}
constants {
#C1 = null
#C2 = static-tearoff self::C::_default
}