| library /*isNonNullableByDefault*/; |
| import self as self; |
| import "dart:core" as core; |
| |
| class A2 extends core::Object { |
| field core::String? foo = null; |
| synthetic constructor •() → self::A2 |
| : super core::Object::•() |
| ; |
| } |
| class A5 extends core::Object { |
| synthetic constructor •() → self::A5 |
| : super core::Object::•() |
| ; |
| operator []=(core::int index, core::String? value) → void {} |
| operator [](core::int index) → core::String? |
| return null; |
| } |
| class B5 extends self::A5 { |
| synthetic constructor •() → self::B5 |
| : super self::A5::•() |
| ; |
| method test5() → dynamic { |
| core::String s = let final core::int #t1 = 0 in let final core::String? #t2 = super.{self::A5::[]}(#t1) in #t2 == null ?{core::String} let final core::String #t3 = "bar" in let final void #t4 = super.{self::A5::[]=}(#t1, #t3) in #t3 : #t2{core::String}; |
| } |
| } |
| class A7 extends core::Object { |
| field core::String foo = "foo"; |
| field core::String? bar = null; |
| synthetic constructor •() → self::A7 |
| : super core::Object::•() |
| ; |
| } |
| extension E6 on core::double { |
| operator []= = self::E6|[]=; |
| operator [] = self::E6|[]; |
| } |
| static method hest1<T extends core::Object? = dynamic>() → self::hest1::T% |
| return throw "hest"; |
| static method test1() → dynamic { |
| function foo() → core::String? |
| return null; |
| function bar() → core::String |
| return "bar"; |
| core::String s = let final core::String? #t5 = foo(){() → core::String?} in #t5 == null ?{core::String} bar(){() → core::String} : #t5{core::String}; |
| core::String s2 = let final core::String? #t6 = self::hest1<core::String?>() in #t6 == null ?{core::String} "fisk" : #t6{core::String}; |
| } |
| static method test2(self::A2 a) → dynamic { |
| core::String s = let final self::A2 #t7 = a in let final core::String? #t8 = #t7.{self::A2::foo}{core::String?} in #t8 == null ?{core::String} #t7.{self::A2::foo} = "bar" : #t8{core::String}; |
| } |
| static method test3() → dynamic { |
| core::String? s = null; |
| core::String s2 = let final core::String? #t9 = s in #t9 == null ?{core::String} s = "bar" : #t9{core::String}; |
| } |
| static method test4() → dynamic { |
| core::List<core::String?> list = <core::String?>[null]; |
| core::String s = let final core::List<core::String?> #t10 = list in let final core::int #t11 = 0 in let final core::String? #t12 = #t10.{core::List::[]}(#t11){(core::int) → core::String?} in #t12 == null ?{core::String} let final core::String #t13 = "bar" in let final void #t14 = #t10.{core::List::[]=}(#t11, #t13){(core::int, core::String?) → void} in #t13 : #t12{core::String}; |
| } |
| static method E6|[]=(lowered final core::double #this, core::int index, core::String? value) → void {} |
| static method E6|[](lowered final core::double #this, core::int index) → core::String? |
| return null; |
| static method test6() → dynamic { |
| core::String s = let final core::double #t15 = 3.14 in let final core::int #t16 = 0 in let final core::String? #t17 = self::E6|[](#t15, #t16) in #t17 == null ?{core::String} let final core::String #t18 = "bar" in let final void #t19 = self::E6|[]=(#t15, #t16, #t18) in #t18 : #t17{core::String}; |
| } |
| static method test7(self::A7? a) → dynamic { |
| core::String? s = let final self::A7? #t20 = a in #t20 == null ?{core::String?} null : let final core::String #t21 = #t20.{self::A7::foo}{core::String} in #t21 == null ?{core::String} #t20.{self::A7::foo} = "bar" : #t21; |
| core::String? s2 = let final self::A7? #t22 = a in #t22 == null ?{core::String?} null : let final core::String? #t23 = #t22.{self::A7::bar}{core::String?} in #t23 == null ?{core::String} #t22.{self::A7::bar} = "bar" : #t23{core::String}; |
| } |
| static method main() → dynamic {} |