| 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 : #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 |
| } |
| |
| Extra constant evaluation status: |
| Evaluated: InstanceInvocation @ org-dartlang-testcase:///bug30624_2.dart:39:35 -> IntConstant(-1) |
| Extra constant evaluation: evaluated: 47, effectively constant: 1 |