| library /*isNonNullableByDefault*/; |
| import self as self; |
| import "dart:core" as core; |
| |
| class Class extends core::Object { |
| field core::int field; |
| constructor •(core::int field) → self::Class |
| : self::Class::field = field, super core::Object::•() |
| ; |
| } |
| extension Extension on self::Class { |
| get property = self::Extension|get#property; |
| get nullableProperty = self::Extension|get#nullableProperty; |
| method method = self::Extension|method; |
| tearoff method = self::Extension|get#method; |
| set property = self::Extension|set#property; |
| } |
| static method Extension|get#property(lowered final self::Class #this) → core::int |
| return #this.{self::Class::field}{core::int}; |
| static method Extension|get#nullableProperty(lowered final self::Class #this) → core::int? |
| return #this.{self::Class::field}{core::int}; |
| static method Extension|set#property(lowered final self::Class #this, core::int? value) → void { |
| #this.{self::Class::field} = let final core::int? #t1 = value in #t1 == null ?{core::int} 0 : #t1{core::int}; |
| } |
| static method Extension|method(lowered final self::Class #this) → core::int |
| return #this.{self::Class::field}{core::int}; |
| static method Extension|get#method(lowered final self::Class #this) → () → core::int |
| return () → core::int => self::Extension|method(#this); |
| static method main() → dynamic { |
| self::test(null); |
| } |
| static get value() → core::int? |
| return 42; |
| static method test(self::Class? c) → dynamic { |
| let final core::int? #t2 = let final self::Class? #t3 = c in #t3 == null ?{core::int?} null : self::Extension|get#property(#t3{self::Class}) in #t2 == null ?{core::int} 0 : #t2{core::int}; |
| let final core::int? #t4 = let final self::Class? #t5 = c in #t5 == null ?{core::int?} null : self::Extension|get#property(#t5{self::Class}) in #t4 == null ?{core::int} 0 : #t4{core::int}; |
| let final self::Class? #t6 = c in #t6 == null ?{core::int?} null : self::Extension|set#property(#t6{self::Class}, let final core::int? #t7 = self::value in #t7 == null ?{core::int} 0 : #t7{core::int}); |
| let final self::Class? #t8 = c in #t8 == null ?{core::int?} null : self::Extension|set#property(#t8{self::Class}, let final core::int? #t9 = self::value in #t9 == null ?{core::int} 0 : #t9{core::int}); |
| let final core::int? #t10 = let final self::Class? #t11 = c in #t11 == null ?{core::int?} null : let final core::int #t12 = 42 in let final void #t13 = self::Extension|set#property(#t11{self::Class}, #t12) in #t12 in #t10 == null ?{core::int} 0 : #t10{core::int}; |
| let final core::int? #t14 = let final self::Class? #t15 = c in #t15 == null ?{core::int?} null : let final core::int? #t16 = self::value in let final void #t17 = self::Extension|set#property(#t15{self::Class}, #t16) in #t16 in #t14 == null ?{core::int} 0 : #t14{core::int}; |
| let final core::int? #t18 = let final self::Class? #t19 = c in #t19 == null ?{core::int?} null : self::Extension|method(#t19{self::Class}) in #t18 == null ?{core::int} 0 : #t18{core::int}; |
| let final core::int? #t20 = let final self::Class? #t21 = c in #t21 == null ?{core::int?} null : self::Extension|method(#t21{self::Class}) in #t20 == null ?{core::int} 0 : #t20{core::int}; |
| c = new self::Class::•(0); |
| let final core::int? #t22 = self::Extension|get#nullableProperty(c{self::Class}) in #t22 == null ?{core::int} 0 : #t22{core::int}; |
| let final core::int? #t23 = self::Extension|get#nullableProperty(c{self::Class}) in #t23 == null ?{core::int} 0 : #t23{core::int}; |
| } |
| |
| |
| Extra constant evaluation status: |
| Evaluated: VariableGet @ org-dartlang-testcase:///if_null2.dart:32:18 -> IntConstant(42) |
| Evaluated: VariableGet @ org-dartlang-testcase:///if_null2.dart:32:18 -> IntConstant(42) |
| Extra constant evaluation: evaluated: 142, effectively constant: 2 |