| library /*isNonNullableByDefault*/; |
| // |
| // Problems in library: |
| // |
| // pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart:93:59: Error: Property 'nullable1' cannot be accessed on 'Class1?' because it is potentially null. |
| // - 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart'. |
| // Try accessing using ?. instead. |
| // throws(() => (Extension1(n1)?.nullable1 = new Class1()).nullable1); |
| // ^^^^^^^^^ |
| // |
| // pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart:94:55: Error: Property 'nullable1' cannot be accessed on 'Class1?' because it is potentially null. |
| // - 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart'. |
| // Try accessing using ?. instead. |
| // throws(() => (Extension1(n1)?.nonNullable1Method()).nullable1); |
| // ^^^^^^^^^ |
| // |
| // pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart:244:45: Error: Operator '+' cannot be called on 'Class1?' because it is potentially null. |
| // - 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart'. |
| // throws(() => Extension1(n1)?.nonNullable1 + 0); |
| // ^ |
| // |
| // pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart:245:16: Error: Operator 'unary-' cannot be called on 'Class1?' because it is potentially null. |
| // - 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart'. |
| // throws(() => -Extension1(n1)?.nonNullable1); |
| // ^ |
| // |
| import self as self; |
| import "dart:core" as core; |
| |
| class Class1 extends core::Object { |
| synthetic constructor •() → self::Class1 |
| : super core::Object::•() |
| ; |
| get property() → self::Class1? |
| return null; |
| set property(self::Class1? value) → void {} |
| get property1() → self::Class1 |
| return new self::Class1::•(); |
| get property2() → self::Class2 |
| return new self::Class2::•(); |
| } |
| class Class2 extends core::Object { |
| synthetic constructor •() → self::Class2 |
| : super core::Object::•() |
| ; |
| get property() → self::Class2 |
| return this; |
| set property(self::Class2 value) → void {} |
| } |
| class Class3 extends core::Object { |
| synthetic constructor •() → self::Class3 |
| : super core::Object::•() |
| ; |
| get property() → self::Class2? |
| return null; |
| } |
| extension Extension1 on self::Class1 { |
| get nullable1 = self::Extension1|get#nullable1; |
| method nonNullable1Method = self::Extension1|nonNullable1Method; |
| tearoff nonNullable1Method = self::Extension1|get#nonNullable1Method; |
| operator [] = self::Extension1|[]; |
| operator []= = self::Extension1|[]=; |
| operator + = self::Extension1|+; |
| operator unary- = self::Extension1|unary-; |
| get nonNullable1 = self::Extension1|get#nonNullable1; |
| get nonNullable2 = self::Extension1|get#nonNullable2; |
| set nullable1 = self::Extension1|set#nullable1; |
| } |
| extension Extension2 on self::Class2 { |
| method nonNullable2Method = self::Extension2|nonNullable2Method; |
| tearoff nonNullable2Method = self::Extension2|get#nonNullable2Method; |
| operator [] = self::Extension2|[]; |
| operator []= = self::Extension2|[]=; |
| operator + = self::Extension2|+; |
| operator unary- = self::Extension2|unary-; |
| get nonNullable2 = self::Extension2|get#nonNullable2; |
| set nonNullable2 = self::Extension2|set#nonNullable2; |
| } |
| extension Extension3 on self::Class3 { |
| operator [] = self::Extension3|[]; |
| } |
| static method Extension1|get#nullable1(lowered final self::Class1 #this) → self::Class1? |
| return #this.{self::Class1::property1}{self::Class1}; |
| static method Extension1|set#nullable1(lowered final self::Class1 #this, self::Class1? value) → void { |
| #this.{self::Class1::property} = value; |
| } |
| static method Extension1|nonNullable1Method(lowered final self::Class1 #this) → self::Class1 |
| return self::Extension1|get#nonNullable1(#this); |
| static method Extension1|get#nonNullable1Method(lowered final self::Class1 #this) → () → self::Class1 |
| return () → self::Class1 => self::Extension1|nonNullable1Method(#this); |
| static method Extension1|[](lowered final self::Class1 #this, self::Class1? key) → self::Class1? |
| return self::Extension1|get#nullable1(#this); |
| static method Extension1|[]=(lowered final self::Class1 #this, self::Class1? key, self::Class1? value) → void { |
| #this.{self::Class1::property} = value; |
| } |
| static method Extension1|+(lowered final self::Class1 #this, core::int value) → self::Class1? |
| return self::Extension1|get#nullable1(#this); |
| static method Extension1|unary-(lowered final self::Class1 #this) → self::Class1? |
| return self::Extension1|get#nullable1(#this); |
| static method Extension1|get#nonNullable1(lowered final self::Class1 #this) → self::Class1 |
| return #this.{self::Class1::property1}{self::Class1}; |
| static method Extension1|get#nonNullable2(lowered final self::Class1 #this) → self::Class2 |
| return #this.{self::Class1::property2}{self::Class2}; |
| static method Extension2|nonNullable2Method(lowered final self::Class2 #this) → self::Class2 |
| return self::Extension2|get#nonNullable2(#this); |
| static method Extension2|get#nonNullable2Method(lowered final self::Class2 #this) → () → self::Class2 |
| return () → self::Class2 => self::Extension2|nonNullable2Method(#this); |
| static method Extension2|[](lowered final self::Class2 #this, self::Class2? key) → self::Class2 |
| return #this.{self::Class2::property}{self::Class2}; |
| static method Extension2|[]=(lowered final self::Class2 #this, self::Class2? key, self::Class2? value) → void |
| return #this.{self::Class2::property}{self::Class2}; |
| static method Extension2|+(lowered final self::Class2 #this, core::int value) → self::Class2 |
| return #this.{self::Class2::property}{self::Class2}; |
| static method Extension2|unary-(lowered final self::Class2 #this) → self::Class2 |
| return #this.{self::Class2::property}{self::Class2}; |
| static method Extension2|get#nonNullable2(lowered final self::Class2 #this) → self::Class2 |
| return #this.{self::Class2::property}{self::Class2}; |
| static method Extension2|set#nonNullable2(lowered final self::Class2 #this, self::Class2 value) → void { |
| #this.{self::Class2::property} = value; |
| } |
| static method Extension3|[](lowered final self::Class3 #this, self::Class3? key) → self::Class2? |
| return #this.{self::Class3::property}{self::Class2?}; |
| static method main() → dynamic { |
| self::propertyAccess(null); |
| self::indexAccess(null, null, null); |
| self::operatorAccess(null, null); |
| self::ifNull(null); |
| } |
| static method propertyAccess(self::Class1? n1) → void { |
| self::Class1? nullable1 = n1; |
| let final self::Class1? #t1 = n1 in #t1 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t1{self::Class1}); |
| let final self::Class1? #t2 = n1 in #t2 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t2{self::Class1}, new self::Class1::•()); |
| nullable1 = let final self::Class1? #t3 = n1 in #t3 == null ?{self::Class1?} null : let final self::Class1 #t4 = new self::Class1::•() in let final void #t5 = self::Extension1|set#nullable1(#t3{self::Class1}, #t4) in #t4; |
| let final self::Class1? #t6 = n1 in #t6 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t6{self::Class1}); |
| let final self::Class1? #t7 = n1 in #t7 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t7{self::Class1})); |
| let final self::Class1? #t8 = n1 in #t8 == null ?{self::Class1?} null : let final self::Class1? #t9 = self::Extension1|get#nullable1(#t8{self::Class1}) in #t9 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t9{self::Class1}); |
| let final self::Class1? #t10 = n1 in #t10 == null ?{self::Class1?} null : let final self::Class1? #t11 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t10{self::Class1})) in #t11 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t11{self::Class1}); |
| let final self::Class1? #t12 = n1 in #t12 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t12{self::Class1}), new self::Class1::•()); |
| let final self::Class1? #t13 = n1 in #t13 == null ?{self::Class1?} null : let final self::Class1? #t14 = self::Extension1|get#nullable1(#t13{self::Class1}) in #t14 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t14{self::Class1}, new self::Class1::•()); |
| let final self::Class1? #t15 = n1 in #t15 == null ?{self::Class1?} null : let final self::Class1? #t16 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t15{self::Class1})) in #t16 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t16{self::Class1}, new self::Class1::•()); |
| let final self::Class1? #t17 = let final self::Class1? #t18 = n1 in #t18 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t18{self::Class1}) in #t17 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t17{self::Class1}); |
| self::throws(() → void => let final Never #t19 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart:93:59: Error: Property 'nullable1' cannot be accessed on 'Class1?' because it is potentially null. |
| - 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart'. |
| Try accessing using ?. instead. |
| throws(() => (Extension1(n1)?.nullable1 = new Class1()).nullable1); |
| ^^^^^^^^^" in self::Extension1|get#nullable1(let final self::Class1? #t20 = n1 in #t20 == null ?{self::Class1?} null : let final self::Class1 #t21 = new self::Class1::•() in let final void #t22 = self::Extension1|set#nullable1(#t20{self::Class1}, #t21) in #t21)); |
| self::throws(() → void => let final Never #t23 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart:94:55: Error: Property 'nullable1' cannot be accessed on 'Class1?' because it is potentially null. |
| - 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart'. |
| Try accessing using ?. instead. |
| throws(() => (Extension1(n1)?.nonNullable1Method()).nullable1); |
| ^^^^^^^^^" in self::Extension1|get#nullable1(let final self::Class1? #t24 = n1 in #t24 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t24{self::Class1}))); |
| nullable1 = let final self::Class1? #t25 = n1 in #t25 == null ?{self::Class1?} null : let final self::Class1 #t26 = new self::Class1::•() in let final void #t27 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t25{self::Class1}), #t26) in #t26; |
| nullable1 = let final self::Class1? #t28 = n1 in #t28 == null ?{self::Class1?} null : let final self::Class1? #t29 = self::Extension1|get#nullable1(#t28{self::Class1}) in #t29 == null ?{self::Class1?} null : let final self::Class1 #t30 = new self::Class1::•() in let final void #t31 = self::Extension1|set#nullable1(#t29{self::Class1}, #t30) in #t30; |
| nullable1 = let final self::Class1? #t32 = n1 in #t32 == null ?{self::Class1?} null : let final self::Class1? #t33 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t32{self::Class1})) in #t33 == null ?{self::Class1?} null : let final self::Class1 #t34 = new self::Class1::•() in let final void #t35 = self::Extension1|set#nullable1(#t33{self::Class1}, #t34) in #t34; |
| let final self::Class1? #t36 = n1 in #t36 == null ?{self::Class1?} null : let final self::Class1? #t37 = self::Extension1|get#nullable1(#t36{self::Class1}) in #t37 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t37{self::Class1}); |
| let final self::Class1? #t38 = n1 in #t38 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t38{self::Class1}, self::Extension1|get#nullable1(new self::Class1::•())); |
| nullable1 = let final self::Class1? #t39 = n1 in #t39 == null ?{self::Class1?} null : let final self::Class1? #t40 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t41 = self::Extension1|set#nullable1(#t39{self::Class1}, #t40) in #t40; |
| let final self::Class1? #t42 = n1 in #t42 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t42{self::Class1}, let final self::Class1 #t43 = new self::Class1::•() in let final void #t44 = self::Extension1|set#nullable1(new self::Class1::•(), #t43) in #t43); |
| nullable1 = let final self::Class1? #t45 = n1 in #t45 == null ?{self::Class1?} null : let final self::Class1 #t46 = let final self::Class1 #t47 = new self::Class1::•() in let final void #t48 = self::Extension1|set#nullable1(new self::Class1::•(), #t47) in #t47 in let final void #t49 = self::Extension1|set#nullable1(#t45{self::Class1}, #t46) in #t46; |
| let final self::Class1? #t50 = n1 in #t50 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t50{self::Class1}, self::Extension1|nonNullable1Method(new self::Class1::•())); |
| nullable1 = let final self::Class1? #t51 = n1 in #t51 == null ?{self::Class1?} null : let final self::Class1 #t52 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t53 = self::Extension1|set#nullable1(#t51{self::Class1}, #t52) in #t52; |
| let final self::Class1? #t54 = n1 in #t54 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(#t54{self::Class1})); |
| let final self::Class1? #t55 = n1 in #t55 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t55{self::Class1}), new self::Class1::•()); |
| let final self::Class1? #t56 = n1 in #t56 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t56{self::Class1})); |
| let final self::Class1? #t57 = n1 in #t57 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t57{self::Class1}))); |
| let final self::Class1? #t58 = n1 in #t58 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t58{self::Class1})), new self::Class1::•()); |
| nullable1 = let final self::Class1? #t59 = n1 in #t59 == null ?{self::Class1?} null : let final self::Class1 #t60 = new self::Class1::•() in let final void #t61 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t59{self::Class1})), #t60) in #t60; |
| let final self::Class1? #t62 = n1 in #t62 == null ?{self::Class1?} null : let final self::Class1? #t63 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t62{self::Class1})) in #t63 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t63{self::Class1}); |
| let final self::Class1? #t64 = n1 in #t64 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t64{self::Class1}, self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•()))); |
| nullable1 = let final self::Class1? #t65 = n1 in #t65 == null ?{self::Class1?} null : let final self::Class1? #t66 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•())) in let final void #t67 = self::Extension1|set#nullable1(#t65{self::Class1}, #t66) in #t66; |
| let final self::Class1? #t68 = n1 in #t68 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t68{self::Class1}, let final self::Class1 #t69 = new self::Class1::•() in let final void #t70 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•()), #t69) in #t69); |
| nullable1 = let final self::Class1? #t71 = n1 in #t71 == null ?{self::Class1?} null : let final self::Class1 #t72 = let final self::Class1 #t73 = new self::Class1::•() in let final void #t74 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•()), #t73) in #t73 in let final void #t75 = self::Extension1|set#nullable1(#t71{self::Class1}, #t72) in #t72; |
| let final self::Class1? #t76 = n1 in #t76 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t76{self::Class1}, self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(new self::Class1::•()))); |
| nullable1 = let final self::Class1? #t77 = n1 in #t77 == null ?{self::Class1?} null : let final self::Class1 #t78 = self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(new self::Class1::•())) in let final void #t79 = self::Extension1|set#nullable1(#t77{self::Class1}, #t78) in #t78; |
| let final self::Class1? #t80 = n1 in #t80 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t80{self::Class1}))); |
| let final self::Class1? #t81 = n1 in #t81 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t81{self::Class1})), new self::Class1::•()); |
| let final self::Class1? #t82 = n1 in #t82 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t82{self::Class1}))); |
| let final self::Class1? #t83 = n1 in #t83 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t83{self::Class1}), self::Extension1|get#nullable1(new self::Class1::•())); |
| nullable1 = let final self::Class1? #t84 = n1 in #t84 == null ?{self::Class1?} null : let final self::Class1? #t85 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t86 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t84{self::Class1}), #t85) in #t85; |
| let final self::Class1? #t87 = n1 in #t87 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t87{self::Class1}), let final self::Class1 #t88 = new self::Class1::•() in let final void #t89 = self::Extension1|set#nullable1(new self::Class1::•(), #t88) in #t88); |
| nullable1 = let final self::Class1? #t90 = n1 in #t90 == null ?{self::Class1?} null : let final self::Class1 #t91 = let final self::Class1 #t92 = new self::Class1::•() in let final void #t93 = self::Extension1|set#nullable1(new self::Class1::•(), #t92) in #t92 in let final void #t94 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t90{self::Class1}), #t91) in #t91; |
| let final self::Class1? #t95 = n1 in #t95 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t95{self::Class1}), self::Extension1|nonNullable1Method(new self::Class1::•())); |
| nullable1 = let final self::Class1? #t96 = n1 in #t96 == null ?{self::Class1?} null : let final self::Class1 #t97 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t98 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t96{self::Class1}), #t97) in #t97; |
| let final self::Class1? #t99 = n1 in #t99 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t99{self::Class1}, let final self::Class1? #t100 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t101 = self::Extension1|set#nullable1(new self::Class1::•(), #t100) in #t100); |
| nullable1 = let final self::Class1? #t102 = n1 in #t102 == null ?{self::Class1?} null : let final self::Class1? #t103 = let final self::Class1? #t104 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t105 = self::Extension1|set#nullable1(new self::Class1::•(), #t104) in #t104 in let final void #t106 = self::Extension1|set#nullable1(#t102{self::Class1}, #t103) in #t103; |
| let final self::Class1? #t107 = n1 in #t107 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t107{self::Class1}, let final self::Class1 #t108 = let final self::Class1 #t109 = new self::Class1::•() in let final void #t110 = self::Extension1|set#nullable1(new self::Class1::•(), #t109) in #t109 in let final void #t111 = self::Extension1|set#nullable1(new self::Class1::•(), #t108) in #t108); |
| nullable1 = let final self::Class1? #t112 = n1 in #t112 == null ?{self::Class1?} null : let final self::Class1 #t113 = let final self::Class1 #t114 = let final self::Class1 #t115 = new self::Class1::•() in let final void #t116 = self::Extension1|set#nullable1(new self::Class1::•(), #t115) in #t115 in let final void #t117 = self::Extension1|set#nullable1(new self::Class1::•(), #t114) in #t114 in let final void #t118 = self::Extension1|set#nullable1(#t112{self::Class1}, #t113) in #t113; |
| let final self::Class1? #t119 = n1 in #t119 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t119{self::Class1}, let final self::Class1 #t120 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t121 = self::Extension1|set#nullable1(new self::Class1::•(), #t120) in #t120); |
| nullable1 = let final self::Class1? #t122 = n1 in #t122 == null ?{self::Class1?} null : let final self::Class1 #t123 = let final self::Class1 #t124 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t125 = self::Extension1|set#nullable1(new self::Class1::•(), #t124) in #t124 in let final void #t126 = self::Extension1|set#nullable1(#t122{self::Class1}, #t123) in #t123; |
| let final self::Class1? #t127 = n1 in #t127 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t127{self::Class1}), self::Extension1|get#nullable1(new self::Class1::•())); |
| nullable1 = let final self::Class1? #t128 = n1 in #t128 == null ?{self::Class1?} null : let final self::Class1? #t129 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t130 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t128{self::Class1}), #t129) in #t129; |
| let final self::Class1? #t131 = n1 in #t131 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t131{self::Class1}), let final self::Class1 #t132 = new self::Class1::•() in let final void #t133 = self::Extension1|set#nullable1(new self::Class1::•(), #t132) in #t132); |
| nullable1 = let final self::Class1? #t134 = n1 in #t134 == null ?{self::Class1?} null : let final self::Class1 #t135 = let final self::Class1 #t136 = new self::Class1::•() in let final void #t137 = self::Extension1|set#nullable1(new self::Class1::•(), #t136) in #t136 in let final void #t138 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t134{self::Class1}), #t135) in #t135; |
| let final self::Class1? #t139 = n1 in #t139 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t139{self::Class1}), self::Extension1|nonNullable1Method(new self::Class1::•())); |
| nullable1 = let final self::Class1? #t140 = n1 in #t140 == null ?{self::Class1?} null : let final self::Class1 #t141 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t142 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t140{self::Class1}), #t141) in #t141; |
| let final self::Class1? #t143 = n1 in #t143 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t143{self::Class1}))); |
| let final self::Class1? #t144 = n1 in #t144 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t144{self::Class1})), new self::Class1::•()); |
| nullable1 = let final self::Class1? #t145 = n1 in #t145 == null ?{self::Class1?} null : let final self::Class1 #t146 = new self::Class1::•() in let final void #t147 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t145{self::Class1})), #t146) in #t146; |
| let final self::Class1? #t148 = n1 in #t148 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t148{self::Class1}))); |
| let final self::Class1? #t149 = n1 in #t149 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t149{self::Class1}, self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•()))); |
| nullable1 = let final self::Class1? #t150 = n1 in #t150 == null ?{self::Class1?} null : let final self::Class1? #t151 = self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•())) in let final void #t152 = self::Extension1|set#nullable1(#t150{self::Class1}, #t151) in #t151; |
| let final self::Class1? #t153 = n1 in #t153 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t153{self::Class1}, let final self::Class1 #t154 = new self::Class1::•() in let final void #t155 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•()), #t154) in #t154); |
| nullable1 = let final self::Class1? #t156 = n1 in #t156 == null ?{self::Class1?} null : let final self::Class1 #t157 = let final self::Class1 #t158 = new self::Class1::•() in let final void #t159 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•()), #t158) in #t158 in let final void #t160 = self::Extension1|set#nullable1(#t156{self::Class1}, #t157) in #t157; |
| let final self::Class1? #t161 = n1 in #t161 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t161{self::Class1}, self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(new self::Class1::•()))); |
| nullable1 = let final self::Class1? #t162 = n1 in #t162 == null ?{self::Class1?} null : let final self::Class1 #t163 = self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(new self::Class1::•())) in let final void #t164 = self::Extension1|set#nullable1(#t162{self::Class1}, #t163) in #t163; |
| let final self::Class1? #t165 = n1 in #t165 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t165{self::Class1}))); |
| let final self::Class1? #t166 = n1 in #t166 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t166{self::Class1})), new self::Class1::•()); |
| let final self::Class1? #t167 = n1 in #t167 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t167{self::Class1}))); |
| let final self::Class1? #t168 = n1 in #t168 == null ?{self::Class1?} null : let final self::Class1? #t169 = self::Extension1|nonNullable1Method(#t168{self::Class1}) in #t169 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t169{self::Class1}); |
| } |
| static method indexAccess(self::Class1? n1, self::Class2? n2, self::Class3? n3) → void { |
| self::Class1? nullable1 = n1; |
| self::Class2? nullable2 = n2; |
| self::Class3? nullable3 = n3; |
| let final self::Class1? #t170 = n1 in #t170 == null ?{self::Class1?} null : self::Extension1|[](#t170{self::Class1}, nullable1); |
| let final self::Class1? #t171 = n1 in #t171 == null ?{void} null : self::Extension1|[]=(#t171{self::Class1}, nullable1, new self::Class1::•()); |
| let final self::Class1? #t172 = n1 in #t172 == null ?{self::Class1?} null : let final self::Class1? #t173 = self::Extension1|[](#t172{self::Class1}, nullable1) in #t173 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t173{self::Class1}); |
| let final self::Class1? #t174 = n1 in #t174 == null ?{self::Class1?} null : self::Extension1|[](self::Extension1|get#nonNullable1(#t174{self::Class1}), nullable1); |
| let final self::Class1? #t175 = n1 in #t175 == null ?{self::Class1?} null : self::Extension1|[]=(self::Extension1|get#nonNullable1(#t175{self::Class1}), nullable1, new self::Class1::•()); |
| nullable1 = let final self::Class1? #t176 = n1 in #t176 == null ?{self::Class1?} null : let final self::Class1 #t177 = self::Extension1|get#nonNullable1(#t176{self::Class1}) in let final self::Class1? #t178 = nullable1 in let final self::Class1 #t179 = new self::Class1::•() in let final void #t180 = self::Extension1|[]=(#t177, #t178, #t179) in #t179; |
| let final self::Class1? #t181 = n1 in #t181 == null ?{self::Class1?} null : let final self::Class1? #t182 = self::Extension1|[](self::Extension1|get#nonNullable1(#t181{self::Class1}), nullable1) in #t182 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t182{self::Class1}); |
| let final self::Class1? #t183 = n1 in #t183 == null ?{self::Class2?} null : let final self::Class2 #t184 = self::Extension1|get#nonNullable2(#t183{self::Class1}) in let final self::Class2? #t185 = nullable2 in self::Extension2|[]=(#t184, #t185, self::Extension2|+(self::Extension2|[](#t184, #t185), 0)); |
| nullable2 = let final self::Class1? #t186 = n1 in #t186 == null ?{self::Class2?} null : let final self::Class2 #t187 = self::Extension1|get#nonNullable2(#t186{self::Class1}) in let final self::Class2? #t188 = nullable2 in let final self::Class2 #t189 = self::Extension2|+(self::Extension2|[](#t187, #t188), 0) in let final void #t190 = self::Extension2|[]=(#t187, #t188, #t189) in #t189; |
| let final self::Class1? #t191 = n1 in #t191 == null ?{self::Class1?} null : let final self::Class1? #t192 = nullable1 in self::Extension1|[](#t191{self::Class1}, #t192) == null ?{self::Class1?} self::Extension1|[]=(#t191{self::Class1}, #t192, nullable1) : null; |
| nullable1 = let final self::Class1? #t193 = n1 in #t193 == null ?{self::Class1?} null : let final self::Class1? #t194 = nullable1 in let final self::Class1? #t195 = self::Extension1|[](#t193{self::Class1}, #t194) in #t195 == null ?{self::Class1?} let final self::Class1? #t196 = nullable1 in let final void #t197 = self::Extension1|[]=(#t193{self::Class1}, #t194, #t196) in #t196 : #t195{self::Class1}; |
| let final self::Class2? #t198 = n2 in #t198 == null ?{self::Class2?} null : let final self::Class2? #t199 = nullable2 in self::Extension2|[]=(#t198{self::Class2}, #t199, self::Extension2|+(self::Extension2|[](#t198{self::Class2}, #t199), 0)); |
| nullable2 = let final self::Class2? #t200 = n2 in #t200 == null ?{self::Class2?} null : let final self::Class2? #t201 = nullable2 in let final self::Class2 #t202 = self::Extension2|+(self::Extension2|[](#t200{self::Class2}, #t201), 0) in let final void #t203 = self::Extension2|[]=(#t200{self::Class2}, #t201, #t202) in #t202; |
| let final self::Class2? #t204 = n2 in #t204 == null ?{self::Class2?} null : let final self::Class2? #t205 = nullable2 in self::Extension2|[]=(#t204{self::Class2}, #t205, self::Extension2|+(self::Extension2|[](#t204{self::Class2}, #t205), 0)); |
| nullable2 = let final self::Class2? #t206 = n2 in #t206 == null ?{self::Class2?} null : let final self::Class2? #t207 = nullable2 in let final self::Class2 #t208 = self::Extension2|+(self::Extension2|[](#t206{self::Class2}, #t207), 0) in let final void #t209 = self::Extension2|[]=(#t206{self::Class2}, #t207, #t208) in #t208; |
| let final self::Class2? #t210 = n2 in #t210 == null ?{self::Class2?} null : let final self::Class2? #t211 = nullable2 in self::Extension2|[]=(#t210{self::Class2}, #t211, self::Extension2|+(self::Extension2|[](#t210{self::Class2}, #t211), 1)); |
| nullable2 = let final self::Class2? #t212 = n2 in #t212 == null ?{self::Class2?} null : let final self::Class2? #t213 = nullable2 in let final self::Class2 #t214 = self::Extension2|[](#t212{self::Class2}, #t213) in let final void #t215 = self::Extension2|[]=(#t212{self::Class2}, #t213, self::Extension2|+(#t214, 1)) in #t214; |
| let final self::Class2? #t216 = n2 in #t216 == null ?{self::Class2?} null : let final self::Class2? #t217 = nullable2 in let final self::Class2 #t218 = self::Extension2|+(self::Extension2|[](#t216{self::Class2}, #t217), 1) in let final void #t219 = self::Extension2|[]=(#t216{self::Class2}, #t217, #t218) in #t218; |
| nullable2 = let final self::Class2? #t220 = n2 in #t220 == null ?{self::Class2?} null : let final self::Class2? #t221 = nullable2 in let final self::Class2 #t222 = self::Extension2|+(self::Extension2|[](#t220{self::Class2}, #t221), 1) in let final void #t223 = self::Extension2|[]=(#t220{self::Class2}, #t221, #t222) in #t222; |
| let final self::Class1? #t224 = n1 in #t224 == null ?{self::Class2?} null : let final self::Class2 #t225 = self::Extension1|get#nonNullable2(#t224{self::Class1}) in let final self::Class2? #t226 = nullable2 in self::Extension2|[]=(#t225, #t226, self::Extension2|+(self::Extension2|[](#t225, #t226), 1)); |
| nullable2 = let final self::Class1? #t227 = n1 in #t227 == null ?{self::Class2?} null : let final self::Class2 #t228 = self::Extension1|get#nonNullable2(#t227{self::Class1}) in let final self::Class2? #t229 = nullable2 in let final self::Class2 #t230 = self::Extension2|[](#t228, #t229) in let final void #t231 = self::Extension2|[]=(#t228, #t229, self::Extension2|+(#t230, 1)) in #t230; |
| let final self::Class1? #t232 = n1 in #t232 == null ?{self::Class2?} null : let final self::Class2 #t233 = self::Extension1|get#nonNullable2(#t232{self::Class1}) in let final self::Class2? #t234 = nullable2 in let final self::Class2 #t235 = self::Extension2|+(self::Extension2|[](#t233, #t234), 1) in let final void #t236 = self::Extension2|[]=(#t233, #t234, #t235) in #t235; |
| nullable2 = let final self::Class1? #t237 = n1 in #t237 == null ?{self::Class2?} null : let final self::Class2 #t238 = self::Extension1|get#nonNullable2(#t237{self::Class1}) in let final self::Class2? #t239 = nullable2 in let final self::Class2 #t240 = self::Extension2|+(self::Extension2|[](#t238, #t239), 1) in let final void #t241 = self::Extension2|[]=(#t238, #t239, #t240) in #t240; |
| let final self::Class1? #t242 = n1 in #t242 == null ?{self::Class2?} null : self::Extension2|[](self::Extension2|[](self::Extension1|get#nonNullable2(#t242{self::Class1}), nullable2), nullable2); |
| let final self::Class1? #t243 = n1 in #t243 == null ?{self::Class2?} null : self::Extension2|[]=(self::Extension2|[](self::Extension1|get#nonNullable2(#t243{self::Class1}), nullable2), nullable2, new self::Class2::•()); |
| nullable2 = let final self::Class1? #t244 = n1 in #t244 == null ?{self::Class2?} null : let final self::Class2 #t245 = self::Extension2|[](self::Extension1|get#nonNullable2(#t244{self::Class1}), nullable2) in let final self::Class2? #t246 = nullable2 in let final self::Class2 #t247 = new self::Class2::•() in let final void #t248 = self::Extension2|[]=(#t245, #t246, #t247) in #t247; |
| let final self::Class1? #t249 = n1 in #t249 == null ?{self::Class2?} null : let final self::Class2? #t250 = self::Extension2|[](self::Extension2|[](self::Extension1|get#nonNullable2(#t249{self::Class1}), nullable2), nullable2) in #t250 == null ?{self::Class2?} null : self::Extension2|nonNullable2Method(#t250{self::Class2}); |
| let final self::Class1? #t251 = n1 in #t251 == null ?{self::Class2?} null : let final self::Class2 #t252 = self::Extension2|[](self::Extension1|get#nonNullable2(#t251{self::Class1}), nullable2) in let final self::Class2? #t253 = nullable2 in self::Extension2|[]=(#t252, #t253, self::Extension2|+(self::Extension2|[](#t252, #t253), 0)); |
| nullable2 = let final self::Class1? #t254 = n1 in #t254 == null ?{self::Class2?} null : let final self::Class2 #t255 = self::Extension2|[](self::Extension1|get#nonNullable2(#t254{self::Class1}), nullable2) in let final self::Class2? #t256 = nullable2 in let final self::Class2 #t257 = self::Extension2|+(self::Extension2|[](#t255, #t256), 0) in let final void #t258 = self::Extension2|[]=(#t255, #t256, #t257) in #t257; |
| let final self::Class1? #t259 = n1 in #t259 == null ?{self::Class2?} null : let final self::Class2 #t260 = self::Extension2|[](self::Extension1|get#nonNullable2(#t259{self::Class1}), nullable2) in let final self::Class2? #t261 = nullable2 in self::Extension2|[]=(#t260, #t261, self::Extension2|+(self::Extension2|[](#t260, #t261), 1)); |
| nullable2 = let final self::Class1? #t262 = n1 in #t262 == null ?{self::Class2?} null : let final self::Class2 #t263 = self::Extension2|[](self::Extension1|get#nonNullable2(#t262{self::Class1}), nullable2) in let final self::Class2? #t264 = nullable2 in let final self::Class2 #t265 = self::Extension2|[](#t263, #t264) in let final void #t266 = self::Extension2|[]=(#t263, #t264, self::Extension2|+(#t265, 1)) in #t265; |
| let final self::Class1? #t267 = n1 in #t267 == null ?{self::Class2?} null : let final self::Class2 #t268 = self::Extension2|[](self::Extension1|get#nonNullable2(#t267{self::Class1}), nullable2) in let final self::Class2? #t269 = nullable2 in let final self::Class2 #t270 = self::Extension2|+(self::Extension2|[](#t268, #t269), 1) in let final void #t271 = self::Extension2|[]=(#t268, #t269, #t270) in #t270; |
| nullable2 = let final self::Class1? #t272 = n1 in #t272 == null ?{self::Class2?} null : let final self::Class2 #t273 = self::Extension2|[](self::Extension1|get#nonNullable2(#t272{self::Class1}), nullable2) in let final self::Class2? #t274 = nullable2 in let final self::Class2 #t275 = self::Extension2|+(self::Extension2|[](#t273, #t274), 1) in let final void #t276 = self::Extension2|[]=(#t273, #t274, #t275) in #t275; |
| let final self::Class1? #t277 = n1 in #t277 == null ?{self::Class1?} null : let final self::Class1? #t278 = self::Extension1|[](#t277{self::Class1}, nullable1) in #t278 == null ?{self::Class1?} null : self::Extension1|[](#t278{self::Class1}, nullable1); |
| let final self::Class1? #t279 = n1 in #t279 == null ?{self::Class1?} null : let final self::Class1? #t280 = self::Extension1|[](#t279{self::Class1}, nullable1) in #t280 == null ?{self::Class1?} null : self::Extension1|[]=(#t280{self::Class1}, nullable1, new self::Class1::•()); |
| nullable1 = let final self::Class1? #t281 = n1 in #t281 == null ?{self::Class1?} null : let final self::Class1? #t282 = self::Extension1|[](#t281{self::Class1}, nullable1) in #t282 == null ?{self::Class1?} null : let final self::Class1? #t283 = nullable1 in let final self::Class1 #t284 = new self::Class1::•() in let final void #t285 = self::Extension1|[]=(#t282{self::Class1}, #t283, #t284) in #t284; |
| let final self::Class1? #t286 = n1 in #t286 == null ?{self::Class1?} null : let final self::Class1? #t287 = self::Extension1|[](#t286{self::Class1}, nullable1) in #t287 == null ?{self::Class1?} null : let final self::Class1? #t288 = self::Extension1|[](#t287{self::Class1}, nullable1) in #t288 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t288{self::Class1}); |
| nullable1 = let final self::Class1? #t289 = n1 in #t289 == null ?{self::Class1?} null : let final self::Class1? #t290 = self::Extension1|[](#t289{self::Class1}, nullable1) in #t290 == null ?{self::Class1?} null : let final self::Class1? #t291 = self::Extension1|[](#t290{self::Class1}, nullable1) in #t291 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t291{self::Class1}); |
| let final self::Class1? #t292 = n1 in #t292 == null ?{self::Class1?} null : let final self::Class1? #t293 = self::Extension1|[](#t292{self::Class1}, nullable1) in #t293 == null ?{self::Class1?} null : let final self::Class1? #t294 = nullable1 in self::Extension1|[](#t293{self::Class1}, #t294) == null ?{self::Class1?} self::Extension1|[]=(#t293{self::Class1}, #t294, nullable1) : null; |
| nullable1 = let final self::Class1? #t295 = n1 in #t295 == null ?{self::Class1?} null : let final self::Class1? #t296 = self::Extension1|[](#t295{self::Class1}, nullable1) in #t296 == null ?{self::Class1?} null : let final self::Class1? #t297 = nullable1 in let final self::Class1? #t298 = self::Extension1|[](#t296{self::Class1}, #t297) in #t298 == null ?{self::Class1?} let final self::Class1? #t299 = nullable1 in let final void #t300 = self::Extension1|[]=(#t296{self::Class1}, #t297, #t299) in #t299 : #t298{self::Class1}; |
| let final self::Class3? #t301 = n3 in #t301 == null ?{self::Class2?} null : let final self::Class2? #t302 = self::Extension3|[](#t301{self::Class3}, nullable3) in #t302 == null ?{self::Class2?} null : let final self::Class2? #t303 = nullable2 in self::Extension2|[]=(#t302{self::Class2}, #t303, self::Extension2|+(self::Extension2|[](#t302{self::Class2}, #t303), 0)); |
| nullable2 = let final self::Class3? #t304 = n3 in #t304 == null ?{self::Class2?} null : let final self::Class2? #t305 = self::Extension3|[](#t304{self::Class3}, nullable3) in #t305 == null ?{self::Class2?} null : let final self::Class2? #t306 = nullable2 in let final self::Class2 #t307 = self::Extension2|+(self::Extension2|[](#t305{self::Class2}, #t306), 0) in let final void #t308 = self::Extension2|[]=(#t305{self::Class2}, #t306, #t307) in #t307; |
| let final self::Class3? #t309 = n3 in #t309 == null ?{self::Class2?} null : let final self::Class2? #t310 = self::Extension3|[](#t309{self::Class3}, nullable3) in #t310 == null ?{self::Class2?} null : let final self::Class2? #t311 = nullable2 in self::Extension2|[]=(#t310{self::Class2}, #t311, self::Extension2|+(self::Extension2|[](#t310{self::Class2}, #t311), 1)); |
| nullable2 = let final self::Class3? #t312 = n3 in #t312 == null ?{self::Class2?} null : let final self::Class2? #t313 = self::Extension3|[](#t312{self::Class3}, nullable3) in #t313 == null ?{self::Class2?} null : let final self::Class2? #t314 = nullable2 in let final self::Class2 #t315 = self::Extension2|[](#t313{self::Class2}, #t314) in let final void #t316 = self::Extension2|[]=(#t313{self::Class2}, #t314, self::Extension2|+(#t315, 1)) in #t315; |
| let final self::Class3? #t317 = n3 in #t317 == null ?{self::Class2?} null : let final self::Class2? #t318 = self::Extension3|[](#t317{self::Class3}, nullable3) in #t318 == null ?{self::Class2?} null : let final self::Class2? #t319 = nullable2 in let final self::Class2 #t320 = self::Extension2|+(self::Extension2|[](#t318{self::Class2}, #t319), 1) in let final void #t321 = self::Extension2|[]=(#t318{self::Class2}, #t319, #t320) in #t320; |
| nullable2 = let final self::Class3? #t322 = n3 in #t322 == null ?{self::Class2?} null : let final self::Class2? #t323 = self::Extension3|[](#t322{self::Class3}, nullable3) in #t323 == null ?{self::Class2?} null : let final self::Class2? #t324 = nullable2 in let final self::Class2 #t325 = self::Extension2|+(self::Extension2|[](#t323{self::Class2}, #t324), 1) in let final void #t326 = self::Extension2|[]=(#t323{self::Class2}, #t324, #t325) in #t325; |
| } |
| static method operatorAccess(self::Class1? n1, self::Class2? n2) → void { |
| self::Class2? nullable2 = n2; |
| self::throws(() → void => let final Never #t327 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart:244:45: Error: Operator '+' cannot be called on 'Class1?' because it is potentially null. |
| - 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart'. |
| throws(() => Extension1(n1)?.nonNullable1 + 0); |
| ^" in self::Extension1|+(let final self::Class1? #t328 = n1 in #t328 == null ?{self::Class1?} null : self::Extension1|get#nonNullable1(#t328{self::Class1}), 0)); |
| self::throws(() → void => let final Never #t329 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart:245:16: Error: Operator 'unary-' cannot be called on 'Class1?' because it is potentially null. |
| - 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart'. |
| throws(() => -Extension1(n1)?.nonNullable1); |
| ^" in self::Extension1|unary-(let final self::Class1? #t330 = n1 in #t330 == null ?{self::Class1?} null : self::Extension1|get#nonNullable1(#t330{self::Class1}))); |
| let final self::Class2? #t331 = n2 in #t331 == null ?{self::Class2?} null : self::Extension2|set#nonNullable2(#t331{self::Class2}, self::Extension2|+(self::Extension2|get#nonNullable2(#t331{self::Class2}), 0)); |
| nullable2 = let final self::Class2? #t332 = n2 in #t332 == null ?{self::Class2?} null : let final self::Class2 #t333 = self::Extension2|+(self::Extension2|get#nonNullable2(#t332{self::Class2}), 0) in let final void #t334 = self::Extension2|set#nonNullable2(#t332{self::Class2}, #t333) in #t333; |
| let final self::Class2? #t335 = n2 in #t335 == null ?{self::Class2?} null : let final self::Class2 #t336 = self::Extension2|get#nonNullable2(#t335{self::Class2}) in self::Extension2|set#nonNullable2(#t336, self::Extension2|+(self::Extension2|get#nonNullable2(#t336), 0)); |
| nullable2 = let final self::Class2? #t337 = n2 in #t337 == null ?{self::Class2?} null : let final self::Class2 #t338 = self::Extension2|get#nonNullable2(#t337{self::Class2}) in let final self::Class2 #t339 = self::Extension2|+(self::Extension2|get#nonNullable2(#t338), 0) in let final void #t340 = self::Extension2|set#nonNullable2(#t338, #t339) in #t339; |
| let final self::Class2? #t341 = n2 in #t341 == null ?{self::Class2?} null : self::Extension2|set#nonNullable2(#t341{self::Class2}, self::Extension2|+(self::Extension2|get#nonNullable2(#t341{self::Class2}), 1)); |
| nullable2 = let final self::Class2? #t342 = n2 in #t342 == null ?{self::Class2?} null : let final self::Class2 #t343 = self::Extension2|get#nonNullable2(#t342{self::Class2}) in let final self::Class2 #t344 = let final self::Class2 #t345 = self::Extension2|+(#t343, 1) in let final void #t346 = self::Extension2|set#nonNullable2(#t342{self::Class2}, #t345) in #t345 in #t343; |
| let final self::Class2? #t347 = n2 in #t347 == null ?{self::Class2?} null : let final self::Class2 #t348 = self::Extension2|+(self::Extension2|get#nonNullable2(#t347{self::Class2}), 1) in let final void #t349 = self::Extension2|set#nonNullable2(#t347{self::Class2}, #t348) in #t348; |
| nullable2 = let final self::Class2? #t350 = n2 in #t350 == null ?{self::Class2?} null : let final self::Class2 #t351 = self::Extension2|+(self::Extension2|get#nonNullable2(#t350{self::Class2}), 1) in let final void #t352 = self::Extension2|set#nonNullable2(#t350{self::Class2}, #t351) in #t351; |
| } |
| static method ifNull(self::Class1? n1) → void { |
| self::Class1? nullable1 = n1; |
| let final self::Class1? #t353 = n1 in #t353 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t353) == null ?{self::Class1} self::Extension1|set#nullable1(#t353, n1{self::Class1}) : null; |
| n1 = let final self::Class1? #t354 = n1 in #t354 == null ?{self::Class1?} null : let final self::Class1? #t355 = self::Extension1|get#nullable1(#t354) in #t355 == null ?{self::Class1} let final self::Class1 #t356 = n1{self::Class1} in let final void #t357 = self::Extension1|set#nullable1(#t354, #t356) in #t356 : #t355{self::Class1}; |
| let final self::Class1? #t358 = n1 in #t358 == null ?{self::Class1?} null : let final self::Class1 #t359 = self::Extension1|get#nonNullable1(#t358{self::Class1}) in self::Extension1|get#nullable1(#t359) == null ?{self::Class1} self::Extension1|set#nullable1(#t359, n1{self::Class1}) : null; |
| n1 = let final self::Class1? #t360 = n1 in #t360 == null ?{self::Class1?} null : let final self::Class1 #t361 = self::Extension1|get#nonNullable1(#t360{self::Class1}) in let final self::Class1? #t362 = self::Extension1|get#nullable1(#t361) in #t362 == null ?{self::Class1} let final self::Class1 #t363 = n1{self::Class1} in let final void #t364 = self::Extension1|set#nullable1(#t361, #t363) in #t363 : #t362{self::Class1}; |
| let final self::Class1? #t365 = n1 in #t365 == null ?{self::Class1?} null : let final self::Class1 #t366 = self::Extension1|get#nonNullable1(#t365{self::Class1}) in let final self::Class1 #t367 = n1{self::Class1} in self::Extension1|[](#t366, #t367) == null ?{self::Class1} self::Extension1|[]=(#t366, #t367, n1{self::Class1}) : null; |
| n1 = let final self::Class1? #t368 = n1 in #t368 == null ?{self::Class1?} null : let final self::Class1 #t369 = self::Extension1|get#nonNullable1(#t368{self::Class1}) in let final self::Class1 #t370 = n1{self::Class1} in let final self::Class1? #t371 = self::Extension1|[](#t369, #t370) in #t371 == null ?{self::Class1} let final self::Class1 #t372 = n1{self::Class1} in let final void #t373 = self::Extension1|[]=(#t369, #t370, #t372) in #t372 : #t371{self::Class1}; |
| } |
| static method throws(() → void f) → void { |
| try { |
| f(){() → void}; |
| } |
| on core::Object catch(final core::Object _) { |
| return; |
| } |
| throw "Expected exception."; |
| } |