[cfe] Adjust static type of conditionals in if-null desugarings

Closes https://github.com/dart-lang/sdk/issues/55341

Change-Id: I2eb8ad23e9ccae7a01b07136a0e2f3f2e900ea4b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/360865
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Chloe Stefantsova <cstefantsova@google.com>
This commit is contained in:
Chloe Stefantsova 2024-04-04 09:14:30 +00:00 committed by Commit Queue
parent cb64e6e1ed
commit d4d7884324
69 changed files with 151 additions and 146 deletions

View file

@ -5735,8 +5735,13 @@ class InferenceVisitorImpl extends InferenceVisitorBase
//
Expression equalsNull =
createEqualsNull(read, fileOffset: node.testOffset);
ConditionalExpression conditional = new ConditionalExpression(equalsNull,
write, new NullLiteral()..fileOffset = node.testOffset, inferredType)
ConditionalExpression conditional = new ConditionalExpression(
equalsNull,
write,
new NullLiteral()..fileOffset = node.testOffset,
isNonNullableByDefault
? inferredType.withDeclaredNullability(Nullability.nullable)
: inferredType)
..fileOffset = node.testOffset;
inner = conditional;
} else {

View file

@ -54,11 +54,11 @@ static method implicit() → dynamic {
self::expect("1", self::Extension|[]<core::int, core::String>(map1, 1));
self::expect("2", let final self::MapLike<core::int, core::String> #t10 = map1 in let final core::int #t11 = 1 in let final core::String #t12 = "2" in let final void #t13 = self::Extension|[]=<core::int, core::String>(#t10, #t11, #t12) in #t12);
self::expect("2", self::Extension|[]<core::int, core::String>(map1, 1));
let final self::MapLike<core::int, core::String> #t14 = map1 in let final core::int #t15 = 1 in self::Extension|[]<core::int, core::String>(#t14, #t15) == null ?{core::String} self::Extension|[]=<core::int, core::String>(#t14, #t15, "3") : null;
let final self::MapLike<core::int, core::String> #t14 = map1 in let final core::int #t15 = 1 in self::Extension|[]<core::int, core::String>(#t14, #t15) == null ?{core::String?} self::Extension|[]=<core::int, core::String>(#t14, #t15, "3") : null;
self::expect("2", self::Extension|[]<core::int, core::String>(map1, 1));
self::expect("2", let final self::MapLike<core::int, core::String> #t16 = map1 in let final core::int #t17 = 1 in let final core::String? #t18 = self::Extension|[]<core::int, core::String>(#t16, #t17) in #t18 == null ?{core::String} let final core::String #t19 = "4" in let final void #t20 = self::Extension|[]=<core::int, core::String>(#t16, #t17, #t19) in #t19 : #t18{core::String});
self::expect("2", self::Extension|[]<core::int, core::String>(map1, 1));
let final self::MapLike<core::int, core::String> #t21 = map1 in let final core::int #t22 = 2 in self::Extension|[]<core::int, core::String>(#t21, #t22) == null ?{core::String} self::Extension|[]=<core::int, core::String>(#t21, #t22, "2") : null;
let final self::MapLike<core::int, core::String> #t21 = map1 in let final core::int #t22 = 2 in self::Extension|[]<core::int, core::String>(#t21, #t22) == null ?{core::String?} self::Extension|[]=<core::int, core::String>(#t21, #t22, "2") : null;
self::expect("2", self::Extension|[]<core::int, core::String>(map1, 2));
self::expect("3", let final self::MapLike<core::int, core::String> #t23 = map1 in let final core::int #t24 = 3 in let final core::String? #t25 = self::Extension|[]<core::int, core::String>(#t23, #t24) in #t25 == null ?{core::String} let final core::String #t26 = "3" in let final void #t27 = self::Extension|[]=<core::int, core::String>(#t23, #t24, #t26) in #t26 : #t25{core::String});
self::expect("3", self::Extension|[]<core::int, core::String>(map1, 3));

View file

@ -54,11 +54,11 @@ static method implicit() → dynamic {
self::expect("1", self::Extension|[]<core::int, core::String>(map1, 1));
self::expect("2", let final self::MapLike<core::int, core::String> #t10 = map1 in let final core::int #t11 = 1 in let final core::String #t12 = "2" in let final void #t13 = self::Extension|[]=<core::int, core::String>(#t10, #t11, #t12) in #t12);
self::expect("2", self::Extension|[]<core::int, core::String>(map1, 1));
let final self::MapLike<core::int, core::String> #t14 = map1 in let final core::int #t15 = 1 in self::Extension|[]<core::int, core::String>(#t14, #t15) == null ?{core::String} self::Extension|[]=<core::int, core::String>(#t14, #t15, "3") : null;
let final self::MapLike<core::int, core::String> #t14 = map1 in let final core::int #t15 = 1 in self::Extension|[]<core::int, core::String>(#t14, #t15) == null ?{core::String?} self::Extension|[]=<core::int, core::String>(#t14, #t15, "3") : null;
self::expect("2", self::Extension|[]<core::int, core::String>(map1, 1));
self::expect("2", let final self::MapLike<core::int, core::String> #t16 = map1 in let final core::int #t17 = 1 in let final core::String? #t18 = self::Extension|[]<core::int, core::String>(#t16, #t17) in #t18 == null ?{core::String} let final core::String #t19 = "4" in let final void #t20 = self::Extension|[]=<core::int, core::String>(#t16, #t17, #t19) in #t19 : #t18{core::String});
self::expect("2", self::Extension|[]<core::int, core::String>(map1, 1));
let final self::MapLike<core::int, core::String> #t21 = map1 in let final core::int #t22 = 2 in self::Extension|[]<core::int, core::String>(#t21, #t22) == null ?{core::String} self::Extension|[]=<core::int, core::String>(#t21, #t22, "2") : null;
let final self::MapLike<core::int, core::String> #t21 = map1 in let final core::int #t22 = 2 in self::Extension|[]<core::int, core::String>(#t21, #t22) == null ?{core::String?} self::Extension|[]=<core::int, core::String>(#t21, #t22, "2") : null;
self::expect("2", self::Extension|[]<core::int, core::String>(map1, 2));
self::expect("3", let final self::MapLike<core::int, core::String> #t23 = map1 in let final core::int #t24 = 3 in let final core::String? #t25 = self::Extension|[]<core::int, core::String>(#t23, #t24) in #t25 == null ?{core::String} let final core::String #t26 = "3" in let final void #t27 = self::Extension|[]=<core::int, core::String>(#t23, #t24, #t26) in #t26 : #t25{core::String});
self::expect("3", self::Extension|[]<core::int, core::String>(map1, 3));

View file

@ -54,11 +54,11 @@ static method implicit() → dynamic {
self::expect("1", self::Extension|[]<core::int, core::String>(map1, 1));
self::expect("2", let final self::MapLike<core::int, core::String> #t10 = map1 in let final core::int #t11 = 1 in let final core::String #t12 = "2" in let final void #t13 = self::Extension|[]=<core::int, core::String>(#t10, #t11, #t12) in #t12);
self::expect("2", self::Extension|[]<core::int, core::String>(map1, 1));
let final self::MapLike<core::int, core::String> #t14 = map1 in let final core::int #t15 = 1 in self::Extension|[]<core::int, core::String>(#t14, #t15) == null ?{core::String} self::Extension|[]=<core::int, core::String>(#t14, #t15, "3") : null;
let final self::MapLike<core::int, core::String> #t14 = map1 in let final core::int #t15 = 1 in self::Extension|[]<core::int, core::String>(#t14, #t15) == null ?{core::String?} self::Extension|[]=<core::int, core::String>(#t14, #t15, "3") : null;
self::expect("2", self::Extension|[]<core::int, core::String>(map1, 1));
self::expect("2", let final self::MapLike<core::int, core::String> #t16 = map1 in let final core::int #t17 = 1 in let final core::String? #t18 = self::Extension|[]<core::int, core::String>(#t16, #t17) in #t18 == null ?{core::String} let final core::String #t19 = "4" in let final void #t20 = self::Extension|[]=<core::int, core::String>(#t16, #t17, #t19) in #t19 : #t18{core::String});
self::expect("2", self::Extension|[]<core::int, core::String>(map1, 1));
let final self::MapLike<core::int, core::String> #t21 = map1 in let final core::int #t22 = 2 in self::Extension|[]<core::int, core::String>(#t21, #t22) == null ?{core::String} self::Extension|[]=<core::int, core::String>(#t21, #t22, "2") : null;
let final self::MapLike<core::int, core::String> #t21 = map1 in let final core::int #t22 = 2 in self::Extension|[]<core::int, core::String>(#t21, #t22) == null ?{core::String?} self::Extension|[]=<core::int, core::String>(#t21, #t22, "2") : null;
self::expect("2", self::Extension|[]<core::int, core::String>(map1, 2));
self::expect("3", let final self::MapLike<core::int, core::String> #t23 = map1 in let final core::int #t24 = 3 in let final core::String? #t25 = self::Extension|[]<core::int, core::String>(#t23, #t24) in #t25 == null ?{core::String} let final core::String #t26 = "3" in let final void #t27 = self::Extension|[]=<core::int, core::String>(#t23, #t24, #t26) in #t26 : #t25{core::String});
self::expect("3", self::Extension|[]<core::int, core::String>(map1, 3));

View file

@ -54,11 +54,11 @@ static method implicit() → dynamic {
self::expect("1", self::Extension|[]<core::int, core::String>(map1, 1));
self::expect("2", let final self::MapLike<core::int, core::String> #t10 = map1 in let final core::int #t11 = 1 in let final core::String #t12 = "2" in let final void #t13 = self::Extension|[]=<core::int, core::String>(#t10, #t11, #t12) in #t12);
self::expect("2", self::Extension|[]<core::int, core::String>(map1, 1));
let final self::MapLike<core::int, core::String> #t14 = map1 in let final core::int #t15 = 1 in self::Extension|[]<core::int, core::String>(#t14, #t15) == null ?{core::String} self::Extension|[]=<core::int, core::String>(#t14, #t15, "3") : null;
let final self::MapLike<core::int, core::String> #t14 = map1 in let final core::int #t15 = 1 in self::Extension|[]<core::int, core::String>(#t14, #t15) == null ?{core::String?} self::Extension|[]=<core::int, core::String>(#t14, #t15, "3") : null;
self::expect("2", self::Extension|[]<core::int, core::String>(map1, 1));
self::expect("2", let final self::MapLike<core::int, core::String> #t16 = map1 in let final core::int #t17 = 1 in let final core::String? #t18 = self::Extension|[]<core::int, core::String>(#t16, #t17) in #t18 == null ?{core::String} let final core::String #t19 = "4" in let final void #t20 = self::Extension|[]=<core::int, core::String>(#t16, #t17, #t19) in #t19 : #t18{core::String});
self::expect("2", self::Extension|[]<core::int, core::String>(map1, 1));
let final self::MapLike<core::int, core::String> #t21 = map1 in let final core::int #t22 = 2 in self::Extension|[]<core::int, core::String>(#t21, #t22) == null ?{core::String} self::Extension|[]=<core::int, core::String>(#t21, #t22, "2") : null;
let final self::MapLike<core::int, core::String> #t21 = map1 in let final core::int #t22 = 2 in self::Extension|[]<core::int, core::String>(#t21, #t22) == null ?{core::String?} self::Extension|[]=<core::int, core::String>(#t21, #t22, "2") : null;
self::expect("2", self::Extension|[]<core::int, core::String>(map1, 2));
self::expect("3", let final self::MapLike<core::int, core::String> #t23 = map1 in let final core::int #t24 = 3 in let final core::String? #t25 = self::Extension|[]<core::int, core::String>(#t23, #t24) in #t25 == null ?{core::String} let final core::String #t26 = "3" in let final void #t27 = self::Extension|[]=<core::int, core::String>(#t23, #t24, #t26) in #t26 : #t25{core::String});
self::expect("3", self::Extension|[]<core::int, core::String>(map1, 3));

View file

@ -54,11 +54,11 @@ static method implicit() → dynamic {
self::expect("1", self::Extension|[]<core::int, core::String>(map1, 1));
self::expect("2", let final self::MapLike<core::int, core::String> #t10 = map1 in let final core::int #t11 = 1 in let final core::String #t12 = "2" in let final void #t13 = self::Extension|[]=<core::int, core::String>(#t10, #t11, #t12) in #t12);
self::expect("2", self::Extension|[]<core::int, core::String>(map1, 1));
let final self::MapLike<core::int, core::String> #t14 = map1 in let final core::int #t15 = 1 in self::Extension|[]<core::int, core::String>(#t14, #t15) == null ?{core::String} self::Extension|[]=<core::int, core::String>(#t14, #t15, "3") : null;
let final self::MapLike<core::int, core::String> #t14 = map1 in let final core::int #t15 = 1 in self::Extension|[]<core::int, core::String>(#t14, #t15) == null ?{core::String?} self::Extension|[]=<core::int, core::String>(#t14, #t15, "3") : null;
self::expect("2", self::Extension|[]<core::int, core::String>(map1, 1));
self::expect("2", let final self::MapLike<core::int, core::String> #t16 = map1 in let final core::int #t17 = 1 in let final core::String? #t18 = self::Extension|[]<core::int, core::String>(#t16, #t17) in #t18 == null ?{core::String} let final core::String #t19 = "4" in let final void #t20 = self::Extension|[]=<core::int, core::String>(#t16, #t17, #t19) in #t19 : #t18{core::String});
self::expect("2", self::Extension|[]<core::int, core::String>(map1, 1));
let final self::MapLike<core::int, core::String> #t21 = map1 in let final core::int #t22 = 2 in self::Extension|[]<core::int, core::String>(#t21, #t22) == null ?{core::String} self::Extension|[]=<core::int, core::String>(#t21, #t22, "2") : null;
let final self::MapLike<core::int, core::String> #t21 = map1 in let final core::int #t22 = 2 in self::Extension|[]<core::int, core::String>(#t21, #t22) == null ?{core::String?} self::Extension|[]=<core::int, core::String>(#t21, #t22, "2") : null;
self::expect("2", self::Extension|[]<core::int, core::String>(map1, 2));
self::expect("3", let final self::MapLike<core::int, core::String> #t23 = map1 in let final core::int #t24 = 3 in let final core::String? #t25 = self::Extension|[]<core::int, core::String>(#t23, #t24) in #t25 == null ?{core::String} let final core::String #t26 = "3" in let final void #t27 = self::Extension|[]=<core::int, core::String>(#t23, #t24, #t26) in #t26 : #t25{core::String});
self::expect("3", self::Extension|[]<core::int, core::String>(map1, 3));

View file

@ -197,7 +197,7 @@ class Subclass1 extends self::Class1 {
operator []=(covariant-by-declaration core::int a, covariant-by-declaration core::int b) → void {
core::num c = a;
let final core::int #t4 = a in super.{self::Class1::[]}(#t4) == null ?{core::num} super.{self::Class1::[]=}(#t4, c) : null;
let final self::Class1 #t5 = new self::Class1::•() in let final core::int #t6 = b in #t5.{self::Class1::[]}(#t6){(core::int) → core::num?} == null ?{core::num} #t5.{self::Class1::[]=}(#t6, invalid-expression "pkg/front_end/testcases/general/super_signature_access.dart:71:21: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
let final self::Class1 #t5 = new self::Class1::•() in let final core::int #t6 = b in #t5.{self::Class1::[]}(#t6){(core::int) → core::num?} == null ?{core::num?} #t5.{self::Class1::[]=}(#t6, invalid-expression "pkg/front_end/testcases/general/super_signature_access.dart:71:21: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
Class1()[b] ??= c; // Error.
^" in c as{TypeError} core::int){(core::int, core::int) → void} : null;
}
@ -265,7 +265,7 @@ abstract class Mixin1 extends self::Class1 /*isMixinDeclaration*/ {
let final core::int #t10 = a in super.{self::Class1::[]}(#t10) == null ?{core::num} super.{self::Class1::[]=}(#t10, invalid-expression "pkg/front_end/testcases/general/super_signature_access.dart:111:18: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
super[a] ??= c; // Error.
^" in c as{TypeError} core::int) : null;
let final self::Class1 #t11 = new self::Class1::•() in let final core::int #t12 = b in #t11.{self::Class1::[]}(#t12){(core::int) → core::num?} == null ?{core::num} #t11.{self::Class1::[]=}(#t12, invalid-expression "pkg/front_end/testcases/general/super_signature_access.dart:112:21: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
let final self::Class1 #t11 = new self::Class1::•() in let final core::int #t12 = b in #t11.{self::Class1::[]}(#t12){(core::int) → core::num?} == null ?{core::num?} #t11.{self::Class1::[]=}(#t12, invalid-expression "pkg/front_end/testcases/general/super_signature_access.dart:112:21: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
Class1()[b] ??= c; // Error.
^" in c as{TypeError} core::int){(core::int, core::int) → void} : null;
}

View file

@ -197,7 +197,7 @@ class Subclass1 extends self::Class1 {
operator []=(covariant-by-declaration core::int a, covariant-by-declaration core::int b) → void {
core::num c = a;
let final core::int #t4 = a in super.{self::Class1::[]}(#t4) == null ?{core::num} super.{self::Class1::[]=}(#t4, c) : null;
let final self::Class1 #t5 = new self::Class1::•() in let final core::int #t6 = b in #t5.{self::Class1::[]}(#t6){(core::int) → core::num?} == null ?{core::num} #t5.{self::Class1::[]=}(#t6, invalid-expression "pkg/front_end/testcases/general/super_signature_access.dart:71:21: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
let final self::Class1 #t5 = new self::Class1::•() in let final core::int #t6 = b in #t5.{self::Class1::[]}(#t6){(core::int) → core::num?} == null ?{core::num?} #t5.{self::Class1::[]=}(#t6, invalid-expression "pkg/front_end/testcases/general/super_signature_access.dart:71:21: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
Class1()[b] ??= c; // Error.
^" in c as{TypeError} core::int){(core::int, core::int) → void} : null;
}
@ -265,7 +265,7 @@ abstract class Mixin1 extends self::Class1 /*isMixinDeclaration*/ {
let final core::int #t10 = a in super.{self::Class1::[]}(#t10) == null ?{core::num} super.{self::Class1::[]=}(#t10, invalid-expression "pkg/front_end/testcases/general/super_signature_access.dart:111:18: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
super[a] ??= c; // Error.
^" in c as{TypeError} core::int) : null;
let final self::Class1 #t11 = new self::Class1::•() in let final core::int #t12 = b in #t11.{self::Class1::[]}(#t12){(core::int) → core::num?} == null ?{core::num} #t11.{self::Class1::[]=}(#t12, invalid-expression "pkg/front_end/testcases/general/super_signature_access.dart:112:21: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
let final self::Class1 #t11 = new self::Class1::•() in let final core::int #t12 = b in #t11.{self::Class1::[]}(#t12){(core::int) → core::num?} == null ?{core::num?} #t11.{self::Class1::[]=}(#t12, invalid-expression "pkg/front_end/testcases/general/super_signature_access.dart:112:21: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
Class1()[b] ??= c; // Error.
^" in c as{TypeError} core::int){(core::int, core::int) → void} : null;
}

View file

@ -197,7 +197,7 @@ class Subclass1 extends self::Class1 {
operator []=(covariant-by-declaration core::int a, covariant-by-declaration core::int b) → void {
core::num c = a;
let final core::int #t4 = a in super.{self::Class1::[]}(#t4) == null ?{core::num} super.{self::Class1::[]=}(#t4, c) : null;
let final self::Class1 #t5 = new self::Class1::•() in let final core::int #t6 = b in #t5.{self::Class1::[]}(#t6){(core::int) → core::num?} == null ?{core::num} #t5.{self::Class1::[]=}(#t6, invalid-expression "pkg/front_end/testcases/general/super_signature_access.dart:71:21: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
let final self::Class1 #t5 = new self::Class1::•() in let final core::int #t6 = b in #t5.{self::Class1::[]}(#t6){(core::int) → core::num?} == null ?{core::num?} #t5.{self::Class1::[]=}(#t6, invalid-expression "pkg/front_end/testcases/general/super_signature_access.dart:71:21: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
Class1()[b] ??= c; // Error.
^" in c as{TypeError} core::int){(core::int, core::int) → void} : null;
}
@ -265,7 +265,7 @@ abstract class Mixin1 extends self::Class1 /*isMixinDeclaration*/ {
let final core::int #t10 = a in super.{self::Class1::[]}(#t10) == null ?{core::num} super.{self::Class1::[]=}(#t10, invalid-expression "pkg/front_end/testcases/general/super_signature_access.dart:111:18: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
super[a] ??= c; // Error.
^" in c as{TypeError} core::int) : null;
let final self::Class1 #t11 = new self::Class1::•() in let final core::int #t12 = b in #t11.{self::Class1::[]}(#t12){(core::int) → core::num?} == null ?{core::num} #t11.{self::Class1::[]=}(#t12, invalid-expression "pkg/front_end/testcases/general/super_signature_access.dart:112:21: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
let final self::Class1 #t11 = new self::Class1::•() in let final core::int #t12 = b in #t11.{self::Class1::[]}(#t12){(core::int) → core::num?} == null ?{core::num?} #t11.{self::Class1::[]=}(#t12, invalid-expression "pkg/front_end/testcases/general/super_signature_access.dart:112:21: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
Class1()[b] ??= c; // Error.
^" in c as{TypeError} core::int){(core::int, core::int) → void} : null;
}

View file

@ -197,7 +197,7 @@ class Subclass1 extends self::Class1 {
operator []=(covariant-by-declaration core::int a, covariant-by-declaration core::int b) → void {
core::num c = a;
let final core::int #t4 = a in super.{self::Class1::[]}(#t4) == null ?{core::num} super.{self::Class1::[]=}(#t4, c) : null;
let final self::Class1 #t5 = new self::Class1::•() in let final core::int #t6 = b in #t5.{self::Class1::[]}(#t6){(core::int) → core::num?} == null ?{core::num} #t5.{self::Class1::[]=}(#t6, invalid-expression "pkg/front_end/testcases/general/super_signature_access.dart:71:21: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
let final self::Class1 #t5 = new self::Class1::•() in let final core::int #t6 = b in #t5.{self::Class1::[]}(#t6){(core::int) → core::num?} == null ?{core::num?} #t5.{self::Class1::[]=}(#t6, invalid-expression "pkg/front_end/testcases/general/super_signature_access.dart:71:21: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
Class1()[b] ??= c; // Error.
^" in c as{TypeError} core::int){(core::int, core::int) → void} : null;
}
@ -265,7 +265,7 @@ abstract class Mixin1 extends self::Class1 /*isMixinDeclaration*/ {
let final core::int #t10 = a in super.{self::Class1::[]}(#t10) == null ?{core::num} super.{self::Class1::[]=}(#t10, invalid-expression "pkg/front_end/testcases/general/super_signature_access.dart:111:18: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
super[a] ??= c; // Error.
^" in c as{TypeError} core::int) : null;
let final self::Class1 #t11 = new self::Class1::•() in let final core::int #t12 = b in #t11.{self::Class1::[]}(#t12){(core::int) → core::num?} == null ?{core::num} #t11.{self::Class1::[]=}(#t12, invalid-expression "pkg/front_end/testcases/general/super_signature_access.dart:112:21: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
let final self::Class1 #t11 = new self::Class1::•() in let final core::int #t12 = b in #t11.{self::Class1::[]}(#t12){(core::int) → core::num?} == null ?{core::num?} #t11.{self::Class1::[]=}(#t12, invalid-expression "pkg/front_end/testcases/general/super_signature_access.dart:112:21: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
Class1()[b] ??= c; // Error.
^" in c as{TypeError} core::int){(core::int, core::int) → void} : null;
}

View file

@ -197,7 +197,7 @@ class Subclass1 extends self::Class1 {
operator []=(covariant-by-declaration core::int a, covariant-by-declaration core::int b) → void {
core::num c = a;
let final core::int #t4 = a in super.{self::Class1::[]}(#t4) == null ?{core::num} super.{self::Class1::[]=}(#t4, c) : null;
let final self::Class1 #t5 = new self::Class1::•() in let final core::int #t6 = b in #t5.{self::Class1::[]}(#t6){(core::int) → core::num?} == null ?{core::num} #t5.{self::Class1::[]=}(#t6, invalid-expression "pkg/front_end/testcases/general/super_signature_access.dart:71:21: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
let final self::Class1 #t5 = new self::Class1::•() in let final core::int #t6 = b in #t5.{self::Class1::[]}(#t6){(core::int) → core::num?} == null ?{core::num?} #t5.{self::Class1::[]=}(#t6, invalid-expression "pkg/front_end/testcases/general/super_signature_access.dart:71:21: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
Class1()[b] ??= c; // Error.
^" in c as{TypeError} core::int){(core::int, core::int) → void} : null;
}
@ -265,7 +265,7 @@ abstract class Mixin1 extends self::Class1 /*isMixinDeclaration*/ {
let final core::int #t10 = a in super.{self::Class1::[]}(#t10) == null ?{core::num} super.{self::Class1::[]=}(#t10, invalid-expression "pkg/front_end/testcases/general/super_signature_access.dart:111:18: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
super[a] ??= c; // Error.
^" in c as{TypeError} core::int) : null;
let final self::Class1 #t11 = new self::Class1::•() in let final core::int #t12 = b in #t11.{self::Class1::[]}(#t12){(core::int) → core::num?} == null ?{core::num} #t11.{self::Class1::[]=}(#t12, invalid-expression "pkg/front_end/testcases/general/super_signature_access.dart:112:21: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
let final self::Class1 #t11 = new self::Class1::•() in let final core::int #t12 = b in #t11.{self::Class1::[]}(#t12){(core::int) → core::num?} == null ?{core::num?} #t11.{self::Class1::[]=}(#t12, invalid-expression "pkg/front_end/testcases/general/super_signature_access.dart:112:21: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
Class1()[b] ??= c; // Error.
^" in c as{TypeError} core::int){(core::int, core::int) → void} : null;
}

View file

@ -133,14 +133,14 @@ static method errors(self::Class? nullableClass, self::Class nonNullableClass, c
let final self::NullableIndexClass? #t3 = nullableNullableIndexClass in let final core::int #t4 = nonNullableInt in invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:29:29: Error: Operator '[]' cannot be called on 'NullableIndexClass?' because it is potentially null.
- 'NullableIndexClass' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
nullableNullableIndexClass[nonNullableInt] ??= nonNullableInt; // error
^" in #t3.{self::NullableIndexClass::[]}{<nullable>}.(#t4){(core::int) → core::int?} == null ?{core::int} invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:29:29: Error: Operator '[]=' cannot be called on 'NullableIndexClass?' because it is potentially null.
^" in #t3.{self::NullableIndexClass::[]}{<nullable>}.(#t4){(core::int) → core::int?} == null ?{core::int?} invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:29:29: Error: Operator '[]=' cannot be called on 'NullableIndexClass?' because it is potentially null.
- 'NullableIndexClass' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
nullableNullableIndexClass[nonNullableInt] ??= nonNullableInt; // error
^" in #t3.{self::NullableIndexClass::[]=}{<nullable>}.(#t4, nonNullableInt){(core::int, core::int) → void} : null;
let final self::Class? #t5 = nullableClass in #t5 == null ?{core::int?} null : #t5{self::Class}.{self::Class::nonNullableClass}{self::Class}.{self::Class::[]}(nonNullableInt){(core::int) → core::int};
let final self::Class? #t6 = nullableClass in #t6 == null ?{core::int?} null : #t6{self::Class}.{self::Class::nonNullableClass}{self::Class}.{self::Class::[]=}(nonNullableInt, nonNullableInt){(core::int, core::int) → void};
let final self::Class? #t7 = nullableClass in #t7 == null ?{core::int?} null : let final self::Class #t8 = #t7{self::Class}.{self::Class::nonNullableClass}{self::Class} in let final core::int #t9 = nonNullableInt in #t8.{self::Class::[]=}(#t9, #t8.{self::Class::[]}(#t9){(core::int) → core::int}.{core::num::+}(nonNullableInt){(core::num) → core::int}){(core::int, core::int) → void};
let final self::Class? #t10 = nullableClass in #t10 == null ?{core::int?} null : let final self::NullableIndexClass #t11 = #t10{self::Class}.{self::Class::nonNullableNullableIndexClass}{self::NullableIndexClass} in let final core::int #t12 = nonNullableInt in #t11.{self::NullableIndexClass::[]}(#t12){(core::int) → core::int?} == null ?{core::int} #t11.{self::NullableIndexClass::[]=}(#t12, nonNullableInt){(core::int, core::int) → void} : null;
let final self::Class? #t10 = nullableClass in #t10 == null ?{core::int?} null : let final self::NullableIndexClass #t11 = #t10{self::Class}.{self::Class::nonNullableNullableIndexClass}{self::NullableIndexClass} in let final core::int #t12 = nonNullableInt in #t11.{self::NullableIndexClass::[]}(#t12){(core::int) → core::int?} == null ?{core::int?} #t11.{self::NullableIndexClass::[]=}(#t12, nonNullableInt){(core::int, core::int) → void} : null;
invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:37:17: Error: Property 'nonNullableField' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
Try accessing using ?. instead.

View file

@ -133,14 +133,14 @@ static method errors(self::Class? nullableClass, self::Class nonNullableClass, c
let final self::NullableIndexClass? #t3 = nullableNullableIndexClass in let final core::int #t4 = nonNullableInt in invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:29:29: Error: Operator '[]' cannot be called on 'NullableIndexClass?' because it is potentially null.
- 'NullableIndexClass' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
nullableNullableIndexClass[nonNullableInt] ??= nonNullableInt; // error
^" in #t3.{self::NullableIndexClass::[]}{<nullable>}.(#t4){(core::int) → core::int?} == null ?{core::int} invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:29:29: Error: Operator '[]=' cannot be called on 'NullableIndexClass?' because it is potentially null.
^" in #t3.{self::NullableIndexClass::[]}{<nullable>}.(#t4){(core::int) → core::int?} == null ?{core::int?} invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:29:29: Error: Operator '[]=' cannot be called on 'NullableIndexClass?' because it is potentially null.
- 'NullableIndexClass' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
nullableNullableIndexClass[nonNullableInt] ??= nonNullableInt; // error
^" in #t3.{self::NullableIndexClass::[]=}{<nullable>}.(#t4, nonNullableInt){(core::int, core::int) → void} : null;
let final self::Class? #t5 = nullableClass in #t5 == null ?{core::int?} null : #t5{self::Class}.{self::Class::nonNullableClass}{self::Class}.{self::Class::[]}(nonNullableInt){(core::int) → core::int};
let final self::Class? #t6 = nullableClass in #t6 == null ?{core::int?} null : #t6{self::Class}.{self::Class::nonNullableClass}{self::Class}.{self::Class::[]=}(nonNullableInt, nonNullableInt){(core::int, core::int) → void};
let final self::Class? #t7 = nullableClass in #t7 == null ?{core::int?} null : let final self::Class #t8 = #t7{self::Class}.{self::Class::nonNullableClass}{self::Class} in let final core::int #t9 = nonNullableInt in #t8.{self::Class::[]=}(#t9, #t8.{self::Class::[]}(#t9){(core::int) → core::int}.{core::num::+}(nonNullableInt){(core::num) → core::int}){(core::int, core::int) → void};
let final self::Class? #t10 = nullableClass in #t10 == null ?{core::int?} null : let final self::NullableIndexClass #t11 = #t10{self::Class}.{self::Class::nonNullableNullableIndexClass}{self::NullableIndexClass} in let final core::int #t12 = nonNullableInt in #t11.{self::NullableIndexClass::[]}(#t12){(core::int) → core::int?} == null ?{core::int} #t11.{self::NullableIndexClass::[]=}(#t12, nonNullableInt){(core::int, core::int) → void} : null;
let final self::Class? #t10 = nullableClass in #t10 == null ?{core::int?} null : let final self::NullableIndexClass #t11 = #t10{self::Class}.{self::Class::nonNullableNullableIndexClass}{self::NullableIndexClass} in let final core::int #t12 = nonNullableInt in #t11.{self::NullableIndexClass::[]}(#t12){(core::int) → core::int?} == null ?{core::int?} #t11.{self::NullableIndexClass::[]=}(#t12, nonNullableInt){(core::int, core::int) → void} : null;
invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:37:17: Error: Property 'nonNullableField' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
Try accessing using ?. instead.

View file

@ -133,14 +133,14 @@ static method errors(self::Class? nullableClass, self::Class nonNullableClass, c
let final self::NullableIndexClass? #t3 = nullableNullableIndexClass in let final core::int #t4 = nonNullableInt in invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:29:29: Error: Operator '[]' cannot be called on 'NullableIndexClass?' because it is potentially null.
- 'NullableIndexClass' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
nullableNullableIndexClass[nonNullableInt] ??= nonNullableInt; // error
^" in #t3.{self::NullableIndexClass::[]}{<nullable>}.(#t4){(core::int) → core::int?} == null ?{core::int} invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:29:29: Error: Operator '[]=' cannot be called on 'NullableIndexClass?' because it is potentially null.
^" in #t3.{self::NullableIndexClass::[]}{<nullable>}.(#t4){(core::int) → core::int?} == null ?{core::int?} invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:29:29: Error: Operator '[]=' cannot be called on 'NullableIndexClass?' because it is potentially null.
- 'NullableIndexClass' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
nullableNullableIndexClass[nonNullableInt] ??= nonNullableInt; // error
^" in #t3.{self::NullableIndexClass::[]=}{<nullable>}.(#t4, nonNullableInt){(core::int, core::int) → void} : null;
let final self::Class? #t5 = nullableClass in #t5 == null ?{core::int?} null : #t5{self::Class}.{self::Class::nonNullableClass}{self::Class}.{self::Class::[]}(nonNullableInt){(core::int) → core::int};
let final self::Class? #t6 = nullableClass in #t6 == null ?{core::int?} null : #t6{self::Class}.{self::Class::nonNullableClass}{self::Class}.{self::Class::[]=}(nonNullableInt, nonNullableInt){(core::int, core::int) → void};
let final self::Class? #t7 = nullableClass in #t7 == null ?{core::int?} null : let final self::Class #t8 = #t7{self::Class}.{self::Class::nonNullableClass}{self::Class} in let final core::int #t9 = nonNullableInt in #t8.{self::Class::[]=}(#t9, #t8.{self::Class::[]}(#t9){(core::int) → core::int}.{core::num::+}(nonNullableInt){(core::num) → core::int}){(core::int, core::int) → void};
let final self::Class? #t10 = nullableClass in #t10 == null ?{core::int?} null : let final self::NullableIndexClass #t11 = #t10{self::Class}.{self::Class::nonNullableNullableIndexClass}{self::NullableIndexClass} in let final core::int #t12 = nonNullableInt in #t11.{self::NullableIndexClass::[]}(#t12){(core::int) → core::int?} == null ?{core::int} #t11.{self::NullableIndexClass::[]=}(#t12, nonNullableInt){(core::int, core::int) → void} : null;
let final self::Class? #t10 = nullableClass in #t10 == null ?{core::int?} null : let final self::NullableIndexClass #t11 = #t10{self::Class}.{self::Class::nonNullableNullableIndexClass}{self::NullableIndexClass} in let final core::int #t12 = nonNullableInt in #t11.{self::NullableIndexClass::[]}(#t12){(core::int) → core::int?} == null ?{core::int?} #t11.{self::NullableIndexClass::[]=}(#t12, nonNullableInt){(core::int, core::int) → void} : null;
invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:37:17: Error: Property 'nonNullableField' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
Try accessing using ?. instead.

View file

@ -133,14 +133,14 @@ static method errors(self::Class? nullableClass, self::Class nonNullableClass, c
let final self::NullableIndexClass? #t3 = nullableNullableIndexClass in let final core::int #t4 = nonNullableInt in invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:29:29: Error: Operator '[]' cannot be called on 'NullableIndexClass?' because it is potentially null.
- 'NullableIndexClass' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
nullableNullableIndexClass[nonNullableInt] ??= nonNullableInt; // error
^" in #t3.{self::NullableIndexClass::[]}{<nullable>}.(#t4){(core::int) → core::int?} == null ?{core::int} invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:29:29: Error: Operator '[]=' cannot be called on 'NullableIndexClass?' because it is potentially null.
^" in #t3.{self::NullableIndexClass::[]}{<nullable>}.(#t4){(core::int) → core::int?} == null ?{core::int?} invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:29:29: Error: Operator '[]=' cannot be called on 'NullableIndexClass?' because it is potentially null.
- 'NullableIndexClass' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
nullableNullableIndexClass[nonNullableInt] ??= nonNullableInt; // error
^" in #t3.{self::NullableIndexClass::[]=}{<nullable>}.(#t4, nonNullableInt){(core::int, core::int) → void} : null;
let final self::Class? #t5 = nullableClass in #t5 == null ?{core::int?} null : #t5{self::Class}.{self::Class::nonNullableClass}{self::Class}.{self::Class::[]}(nonNullableInt){(core::int) → core::int};
let final self::Class? #t6 = nullableClass in #t6 == null ?{core::int?} null : #t6{self::Class}.{self::Class::nonNullableClass}{self::Class}.{self::Class::[]=}(nonNullableInt, nonNullableInt){(core::int, core::int) → void};
let final self::Class? #t7 = nullableClass in #t7 == null ?{core::int?} null : let final self::Class #t8 = #t7{self::Class}.{self::Class::nonNullableClass}{self::Class} in let final core::int #t9 = nonNullableInt in #t8.{self::Class::[]=}(#t9, #t8.{self::Class::[]}(#t9){(core::int) → core::int}.{core::num::+}(nonNullableInt){(core::num) → core::int}){(core::int, core::int) → void};
let final self::Class? #t10 = nullableClass in #t10 == null ?{core::int?} null : let final self::NullableIndexClass #t11 = #t10{self::Class}.{self::Class::nonNullableNullableIndexClass}{self::NullableIndexClass} in let final core::int #t12 = nonNullableInt in #t11.{self::NullableIndexClass::[]}(#t12){(core::int) → core::int?} == null ?{core::int} #t11.{self::NullableIndexClass::[]=}(#t12, nonNullableInt){(core::int, core::int) → void} : null;
let final self::Class? #t10 = nullableClass in #t10 == null ?{core::int?} null : let final self::NullableIndexClass #t11 = #t10{self::Class}.{self::Class::nonNullableNullableIndexClass}{self::NullableIndexClass} in let final core::int #t12 = nonNullableInt in #t11.{self::NullableIndexClass::[]}(#t12){(core::int) → core::int?} == null ?{core::int?} #t11.{self::NullableIndexClass::[]=}(#t12, nonNullableInt){(core::int, core::int) → void} : null;
invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:37:17: Error: Property 'nonNullableField' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
Try accessing using ?. instead.

View file

@ -133,14 +133,14 @@ static method errors(self::Class? nullableClass, self::Class nonNullableClass, c
let final self::NullableIndexClass? #t3 = nullableNullableIndexClass in let final core::int #t4 = nonNullableInt in invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:29:29: Error: Operator '[]' cannot be called on 'NullableIndexClass?' because it is potentially null.
- 'NullableIndexClass' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
nullableNullableIndexClass[nonNullableInt] ??= nonNullableInt; // error
^" in #t3.{self::NullableIndexClass::[]}{<nullable>}.(#t4){(core::int) → core::int?} == null ?{core::int} invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:29:29: Error: Operator '[]=' cannot be called on 'NullableIndexClass?' because it is potentially null.
^" in #t3.{self::NullableIndexClass::[]}{<nullable>}.(#t4){(core::int) → core::int?} == null ?{core::int?} invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:29:29: Error: Operator '[]=' cannot be called on 'NullableIndexClass?' because it is potentially null.
- 'NullableIndexClass' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
nullableNullableIndexClass[nonNullableInt] ??= nonNullableInt; // error
^" in #t3.{self::NullableIndexClass::[]=}{<nullable>}.(#t4, nonNullableInt){(core::int, core::int) → void} : null;
let final self::Class? #t5 = nullableClass in #t5 == null ?{core::int?} null : #t5{self::Class}.{self::Class::nonNullableClass}{self::Class}.{self::Class::[]}(nonNullableInt){(core::int) → core::int};
let final self::Class? #t6 = nullableClass in #t6 == null ?{core::int?} null : #t6{self::Class}.{self::Class::nonNullableClass}{self::Class}.{self::Class::[]=}(nonNullableInt, nonNullableInt){(core::int, core::int) → void};
let final self::Class? #t7 = nullableClass in #t7 == null ?{core::int?} null : let final self::Class #t8 = #t7{self::Class}.{self::Class::nonNullableClass}{self::Class} in let final core::int #t9 = nonNullableInt in #t8.{self::Class::[]=}(#t9, #t8.{self::Class::[]}(#t9){(core::int) → core::int}.{core::num::+}(nonNullableInt){(core::num) → core::int}){(core::int, core::int) → void};
let final self::Class? #t10 = nullableClass in #t10 == null ?{core::int?} null : let final self::NullableIndexClass #t11 = #t10{self::Class}.{self::Class::nonNullableNullableIndexClass}{self::NullableIndexClass} in let final core::int #t12 = nonNullableInt in #t11.{self::NullableIndexClass::[]}(#t12){(core::int) → core::int?} == null ?{core::int} #t11.{self::NullableIndexClass::[]=}(#t12, nonNullableInt){(core::int, core::int) → void} : null;
let final self::Class? #t10 = nullableClass in #t10 == null ?{core::int?} null : let final self::NullableIndexClass #t11 = #t10{self::Class}.{self::Class::nonNullableNullableIndexClass}{self::NullableIndexClass} in let final core::int #t12 = nonNullableInt in #t11.{self::NullableIndexClass::[]}(#t12){(core::int) → core::int?} == null ?{core::int?} #t11.{self::NullableIndexClass::[]=}(#t12, nonNullableInt){(core::int, core::int) → void} : null;
invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:37:17: Error: Property 'nonNullableField' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
Try accessing using ?. instead.

View file

@ -27,7 +27,7 @@ static method main() → void {
self::C::staticMember.{core::int::toString}(){() → core::String};
self::C::property.{core::List::[]}(0){(core::int) → core::int};
self::C::property.{core::List::[]=}(0, 0){(core::int, core::int) → void};
let final core::Map<core::int, core::int?> #t1 = self::C::property2 in let final core::int #t2 = 0 in #t1.{core::Map::[]}(#t2){(core::Object?) → core::int?} == null ?{core::int} #t1.{core::Map::[]=}(#t2, 0){(core::int, core::int?) → void} : null;
let final core::Map<core::int, core::int?> #t1 = self::C::property2 in let final core::int #t2 = 0 in #t1.{core::Map::[]}(#t2){(core::Object?) → core::int?} == null ?{core::int?} #t1.{core::Map::[]=}(#t2, 0){(core::int, core::int?) → void} : null;
self::C::staticMember2 == null ?{core::int?} self::C::staticMember2 = 42 : null;
self::C::staticMember = self::C::staticMember.{core::num::+}(2){(core::num) → core::int};
self::C::staticMember = self::C::staticMember.{core::num::+}(1){(core::num) → core::int};

View file

@ -27,7 +27,7 @@ static method main() → void {
self::C::staticMember.{core::int::toString}(){() → core::String};
self::C::property.{core::List::[]}(0){(core::int) → core::int};
self::C::property.{core::List::[]=}(0, 0){(core::int, core::int) → void};
let final core::Map<core::int, core::int?> #t1 = self::C::property2 in let final core::int #t2 = 0 in #t1.{core::Map::[]}(#t2){(core::Object?) → core::int?} == null ?{core::int} #t1.{core::Map::[]=}(#t2, 0){(core::int, core::int?) → void} : null;
let final core::Map<core::int, core::int?> #t1 = self::C::property2 in let final core::int #t2 = 0 in #t1.{core::Map::[]}(#t2){(core::Object?) → core::int?} == null ?{core::int?} #t1.{core::Map::[]=}(#t2, 0){(core::int, core::int?) → void} : null;
self::C::staticMember2 == null ?{core::int?} self::C::staticMember2 = 42 : null;
self::C::staticMember = self::C::staticMember.{core::num::+}(2){(core::num) → core::int};
self::C::staticMember = self::C::staticMember.{core::num::+}(1){(core::num) → core::int};

View file

@ -27,7 +27,7 @@ static method main() → void {
self::C::staticMember.{core::int::toString}(){() → core::String};
self::C::property.{core::List::[]}(0){(core::int) → core::int};
self::C::property.{core::List::[]=}(0, 0){(core::int, core::int) → void};
let final core::Map<core::int, core::int?> #t1 = self::C::property2 in let final core::int #t2 = 0 in #t1.{core::Map::[]}(#t2){(core::Object?) → core::int?} == null ?{core::int} #t1.{core::Map::[]=}(#t2, 0){(core::int, core::int?) → void} : null;
let final core::Map<core::int, core::int?> #t1 = self::C::property2 in let final core::int #t2 = 0 in #t1.{core::Map::[]}(#t2){(core::Object?) → core::int?} == null ?{core::int?} #t1.{core::Map::[]=}(#t2, 0){(core::int, core::int?) → void} : null;
self::C::staticMember2 == null ?{core::int?} self::C::staticMember2 = 42 : null;
self::C::staticMember = self::C::staticMember.{core::num::+}(2){(core::num) → core::int};
self::C::staticMember = self::C::staticMember.{core::num::+}(1){(core::num) → core::int};

View file

@ -27,7 +27,7 @@ static method main() → void {
self::C::staticMember.{core::int::toString}(){() → core::String};
self::C::property.{core::List::[]}(0){(core::int) → core::int};
self::C::property.{core::List::[]=}(0, 0){(core::int, core::int) → void};
let final core::Map<core::int, core::int?> #t1 = self::C::property2 in let final core::int #t2 = 0 in #t1.{core::Map::[]}(#t2){(core::Object?) → core::int?} == null ?{core::int} #t1.{core::Map::[]=}(#t2, 0){(core::int, core::int?) → void} : null;
let final core::Map<core::int, core::int?> #t1 = self::C::property2 in let final core::int #t2 = 0 in #t1.{core::Map::[]}(#t2){(core::Object?) → core::int?} == null ?{core::int?} #t1.{core::Map::[]=}(#t2, 0){(core::int, core::int?) → void} : null;
self::C::staticMember2 == null ?{core::int?} self::C::staticMember2 = 42 : null;
self::C::staticMember = self::C::staticMember.{core::num::+}(2){(core::num) → core::int};
self::C::staticMember = self::C::staticMember.{core::num::+}(1){(core::num) → core::int};

View file

@ -27,7 +27,7 @@ static method main() → void {
self::C::staticMember.{core::int::toString}(){() → core::String};
self::C::property.{core::List::[]}(0){(core::int) → core::int};
self::C::property.{core::List::[]=}(0, 0){(core::int, core::int) → void};
let final core::Map<core::int, core::int?> #t1 = self::C::property2 in let final core::int #t2 = 0 in #t1.{core::Map::[]}(#t2){(core::Object?) → core::int?} == null ?{core::int} #t1.{core::Map::[]=}(#t2, 0){(core::int, core::int?) → void} : null;
let final core::Map<core::int, core::int?> #t1 = self::C::property2 in let final core::int #t2 = 0 in #t1.{core::Map::[]}(#t2){(core::Object?) → core::int?} == null ?{core::int?} #t1.{core::Map::[]=}(#t2, 0){(core::int, core::int?) → void} : null;
self::C::staticMember2 == null ?{core::int?} self::C::staticMember2 = 42 : null;
self::C::staticMember = self::C::staticMember.{core::num::+}(2){(core::num) → core::int};
self::C::staticMember = self::C::staticMember.{core::num::+}(1){(core::num) → core::int};

View file

@ -18,10 +18,10 @@ class C extends core::Object {
this.{self::C::property}{self::C}.{self::C::method}(){() → dynamic};
this.{self::C::[]}(0){(core::int) → core::int?};
this.{self::C::[]=}(0, 0){(core::int, core::int) → void};
let final core::int #t1 = 0 in this.{self::C::[]}(#t1){(core::int) → core::int?} == null ?{core::int} this.{self::C::[]=}(#t1, 0){(core::int, core::int) → void} : null;
let final core::int #t1 = 0 in this.{self::C::[]}(#t1){(core::int) → core::int?} == null ?{core::int?} this.{self::C::[]=}(#t1, 0){(core::int, core::int) → void} : null;
this.{self::C::property}{self::C}.{self::C::[]}(0){(core::int) → core::int?};
this.{self::C::property}{self::C}.{self::C::[]=}(0, 0){(core::int, core::int) → void};
let final self::C #t2 = this.{self::C::property}{self::C} in let final core::int #t3 = 0 in #t2.{self::C::[]}(#t3){(core::int) → core::int?} == null ?{core::int} #t2.{self::C::[]=}(#t3, 0){(core::int, core::int) → void} : null;
let final self::C #t2 = this.{self::C::property}{self::C} in let final core::int #t3 = 0 in #t2.{self::C::[]}(#t3){(core::int) → core::int?} == null ?{core::int?} #t2.{self::C::[]=}(#t3, 0){(core::int, core::int) → void} : null;
this.{self::C::m1}{core::int?} == null ?{core::int?} this.{self::C::m1} = 42 : null;
this.{self::C::m2} = this.{self::C::m2}{core::int}.{core::num::+}(2){(core::num) → core::int};
this.{self::C::m2} = this.{self::C::m2}{core::int}.{core::num::+}(1){(core::num) → core::int};

View file

@ -18,10 +18,10 @@ class C extends core::Object {
this.{self::C::property}{self::C}.{self::C::method}(){() → dynamic};
this.{self::C::[]}(0){(core::int) → core::int?};
this.{self::C::[]=}(0, 0){(core::int, core::int) → void};
let final core::int #t1 = 0 in this.{self::C::[]}(#t1){(core::int) → core::int?} == null ?{core::int} this.{self::C::[]=}(#t1, 0){(core::int, core::int) → void} : null;
let final core::int #t1 = 0 in this.{self::C::[]}(#t1){(core::int) → core::int?} == null ?{core::int?} this.{self::C::[]=}(#t1, 0){(core::int, core::int) → void} : null;
this.{self::C::property}{self::C}.{self::C::[]}(0){(core::int) → core::int?};
this.{self::C::property}{self::C}.{self::C::[]=}(0, 0){(core::int, core::int) → void};
let final self::C #t2 = this.{self::C::property}{self::C} in let final core::int #t3 = 0 in #t2.{self::C::[]}(#t3){(core::int) → core::int?} == null ?{core::int} #t2.{self::C::[]=}(#t3, 0){(core::int, core::int) → void} : null;
let final self::C #t2 = this.{self::C::property}{self::C} in let final core::int #t3 = 0 in #t2.{self::C::[]}(#t3){(core::int) → core::int?} == null ?{core::int?} #t2.{self::C::[]=}(#t3, 0){(core::int, core::int) → void} : null;
this.{self::C::m1}{core::int?} == null ?{core::int?} this.{self::C::m1} = 42 : null;
this.{self::C::m2} = this.{self::C::m2}{core::int}.{core::num::+}(2){(core::num) → core::int};
this.{self::C::m2} = this.{self::C::m2}{core::int}.{core::num::+}(1){(core::num) → core::int};

View file

@ -18,10 +18,10 @@ class C extends core::Object {
this.{self::C::property}{self::C}.{self::C::method}(){() → dynamic};
this.{self::C::[]}(0){(core::int) → core::int?};
this.{self::C::[]=}(0, 0){(core::int, core::int) → void};
let final core::int #t1 = 0 in this.{self::C::[]}(#t1){(core::int) → core::int?} == null ?{core::int} this.{self::C::[]=}(#t1, 0){(core::int, core::int) → void} : null;
let final core::int #t1 = 0 in this.{self::C::[]}(#t1){(core::int) → core::int?} == null ?{core::int?} this.{self::C::[]=}(#t1, 0){(core::int, core::int) → void} : null;
this.{self::C::property}{self::C}.{self::C::[]}(0){(core::int) → core::int?};
this.{self::C::property}{self::C}.{self::C::[]=}(0, 0){(core::int, core::int) → void};
let final self::C #t2 = this.{self::C::property}{self::C} in let final core::int #t3 = 0 in #t2.{self::C::[]}(#t3){(core::int) → core::int?} == null ?{core::int} #t2.{self::C::[]=}(#t3, 0){(core::int, core::int) → void} : null;
let final self::C #t2 = this.{self::C::property}{self::C} in let final core::int #t3 = 0 in #t2.{self::C::[]}(#t3){(core::int) → core::int?} == null ?{core::int?} #t2.{self::C::[]=}(#t3, 0){(core::int, core::int) → void} : null;
this.{self::C::m1}{core::int?} == null ?{core::int?} this.{self::C::m1} = 42 : null;
this.{self::C::m2} = this.{self::C::m2}{core::int}.{core::num::+}(2){(core::num) → core::int};
this.{self::C::m2} = this.{self::C::m2}{core::int}.{core::num::+}(1){(core::num) → core::int};

View file

@ -18,10 +18,10 @@ class C extends core::Object {
this.{self::C::property}{self::C}.{self::C::method}(){() → dynamic};
this.{self::C::[]}(0){(core::int) → core::int?};
this.{self::C::[]=}(0, 0){(core::int, core::int) → void};
let final core::int #t1 = 0 in this.{self::C::[]}(#t1){(core::int) → core::int?} == null ?{core::int} this.{self::C::[]=}(#t1, 0){(core::int, core::int) → void} : null;
let final core::int #t1 = 0 in this.{self::C::[]}(#t1){(core::int) → core::int?} == null ?{core::int?} this.{self::C::[]=}(#t1, 0){(core::int, core::int) → void} : null;
this.{self::C::property}{self::C}.{self::C::[]}(0){(core::int) → core::int?};
this.{self::C::property}{self::C}.{self::C::[]=}(0, 0){(core::int, core::int) → void};
let final self::C #t2 = this.{self::C::property}{self::C} in let final core::int #t3 = 0 in #t2.{self::C::[]}(#t3){(core::int) → core::int?} == null ?{core::int} #t2.{self::C::[]=}(#t3, 0){(core::int, core::int) → void} : null;
let final self::C #t2 = this.{self::C::property}{self::C} in let final core::int #t3 = 0 in #t2.{self::C::[]}(#t3){(core::int) → core::int?} == null ?{core::int?} #t2.{self::C::[]=}(#t3, 0){(core::int, core::int) → void} : null;
this.{self::C::m1}{core::int?} == null ?{core::int?} this.{self::C::m1} = 42 : null;
this.{self::C::m2} = this.{self::C::m2}{core::int}.{core::num::+}(2){(core::num) → core::int};
this.{self::C::m2} = this.{self::C::m2}{core::int}.{core::num::+}(1){(core::num) → core::int};

View file

@ -18,10 +18,10 @@ class C extends core::Object {
this.{self::C::property}{self::C}.{self::C::method}(){() → dynamic};
this.{self::C::[]}(0){(core::int) → core::int?};
this.{self::C::[]=}(0, 0){(core::int, core::int) → void};
let final core::int #t1 = 0 in this.{self::C::[]}(#t1){(core::int) → core::int?} == null ?{core::int} this.{self::C::[]=}(#t1, 0){(core::int, core::int) → void} : null;
let final core::int #t1 = 0 in this.{self::C::[]}(#t1){(core::int) → core::int?} == null ?{core::int?} this.{self::C::[]=}(#t1, 0){(core::int, core::int) → void} : null;
this.{self::C::property}{self::C}.{self::C::[]}(0){(core::int) → core::int?};
this.{self::C::property}{self::C}.{self::C::[]=}(0, 0){(core::int, core::int) → void};
let final self::C #t2 = this.{self::C::property}{self::C} in let final core::int #t3 = 0 in #t2.{self::C::[]}(#t3){(core::int) → core::int?} == null ?{core::int} #t2.{self::C::[]=}(#t3, 0){(core::int, core::int) → void} : null;
let final self::C #t2 = this.{self::C::property}{self::C} in let final core::int #t3 = 0 in #t2.{self::C::[]}(#t3){(core::int) → core::int?} == null ?{core::int?} #t2.{self::C::[]=}(#t3, 0){(core::int, core::int) → void} : null;
this.{self::C::m1}{core::int?} == null ?{core::int?} this.{self::C::m1} = 42 : null;
this.{self::C::m2} = this.{self::C::m2}{core::int}.{core::num::+}(2){(core::num) → core::int};
this.{self::C::m2} = this.{self::C::m2}{core::int}.{core::num::+}(1){(core::num) → core::int};

View file

@ -255,7 +255,7 @@ static method ifNull(self::Class1? n1) → void {
n1 = let final self::Class1? #t260 = n1 in #t260 == null ?{self::Class1?} null : let final self::Class1? #t261 = #t260.{self::Class1::nullable1}{self::Class1?} in #t261 == null ?{self::Class1} #t260.{self::Class1::nullable1} = n1{self::Class1} : #t261{self::Class1};
let final self::Class1? #t262 = n1 in #t262 == null ?{self::Class1?} null : let final self::Class1 #t263 = #t262{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in #t263.{self::Class1::nullable1}{self::Class1?} == null ?{self::Class1} #t263.{self::Class1::nullable1} = n1{self::Class1} : null;
n1 = let final self::Class1? #t264 = n1 in #t264 == null ?{self::Class1?} null : let final self::Class1 #t265 = #t264{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in let final self::Class1? #t266 = #t265.{self::Class1::nullable1}{self::Class1?} in #t266 == null ?{self::Class1} #t265.{self::Class1::nullable1} = n1{self::Class1} : #t266{self::Class1};
let final self::Class1? #t267 = n1 in #t267 == null ?{self::Class1?} null : let final self::Class1 #t268 = #t267{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in let final self::Class1 #t269 = n1{self::Class1} in #t268.{self::Class1::[]}(#t269){(self::Class1?) → self::Class1?} == null ?{self::Class1} #t268.{self::Class1::[]=}(#t269, n1{self::Class1}){(self::Class1?, self::Class1?) → void} : null;
let final self::Class1? #t267 = n1 in #t267 == null ?{self::Class1?} null : let final self::Class1 #t268 = #t267{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in let final self::Class1 #t269 = n1{self::Class1} in #t268.{self::Class1::[]}(#t269){(self::Class1?) → self::Class1?} == null ?{self::Class1?} #t268.{self::Class1::[]=}(#t269, n1{self::Class1}){(self::Class1?, self::Class1?) → void} : null;
n1 = let final self::Class1? #t270 = n1 in #t270 == null ?{self::Class1?} null : let final self::Class1 #t271 = #t270{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in let final self::Class1 #t272 = n1{self::Class1} in let final self::Class1? #t273 = #t271.{self::Class1::[]}(#t272){(self::Class1?) → self::Class1?} in #t273 == null ?{self::Class1} let final self::Class1 #t274 = n1{self::Class1} in let final void #t275 = #t271.{self::Class1::[]=}(#t272, #t274){(self::Class1?, self::Class1?) → void} in #t274 : #t273{self::Class1};
}
static method throws(() → void f) → void {

View file

@ -255,7 +255,7 @@ static method ifNull(self::Class1? n1) → void {
n1 = let final self::Class1? #t260 = n1 in #t260 == null ?{self::Class1?} null : let final self::Class1? #t261 = #t260.{self::Class1::nullable1}{self::Class1?} in #t261 == null ?{self::Class1} #t260.{self::Class1::nullable1} = n1{self::Class1} : #t261{self::Class1};
let final self::Class1? #t262 = n1 in #t262 == null ?{self::Class1?} null : let final self::Class1 #t263 = #t262{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in #t263.{self::Class1::nullable1}{self::Class1?} == null ?{self::Class1} #t263.{self::Class1::nullable1} = n1{self::Class1} : null;
n1 = let final self::Class1? #t264 = n1 in #t264 == null ?{self::Class1?} null : let final self::Class1 #t265 = #t264{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in let final self::Class1? #t266 = #t265.{self::Class1::nullable1}{self::Class1?} in #t266 == null ?{self::Class1} #t265.{self::Class1::nullable1} = n1{self::Class1} : #t266{self::Class1};
let final self::Class1? #t267 = n1 in #t267 == null ?{self::Class1?} null : let final self::Class1 #t268 = #t267{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in let final self::Class1 #t269 = n1{self::Class1} in #t268.{self::Class1::[]}(#t269){(self::Class1?) → self::Class1?} == null ?{self::Class1} #t268.{self::Class1::[]=}(#t269, n1{self::Class1}){(self::Class1?, self::Class1?) → void} : null;
let final self::Class1? #t267 = n1 in #t267 == null ?{self::Class1?} null : let final self::Class1 #t268 = #t267{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in let final self::Class1 #t269 = n1{self::Class1} in #t268.{self::Class1::[]}(#t269){(self::Class1?) → self::Class1?} == null ?{self::Class1?} #t268.{self::Class1::[]=}(#t269, n1{self::Class1}){(self::Class1?, self::Class1?) → void} : null;
n1 = let final self::Class1? #t270 = n1 in #t270 == null ?{self::Class1?} null : let final self::Class1 #t271 = #t270{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in let final self::Class1 #t272 = n1{self::Class1} in let final self::Class1? #t273 = #t271.{self::Class1::[]}(#t272){(self::Class1?) → self::Class1?} in #t273 == null ?{self::Class1} let final self::Class1 #t274 = n1{self::Class1} in let final void #t275 = #t271.{self::Class1::[]=}(#t272, #t274){(self::Class1?, self::Class1?) → void} in #t274 : #t273{self::Class1};
}
static method throws(() → void f) → void {

View file

@ -255,7 +255,7 @@ static method ifNull(self::Class1? n1) → void {
n1 = let final self::Class1? #t260 = n1 in #t260 == null ?{self::Class1?} null : let final self::Class1? #t261 = #t260.{self::Class1::nullable1}{self::Class1?} in #t261 == null ?{self::Class1} #t260.{self::Class1::nullable1} = n1{self::Class1} : #t261{self::Class1};
let final self::Class1? #t262 = n1 in #t262 == null ?{self::Class1?} null : let final self::Class1 #t263 = #t262{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in #t263.{self::Class1::nullable1}{self::Class1?} == null ?{self::Class1} #t263.{self::Class1::nullable1} = n1{self::Class1} : null;
n1 = let final self::Class1? #t264 = n1 in #t264 == null ?{self::Class1?} null : let final self::Class1 #t265 = #t264{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in let final self::Class1? #t266 = #t265.{self::Class1::nullable1}{self::Class1?} in #t266 == null ?{self::Class1} #t265.{self::Class1::nullable1} = n1{self::Class1} : #t266{self::Class1};
let final self::Class1? #t267 = n1 in #t267 == null ?{self::Class1?} null : let final self::Class1 #t268 = #t267{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in let final self::Class1 #t269 = n1{self::Class1} in #t268.{self::Class1::[]}(#t269){(self::Class1?) → self::Class1?} == null ?{self::Class1} #t268.{self::Class1::[]=}(#t269, n1{self::Class1}){(self::Class1?, self::Class1?) → void} : null;
let final self::Class1? #t267 = n1 in #t267 == null ?{self::Class1?} null : let final self::Class1 #t268 = #t267{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in let final self::Class1 #t269 = n1{self::Class1} in #t268.{self::Class1::[]}(#t269){(self::Class1?) → self::Class1?} == null ?{self::Class1?} #t268.{self::Class1::[]=}(#t269, n1{self::Class1}){(self::Class1?, self::Class1?) → void} : null;
n1 = let final self::Class1? #t270 = n1 in #t270 == null ?{self::Class1?} null : let final self::Class1 #t271 = #t270{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in let final self::Class1 #t272 = n1{self::Class1} in let final self::Class1? #t273 = #t271.{self::Class1::[]}(#t272){(self::Class1?) → self::Class1?} in #t273 == null ?{self::Class1} let final self::Class1 #t274 = n1{self::Class1} in let final void #t275 = #t271.{self::Class1::[]=}(#t272, #t274){(self::Class1?, self::Class1?) → void} in #t274 : #t273{self::Class1};
}
static method throws(() → void f) → void {

View file

@ -255,7 +255,7 @@ static method ifNull(self::Class1? n1) → void {
n1 = let final self::Class1? #t260 = n1 in #t260 == null ?{self::Class1?} null : let final self::Class1? #t261 = #t260.{self::Class1::nullable1}{self::Class1?} in #t261 == null ?{self::Class1} #t260.{self::Class1::nullable1} = n1{self::Class1} : #t261{self::Class1};
let final self::Class1? #t262 = n1 in #t262 == null ?{self::Class1?} null : let final self::Class1 #t263 = #t262{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in #t263.{self::Class1::nullable1}{self::Class1?} == null ?{self::Class1} #t263.{self::Class1::nullable1} = n1{self::Class1} : null;
n1 = let final self::Class1? #t264 = n1 in #t264 == null ?{self::Class1?} null : let final self::Class1 #t265 = #t264{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in let final self::Class1? #t266 = #t265.{self::Class1::nullable1}{self::Class1?} in #t266 == null ?{self::Class1} #t265.{self::Class1::nullable1} = n1{self::Class1} : #t266{self::Class1};
let final self::Class1? #t267 = n1 in #t267 == null ?{self::Class1?} null : let final self::Class1 #t268 = #t267{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in let final self::Class1 #t269 = n1{self::Class1} in #t268.{self::Class1::[]}(#t269){(self::Class1?) → self::Class1?} == null ?{self::Class1} #t268.{self::Class1::[]=}(#t269, n1{self::Class1}){(self::Class1?, self::Class1?) → void} : null;
let final self::Class1? #t267 = n1 in #t267 == null ?{self::Class1?} null : let final self::Class1 #t268 = #t267{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in let final self::Class1 #t269 = n1{self::Class1} in #t268.{self::Class1::[]}(#t269){(self::Class1?) → self::Class1?} == null ?{self::Class1?} #t268.{self::Class1::[]=}(#t269, n1{self::Class1}){(self::Class1?, self::Class1?) → void} : null;
n1 = let final self::Class1? #t270 = n1 in #t270 == null ?{self::Class1?} null : let final self::Class1 #t271 = #t270{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in let final self::Class1 #t272 = n1{self::Class1} in let final self::Class1? #t273 = #t271.{self::Class1::[]}(#t272){(self::Class1?) → self::Class1?} in #t273 == null ?{self::Class1} let final self::Class1 #t274 = n1{self::Class1} in let final void #t275 = #t271.{self::Class1::[]=}(#t272, #t274){(self::Class1?, self::Class1?) → void} in #t274 : #t273{self::Class1};
}
static method throws(() → void f) → void {

View file

@ -255,7 +255,7 @@ static method ifNull(self::Class1? n1) → void {
n1 = let final self::Class1? #t260 = n1 in #t260 == null ?{self::Class1?} null : let final self::Class1? #t261 = #t260.{self::Class1::nullable1}{self::Class1?} in #t261 == null ?{self::Class1} #t260.{self::Class1::nullable1} = n1{self::Class1} : #t261{self::Class1};
let final self::Class1? #t262 = n1 in #t262 == null ?{self::Class1?} null : let final self::Class1 #t263 = #t262{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in #t263.{self::Class1::nullable1}{self::Class1?} == null ?{self::Class1} #t263.{self::Class1::nullable1} = n1{self::Class1} : null;
n1 = let final self::Class1? #t264 = n1 in #t264 == null ?{self::Class1?} null : let final self::Class1 #t265 = #t264{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in let final self::Class1? #t266 = #t265.{self::Class1::nullable1}{self::Class1?} in #t266 == null ?{self::Class1} #t265.{self::Class1::nullable1} = n1{self::Class1} : #t266{self::Class1};
let final self::Class1? #t267 = n1 in #t267 == null ?{self::Class1?} null : let final self::Class1 #t268 = #t267{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in let final self::Class1 #t269 = n1{self::Class1} in #t268.{self::Class1::[]}(#t269){(self::Class1?) → self::Class1?} == null ?{self::Class1} #t268.{self::Class1::[]=}(#t269, n1{self::Class1}){(self::Class1?, self::Class1?) → void} : null;
let final self::Class1? #t267 = n1 in #t267 == null ?{self::Class1?} null : let final self::Class1 #t268 = #t267{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in let final self::Class1 #t269 = n1{self::Class1} in #t268.{self::Class1::[]}(#t269){(self::Class1?) → self::Class1?} == null ?{self::Class1?} #t268.{self::Class1::[]=}(#t269, n1{self::Class1}){(self::Class1?, self::Class1?) → void} : null;
n1 = let final self::Class1? #t270 = n1 in #t270 == null ?{self::Class1?} null : let final self::Class1 #t271 = #t270{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in let final self::Class1 #t272 = n1{self::Class1} in let final self::Class1? #t273 = #t271.{self::Class1::[]}(#t272){(self::Class1?) → self::Class1?} in #t273 == null ?{self::Class1} let final self::Class1 #t274 = n1{self::Class1} in let final void #t275 = #t271.{self::Class1::[]=}(#t272, #t274){(self::Class1?, self::Class1?) → void} in #t274 : #t273{self::Class1};
}
static method throws(() → void f) → void {

View file

@ -284,7 +284,7 @@ static method ifNull(self::Class1? n1) → void {
n1 = let final self::Class1? #t350 = n1 in #t350 == null ?{self::Class1?} null : let final self::Class1? #t351 = self::Extension1|get#nullable1(#t350) in #t351 == null ?{self::Class1} let final self::Class1 #t352 = n1{self::Class1} in let final void #t353 = self::Extension1|set#nullable1(#t350, #t352) in #t352 : #t351{self::Class1};
let final self::Class1? #t354 = n1 in #t354 == null ?{self::Class1?} null : let final self::Class1 #t355 = self::Extension1|get#nonNullable1(#t354{self::Class1}) in self::Extension1|get#nullable1(#t355) == null ?{self::Class1} self::Extension1|set#nullable1(#t355, n1{self::Class1}) : null;
n1 = let final self::Class1? #t356 = n1 in #t356 == null ?{self::Class1?} null : let final self::Class1 #t357 = self::Extension1|get#nonNullable1(#t356{self::Class1}) in let final self::Class1? #t358 = self::Extension1|get#nullable1(#t357) in #t358 == null ?{self::Class1} let final self::Class1 #t359 = n1{self::Class1} in let final void #t360 = self::Extension1|set#nullable1(#t357, #t359) in #t359 : #t358{self::Class1};
let final self::Class1? #t361 = n1 in #t361 == null ?{self::Class1?} null : let final self::Class1 #t362 = self::Extension1|get#nonNullable1(#t361{self::Class1}) in let final self::Class1 #t363 = n1{self::Class1} in self::Extension1|[](#t362, #t363) == null ?{self::Class1} self::Extension1|[]=(#t362, #t363, n1{self::Class1}) : null;
let final self::Class1? #t361 = n1 in #t361 == null ?{self::Class1?} null : let final self::Class1 #t362 = self::Extension1|get#nonNullable1(#t361{self::Class1}) in let final self::Class1 #t363 = n1{self::Class1} in self::Extension1|[](#t362, #t363) == null ?{self::Class1?} self::Extension1|[]=(#t362, #t363, n1{self::Class1}) : null;
n1 = let final self::Class1? #t364 = n1 in #t364 == null ?{self::Class1?} null : let final self::Class1 #t365 = self::Extension1|get#nonNullable1(#t364{self::Class1}) in let final self::Class1 #t366 = n1{self::Class1} in let final self::Class1? #t367 = self::Extension1|[](#t365, #t366) in #t367 == null ?{self::Class1} let final self::Class1 #t368 = n1{self::Class1} in let final void #t369 = self::Extension1|[]=(#t365, #t366, #t368) in #t368 : #t367{self::Class1};
}
static method throws(() → void f) → void {

View file

@ -284,7 +284,7 @@ static method ifNull(self::Class1? n1) → void {
n1 = let final self::Class1? #t350 = n1 in #t350 == null ?{self::Class1?} null : let final self::Class1? #t351 = self::Extension1|get#nullable1(#t350) in #t351 == null ?{self::Class1} let final self::Class1 #t352 = n1{self::Class1} in let final void #t353 = self::Extension1|set#nullable1(#t350, #t352) in #t352 : #t351{self::Class1};
let final self::Class1? #t354 = n1 in #t354 == null ?{self::Class1?} null : let final self::Class1 #t355 = self::Extension1|get#nonNullable1(#t354{self::Class1}) in self::Extension1|get#nullable1(#t355) == null ?{self::Class1} self::Extension1|set#nullable1(#t355, n1{self::Class1}) : null;
n1 = let final self::Class1? #t356 = n1 in #t356 == null ?{self::Class1?} null : let final self::Class1 #t357 = self::Extension1|get#nonNullable1(#t356{self::Class1}) in let final self::Class1? #t358 = self::Extension1|get#nullable1(#t357) in #t358 == null ?{self::Class1} let final self::Class1 #t359 = n1{self::Class1} in let final void #t360 = self::Extension1|set#nullable1(#t357, #t359) in #t359 : #t358{self::Class1};
let final self::Class1? #t361 = n1 in #t361 == null ?{self::Class1?} null : let final self::Class1 #t362 = self::Extension1|get#nonNullable1(#t361{self::Class1}) in let final self::Class1 #t363 = n1{self::Class1} in self::Extension1|[](#t362, #t363) == null ?{self::Class1} self::Extension1|[]=(#t362, #t363, n1{self::Class1}) : null;
let final self::Class1? #t361 = n1 in #t361 == null ?{self::Class1?} null : let final self::Class1 #t362 = self::Extension1|get#nonNullable1(#t361{self::Class1}) in let final self::Class1 #t363 = n1{self::Class1} in self::Extension1|[](#t362, #t363) == null ?{self::Class1?} self::Extension1|[]=(#t362, #t363, n1{self::Class1}) : null;
n1 = let final self::Class1? #t364 = n1 in #t364 == null ?{self::Class1?} null : let final self::Class1 #t365 = self::Extension1|get#nonNullable1(#t364{self::Class1}) in let final self::Class1 #t366 = n1{self::Class1} in let final self::Class1? #t367 = self::Extension1|[](#t365, #t366) in #t367 == null ?{self::Class1} let final self::Class1 #t368 = n1{self::Class1} in let final void #t369 = self::Extension1|[]=(#t365, #t366, #t368) in #t368 : #t367{self::Class1};
}
static method throws(() → void f) → void {

View file

@ -284,7 +284,7 @@ static method ifNull(self::Class1? n1) → void {
n1 = let final self::Class1? #t350 = n1 in #t350 == null ?{self::Class1?} null : let final self::Class1? #t351 = self::Extension1|get#nullable1(#t350) in #t351 == null ?{self::Class1} let final self::Class1 #t352 = n1{self::Class1} in let final void #t353 = self::Extension1|set#nullable1(#t350, #t352) in #t352 : #t351{self::Class1};
let final self::Class1? #t354 = n1 in #t354 == null ?{self::Class1?} null : let final self::Class1 #t355 = self::Extension1|get#nonNullable1(#t354{self::Class1}) in self::Extension1|get#nullable1(#t355) == null ?{self::Class1} self::Extension1|set#nullable1(#t355, n1{self::Class1}) : null;
n1 = let final self::Class1? #t356 = n1 in #t356 == null ?{self::Class1?} null : let final self::Class1 #t357 = self::Extension1|get#nonNullable1(#t356{self::Class1}) in let final self::Class1? #t358 = self::Extension1|get#nullable1(#t357) in #t358 == null ?{self::Class1} let final self::Class1 #t359 = n1{self::Class1} in let final void #t360 = self::Extension1|set#nullable1(#t357, #t359) in #t359 : #t358{self::Class1};
let final self::Class1? #t361 = n1 in #t361 == null ?{self::Class1?} null : let final self::Class1 #t362 = self::Extension1|get#nonNullable1(#t361{self::Class1}) in let final self::Class1 #t363 = n1{self::Class1} in self::Extension1|[](#t362, #t363) == null ?{self::Class1} self::Extension1|[]=(#t362, #t363, n1{self::Class1}) : null;
let final self::Class1? #t361 = n1 in #t361 == null ?{self::Class1?} null : let final self::Class1 #t362 = self::Extension1|get#nonNullable1(#t361{self::Class1}) in let final self::Class1 #t363 = n1{self::Class1} in self::Extension1|[](#t362, #t363) == null ?{self::Class1?} self::Extension1|[]=(#t362, #t363, n1{self::Class1}) : null;
n1 = let final self::Class1? #t364 = n1 in #t364 == null ?{self::Class1?} null : let final self::Class1 #t365 = self::Extension1|get#nonNullable1(#t364{self::Class1}) in let final self::Class1 #t366 = n1{self::Class1} in let final self::Class1? #t367 = self::Extension1|[](#t365, #t366) in #t367 == null ?{self::Class1} let final self::Class1 #t368 = n1{self::Class1} in let final void #t369 = self::Extension1|[]=(#t365, #t366, #t368) in #t368 : #t367{self::Class1};
}
static method throws(() → void f) → void {

View file

@ -284,7 +284,7 @@ static method ifNull(self::Class1? n1) → void {
n1 = let final self::Class1? #t350 = n1 in #t350 == null ?{self::Class1?} null : let final self::Class1? #t351 = self::Extension1|get#nullable1(#t350) in #t351 == null ?{self::Class1} let final self::Class1 #t352 = n1{self::Class1} in let final void #t353 = self::Extension1|set#nullable1(#t350, #t352) in #t352 : #t351{self::Class1};
let final self::Class1? #t354 = n1 in #t354 == null ?{self::Class1?} null : let final self::Class1 #t355 = self::Extension1|get#nonNullable1(#t354{self::Class1}) in self::Extension1|get#nullable1(#t355) == null ?{self::Class1} self::Extension1|set#nullable1(#t355, n1{self::Class1}) : null;
n1 = let final self::Class1? #t356 = n1 in #t356 == null ?{self::Class1?} null : let final self::Class1 #t357 = self::Extension1|get#nonNullable1(#t356{self::Class1}) in let final self::Class1? #t358 = self::Extension1|get#nullable1(#t357) in #t358 == null ?{self::Class1} let final self::Class1 #t359 = n1{self::Class1} in let final void #t360 = self::Extension1|set#nullable1(#t357, #t359) in #t359 : #t358{self::Class1};
let final self::Class1? #t361 = n1 in #t361 == null ?{self::Class1?} null : let final self::Class1 #t362 = self::Extension1|get#nonNullable1(#t361{self::Class1}) in let final self::Class1 #t363 = n1{self::Class1} in self::Extension1|[](#t362, #t363) == null ?{self::Class1} self::Extension1|[]=(#t362, #t363, n1{self::Class1}) : null;
let final self::Class1? #t361 = n1 in #t361 == null ?{self::Class1?} null : let final self::Class1 #t362 = self::Extension1|get#nonNullable1(#t361{self::Class1}) in let final self::Class1 #t363 = n1{self::Class1} in self::Extension1|[](#t362, #t363) == null ?{self::Class1?} self::Extension1|[]=(#t362, #t363, n1{self::Class1}) : null;
n1 = let final self::Class1? #t364 = n1 in #t364 == null ?{self::Class1?} null : let final self::Class1 #t365 = self::Extension1|get#nonNullable1(#t364{self::Class1}) in let final self::Class1 #t366 = n1{self::Class1} in let final self::Class1? #t367 = self::Extension1|[](#t365, #t366) in #t367 == null ?{self::Class1} let final self::Class1 #t368 = n1{self::Class1} in let final void #t369 = self::Extension1|[]=(#t365, #t366, #t368) in #t368 : #t367{self::Class1};
}
static method throws(() → void f) → void {

View file

@ -284,7 +284,7 @@ static method ifNull(self::Class1? n1) → void {
n1 = let final self::Class1? #t350 = n1 in #t350 == null ?{self::Class1?} null : let final self::Class1? #t351 = self::Extension1|get#nullable1(#t350) in #t351 == null ?{self::Class1} let final self::Class1 #t352 = n1{self::Class1} in let final void #t353 = self::Extension1|set#nullable1(#t350, #t352) in #t352 : #t351{self::Class1};
let final self::Class1? #t354 = n1 in #t354 == null ?{self::Class1?} null : let final self::Class1 #t355 = self::Extension1|get#nonNullable1(#t354{self::Class1}) in self::Extension1|get#nullable1(#t355) == null ?{self::Class1} self::Extension1|set#nullable1(#t355, n1{self::Class1}) : null;
n1 = let final self::Class1? #t356 = n1 in #t356 == null ?{self::Class1?} null : let final self::Class1 #t357 = self::Extension1|get#nonNullable1(#t356{self::Class1}) in let final self::Class1? #t358 = self::Extension1|get#nullable1(#t357) in #t358 == null ?{self::Class1} let final self::Class1 #t359 = n1{self::Class1} in let final void #t360 = self::Extension1|set#nullable1(#t357, #t359) in #t359 : #t358{self::Class1};
let final self::Class1? #t361 = n1 in #t361 == null ?{self::Class1?} null : let final self::Class1 #t362 = self::Extension1|get#nonNullable1(#t361{self::Class1}) in let final self::Class1 #t363 = n1{self::Class1} in self::Extension1|[](#t362, #t363) == null ?{self::Class1} self::Extension1|[]=(#t362, #t363, n1{self::Class1}) : null;
let final self::Class1? #t361 = n1 in #t361 == null ?{self::Class1?} null : let final self::Class1 #t362 = self::Extension1|get#nonNullable1(#t361{self::Class1}) in let final self::Class1 #t363 = n1{self::Class1} in self::Extension1|[](#t362, #t363) == null ?{self::Class1?} self::Extension1|[]=(#t362, #t363, n1{self::Class1}) : null;
n1 = let final self::Class1? #t364 = n1 in #t364 == null ?{self::Class1?} null : let final self::Class1 #t365 = self::Extension1|get#nonNullable1(#t364{self::Class1}) in let final self::Class1 #t366 = n1{self::Class1} in let final self::Class1? #t367 = self::Extension1|[](#t365, #t366) in #t367 == null ?{self::Class1} let final self::Class1 #t368 = n1{self::Class1} in let final void #t369 = self::Extension1|[]=(#t365, #t366, #t368) in #t368 : #t367{self::Class1};
}
static method throws(() → void f) → void {

View file

@ -284,7 +284,7 @@ static method ifNull(self::Class1? n1) → void {
n1 = let final self::Class1? #t348 = n1 in #t348 == null ?{self::Class1?} null : let final self::Class1? #t349 = self::Extension1|get#nullable1(#t348) in #t349 == null ?{self::Class1} let final self::Class1 #t350 = n1{self::Class1} in let final void #t351 = self::Extension1|set#nullable1(#t348, #t350) in #t350 : #t349{self::Class1};
let final self::Class1? #t352 = n1 in #t352 == null ?{self::Class1?} null : let final self::Class1 #t353 = self::Extension1|get#nonNullable1(#t352{self::Class1}) in 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#nonNullable1(#t354{self::Class1}) in let final self::Class1? #t356 = self::Extension1|get#nullable1(#t355) in #t356 == null ?{self::Class1} let final self::Class1 #t357 = n1{self::Class1} in let final void #t358 = self::Extension1|set#nullable1(#t355, #t357) in #t357 : #t356{self::Class1};
let final self::Class1? #t359 = n1 in #t359 == null ?{self::Class1?} null : let final self::Class1 #t360 = self::Extension1|get#nonNullable1(#t359{self::Class1}) in let final self::Class1 #t361 = n1{self::Class1} in self::Extension1|[](#t360, #t361) == null ?{self::Class1} self::Extension1|[]=(#t360, #t361, n1{self::Class1}) : null;
let final self::Class1? #t359 = n1 in #t359 == null ?{self::Class1?} null : let final self::Class1 #t360 = self::Extension1|get#nonNullable1(#t359{self::Class1}) in let final self::Class1 #t361 = n1{self::Class1} in self::Extension1|[](#t360, #t361) == null ?{self::Class1?} self::Extension1|[]=(#t360, #t361, n1{self::Class1}) : null;
n1 = let final self::Class1? #t362 = n1 in #t362 == null ?{self::Class1?} null : let final self::Class1 #t363 = self::Extension1|get#nonNullable1(#t362{self::Class1}) in let final self::Class1 #t364 = n1{self::Class1} in let final self::Class1? #t365 = self::Extension1|[](#t363, #t364) in #t365 == null ?{self::Class1} let final self::Class1 #t366 = n1{self::Class1} in let final void #t367 = self::Extension1|[]=(#t363, #t364, #t366) in #t366 : #t365{self::Class1};
}
static method throws(() → void f) → void {

View file

@ -284,7 +284,7 @@ static method ifNull(self::Class1? n1) → void {
n1 = let final self::Class1? #t348 = n1 in #t348 == null ?{self::Class1?} null : let final self::Class1? #t349 = self::Extension1|get#nullable1(#t348) in #t349 == null ?{self::Class1} let final self::Class1 #t350 = n1{self::Class1} in let final void #t351 = self::Extension1|set#nullable1(#t348, #t350) in #t350 : #t349{self::Class1};
let final self::Class1? #t352 = n1 in #t352 == null ?{self::Class1?} null : let final self::Class1 #t353 = self::Extension1|get#nonNullable1(#t352{self::Class1}) in 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#nonNullable1(#t354{self::Class1}) in let final self::Class1? #t356 = self::Extension1|get#nullable1(#t355) in #t356 == null ?{self::Class1} let final self::Class1 #t357 = n1{self::Class1} in let final void #t358 = self::Extension1|set#nullable1(#t355, #t357) in #t357 : #t356{self::Class1};
let final self::Class1? #t359 = n1 in #t359 == null ?{self::Class1?} null : let final self::Class1 #t360 = self::Extension1|get#nonNullable1(#t359{self::Class1}) in let final self::Class1 #t361 = n1{self::Class1} in self::Extension1|[](#t360, #t361) == null ?{self::Class1} self::Extension1|[]=(#t360, #t361, n1{self::Class1}) : null;
let final self::Class1? #t359 = n1 in #t359 == null ?{self::Class1?} null : let final self::Class1 #t360 = self::Extension1|get#nonNullable1(#t359{self::Class1}) in let final self::Class1 #t361 = n1{self::Class1} in self::Extension1|[](#t360, #t361) == null ?{self::Class1?} self::Extension1|[]=(#t360, #t361, n1{self::Class1}) : null;
n1 = let final self::Class1? #t362 = n1 in #t362 == null ?{self::Class1?} null : let final self::Class1 #t363 = self::Extension1|get#nonNullable1(#t362{self::Class1}) in let final self::Class1 #t364 = n1{self::Class1} in let final self::Class1? #t365 = self::Extension1|[](#t363, #t364) in #t365 == null ?{self::Class1} let final self::Class1 #t366 = n1{self::Class1} in let final void #t367 = self::Extension1|[]=(#t363, #t364, #t366) in #t366 : #t365{self::Class1};
}
static method throws(() → void f) → void {

View file

@ -284,7 +284,7 @@ static method ifNull(self::Class1? n1) → void {
n1 = let final self::Class1? #t348 = n1 in #t348 == null ?{self::Class1?} null : let final self::Class1? #t349 = self::Extension1|get#nullable1(#t348) in #t349 == null ?{self::Class1} let final self::Class1 #t350 = n1{self::Class1} in let final void #t351 = self::Extension1|set#nullable1(#t348, #t350) in #t350 : #t349{self::Class1};
let final self::Class1? #t352 = n1 in #t352 == null ?{self::Class1?} null : let final self::Class1 #t353 = self::Extension1|get#nonNullable1(#t352{self::Class1}) in 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#nonNullable1(#t354{self::Class1}) in let final self::Class1? #t356 = self::Extension1|get#nullable1(#t355) in #t356 == null ?{self::Class1} let final self::Class1 #t357 = n1{self::Class1} in let final void #t358 = self::Extension1|set#nullable1(#t355, #t357) in #t357 : #t356{self::Class1};
let final self::Class1? #t359 = n1 in #t359 == null ?{self::Class1?} null : let final self::Class1 #t360 = self::Extension1|get#nonNullable1(#t359{self::Class1}) in let final self::Class1 #t361 = n1{self::Class1} in self::Extension1|[](#t360, #t361) == null ?{self::Class1} self::Extension1|[]=(#t360, #t361, n1{self::Class1}) : null;
let final self::Class1? #t359 = n1 in #t359 == null ?{self::Class1?} null : let final self::Class1 #t360 = self::Extension1|get#nonNullable1(#t359{self::Class1}) in let final self::Class1 #t361 = n1{self::Class1} in self::Extension1|[](#t360, #t361) == null ?{self::Class1?} self::Extension1|[]=(#t360, #t361, n1{self::Class1}) : null;
n1 = let final self::Class1? #t362 = n1 in #t362 == null ?{self::Class1?} null : let final self::Class1 #t363 = self::Extension1|get#nonNullable1(#t362{self::Class1}) in let final self::Class1 #t364 = n1{self::Class1} in let final self::Class1? #t365 = self::Extension1|[](#t363, #t364) in #t365 == null ?{self::Class1} let final self::Class1 #t366 = n1{self::Class1} in let final void #t367 = self::Extension1|[]=(#t363, #t364, #t366) in #t366 : #t365{self::Class1};
}
static method throws(() → void f) → void {

View file

@ -284,7 +284,7 @@ static method ifNull(self::Class1? n1) → void {
n1 = let final self::Class1? #t348 = n1 in #t348 == null ?{self::Class1?} null : let final self::Class1? #t349 = self::Extension1|get#nullable1(#t348) in #t349 == null ?{self::Class1} let final self::Class1 #t350 = n1{self::Class1} in let final void #t351 = self::Extension1|set#nullable1(#t348, #t350) in #t350 : #t349{self::Class1};
let final self::Class1? #t352 = n1 in #t352 == null ?{self::Class1?} null : let final self::Class1 #t353 = self::Extension1|get#nonNullable1(#t352{self::Class1}) in 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#nonNullable1(#t354{self::Class1}) in let final self::Class1? #t356 = self::Extension1|get#nullable1(#t355) in #t356 == null ?{self::Class1} let final self::Class1 #t357 = n1{self::Class1} in let final void #t358 = self::Extension1|set#nullable1(#t355, #t357) in #t357 : #t356{self::Class1};
let final self::Class1? #t359 = n1 in #t359 == null ?{self::Class1?} null : let final self::Class1 #t360 = self::Extension1|get#nonNullable1(#t359{self::Class1}) in let final self::Class1 #t361 = n1{self::Class1} in self::Extension1|[](#t360, #t361) == null ?{self::Class1} self::Extension1|[]=(#t360, #t361, n1{self::Class1}) : null;
let final self::Class1? #t359 = n1 in #t359 == null ?{self::Class1?} null : let final self::Class1 #t360 = self::Extension1|get#nonNullable1(#t359{self::Class1}) in let final self::Class1 #t361 = n1{self::Class1} in self::Extension1|[](#t360, #t361) == null ?{self::Class1?} self::Extension1|[]=(#t360, #t361, n1{self::Class1}) : null;
n1 = let final self::Class1? #t362 = n1 in #t362 == null ?{self::Class1?} null : let final self::Class1 #t363 = self::Extension1|get#nonNullable1(#t362{self::Class1}) in let final self::Class1 #t364 = n1{self::Class1} in let final self::Class1? #t365 = self::Extension1|[](#t363, #t364) in #t365 == null ?{self::Class1} let final self::Class1 #t366 = n1{self::Class1} in let final void #t367 = self::Extension1|[]=(#t363, #t364, #t366) in #t366 : #t365{self::Class1};
}
static method throws(() → void f) → void {

View file

@ -284,7 +284,7 @@ static method ifNull(self::Class1? n1) → void {
n1 = let final self::Class1? #t348 = n1 in #t348 == null ?{self::Class1?} null : let final self::Class1? #t349 = self::Extension1|get#nullable1(#t348) in #t349 == null ?{self::Class1} let final self::Class1 #t350 = n1{self::Class1} in let final void #t351 = self::Extension1|set#nullable1(#t348, #t350) in #t350 : #t349{self::Class1};
let final self::Class1? #t352 = n1 in #t352 == null ?{self::Class1?} null : let final self::Class1 #t353 = self::Extension1|get#nonNullable1(#t352{self::Class1}) in 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#nonNullable1(#t354{self::Class1}) in let final self::Class1? #t356 = self::Extension1|get#nullable1(#t355) in #t356 == null ?{self::Class1} let final self::Class1 #t357 = n1{self::Class1} in let final void #t358 = self::Extension1|set#nullable1(#t355, #t357) in #t357 : #t356{self::Class1};
let final self::Class1? #t359 = n1 in #t359 == null ?{self::Class1?} null : let final self::Class1 #t360 = self::Extension1|get#nonNullable1(#t359{self::Class1}) in let final self::Class1 #t361 = n1{self::Class1} in self::Extension1|[](#t360, #t361) == null ?{self::Class1} self::Extension1|[]=(#t360, #t361, n1{self::Class1}) : null;
let final self::Class1? #t359 = n1 in #t359 == null ?{self::Class1?} null : let final self::Class1 #t360 = self::Extension1|get#nonNullable1(#t359{self::Class1}) in let final self::Class1 #t361 = n1{self::Class1} in self::Extension1|[](#t360, #t361) == null ?{self::Class1?} self::Extension1|[]=(#t360, #t361, n1{self::Class1}) : null;
n1 = let final self::Class1? #t362 = n1 in #t362 == null ?{self::Class1?} null : let final self::Class1 #t363 = self::Extension1|get#nonNullable1(#t362{self::Class1}) in let final self::Class1 #t364 = n1{self::Class1} in let final self::Class1? #t365 = self::Extension1|[](#t363, #t364) in #t365 == null ?{self::Class1} let final self::Class1 #t366 = n1{self::Class1} in let final void #t367 = self::Extension1|[]=(#t363, #t364, #t366) in #t366 : #t365{self::Class1};
}
static method throws(() → void f) → void {

View file

@ -36,8 +36,8 @@ static method main() → dynamic {
let final self::Class1? #t6 = c1 in #t6 == null ?{core::int?} null : let final core::int #t7 = 0 in #t6{self::Class1}.{self::Class1::[]=}(#t7, #t6{self::Class1}.{self::Class1::[]}(#t7){(core::int) → core::int}.{core::num::+}(1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0){(core::int) → core::int}){(core::num) → core::int}){(core::num) → core::int}){(core::int, core::int) → void};
let final self::Class1? #t8 = c1 in #t8 == null ?{core::int?} null : let final core::int #t9 = 0 in let final core::int #t10 = #t8{self::Class1}.{self::Class1::[]}(#t9){(core::int) → core::int}.{core::num::+}(1){(core::num) → core::int} in let final void #t11 = #t8{self::Class1}.{self::Class1::[]=}(#t9, #t10){(core::int, core::int) → void} in #t10;
let final self::Class1? #t12 = c1 in #t12 == null ?{core::int?} null : let final core::int #t13 = 0 in #t12{self::Class1}.{self::Class1::[]=}(#t13, #t12{self::Class1}.{self::Class1::[]}(#t13){(core::int) → core::int}.{core::num::+}(1){(core::num) → core::int}){(core::int, core::int) → void};
let final self::Class1? #t14 = c1 in #t14 == null ?{core::int?} null : let final core::int #t15 = 0 in #t14{self::Class1}.{self::Class1::[]}(#t15){(core::int) → core::int} == null ?{core::int} #t14{self::Class1}.{self::Class1::[]=}(#t15, 1){(core::int, core::int) → void} : null;
let final self::Class1? #t16 = c1 in #t16 == null ?{core::int?} null : let final core::int #t17 = 0 in #t16{self::Class1}.{self::Class1::[]}(#t17){(core::int) → core::int} == null ?{core::int} #t16{self::Class1}.{self::Class1::[]=}(#t17, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(1){(core::int) → core::int}){(core::num) → core::int}){(core::int, core::int) → void} : null;
let final self::Class1? #t14 = c1 in #t14 == null ?{core::int?} null : let final core::int #t15 = 0 in #t14{self::Class1}.{self::Class1::[]}(#t15){(core::int) → core::int} == null ?{core::int?} #t14{self::Class1}.{self::Class1::[]=}(#t15, 1){(core::int, core::int) → void} : null;
let final self::Class1? #t16 = c1 in #t16 == null ?{core::int?} null : let final core::int #t17 = 0 in #t16{self::Class1}.{self::Class1::[]}(#t17){(core::int) → core::int} == null ?{core::int?} #t16{self::Class1}.{self::Class1::[]=}(#t17, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(1){(core::int) → core::int}){(core::num) → core::int}){(core::int, core::int) → void} : null;
self::Class2? c2;
let final self::Class2? #t18 = c2 in #t18 == null ?{core::int?} null : self::Extension|[](#t18{self::Class2}, 0);
let final self::Class2? #t19 = c2 in #t19 == null ?{core::int?} null : self::Extension|[]=(#t19{self::Class2}, 0, 1);
@ -46,8 +46,8 @@ static method main() → dynamic {
let final self::Class2? #t23 = c2 in #t23 == null ?{core::int?} null : let final core::int #t24 = 0 in self::Extension|[]=(#t23{self::Class2}, #t24, self::Extension|[](#t23{self::Class2}, #t24).{core::num::+}(1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0)){(core::num) → core::int}){(core::num) → core::int});
let final self::Class2? #t25 = c2 in #t25 == null ?{core::int?} null : let final core::int #t26 = 0 in let final core::int #t27 = self::Extension|[](#t25{self::Class2}, #t26).{core::num::+}(1){(core::num) → core::int} in let final void #t28 = self::Extension|[]=(#t25{self::Class2}, #t26, #t27) in #t27;
let final self::Class2? #t29 = c2 in #t29 == null ?{core::int?} null : let final core::int #t30 = 0 in self::Extension|[]=(#t29{self::Class2}, #t30, self::Extension|[](#t29{self::Class2}, #t30).{core::num::+}(1){(core::num) → core::int});
let final self::Class2? #t31 = c2 in #t31 == null ?{core::int?} null : let final core::int #t32 = 0 in self::Extension|[](#t31{self::Class2}, #t32) == null ?{core::int} self::Extension|[]=(#t31{self::Class2}, #t32, 1) : null;
let final self::Class2? #t33 = c2 in #t33 == null ?{core::int?} null : let final core::int #t34 = 0 in self::Extension|[](#t33{self::Class2}, #t34) == null ?{core::int} self::Extension|[]=(#t33{self::Class2}, #t34, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 1)){(core::num) → core::int}) : null;
let final self::Class2? #t31 = c2 in #t31 == null ?{core::int?} null : let final core::int #t32 = 0 in self::Extension|[](#t31{self::Class2}, #t32) == null ?{core::int?} self::Extension|[]=(#t31{self::Class2}, #t32, 1) : null;
let final self::Class2? #t33 = c2 in #t33 == null ?{core::int?} null : let final core::int #t34 = 0 in self::Extension|[](#t33{self::Class2}, #t34) == null ?{core::int?} self::Extension|[]=(#t33{self::Class2}, #t34, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 1)){(core::num) → core::int}) : null;
let final self::Class2? #t35 = c2 in #t35 == null ?{core::int?} null : self::Extension|[](#t35{self::Class2}, 0);
let final self::Class2? #t36 = c2 in #t36 == null ?{void} null : self::Extension|[]=(#t36{self::Class2}, 0, 1);
let final self::Class2? #t37 = c2 in #t37 == null ?{void} null : self::Extension|[]=(#t37{self::Class2}, 0, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0)){(core::num) → core::int});
@ -64,8 +64,8 @@ static method main() → dynamic {
let final self::Class1? #t61 = c1 in #t61 == null ?{core::int?} null : let final self::Class2? #t62 = #t61{self::Class1}.{self::Class1::field}{self::Class2?} in #t62 == null ?{core::int?} null : let final core::int #t63 = 0 in self::Extension|[]=(#t62{self::Class2}, #t63, self::Extension|[](#t62{self::Class2}, #t63).{core::num::+}(1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0){(core::int) → core::int}){(core::num) → core::int}){(core::num) → core::int});
let final self::Class1? #t64 = c1 in #t64 == null ?{core::int?} null : let final self::Class2? #t65 = #t64{self::Class1}.{self::Class1::field}{self::Class2?} in #t65 == null ?{core::int?} null : let final core::int #t66 = 0 in let final core::int #t67 = self::Extension|[](#t65{self::Class2}, #t66).{core::num::+}(1){(core::num) → core::int} in let final void #t68 = self::Extension|[]=(#t65{self::Class2}, #t66, #t67) in #t67;
let final self::Class1? #t69 = c1 in #t69 == null ?{core::int?} null : let final self::Class2? #t70 = #t69{self::Class1}.{self::Class1::field}{self::Class2?} in #t70 == null ?{core::int?} null : let final core::int #t71 = 0 in self::Extension|[]=(#t70{self::Class2}, #t71, self::Extension|[](#t70{self::Class2}, #t71).{core::num::+}(1){(core::num) → core::int});
let final self::Class1? #t72 = c1 in #t72 == null ?{core::int?} null : let final self::Class2? #t73 = #t72{self::Class1}.{self::Class1::field}{self::Class2?} in #t73 == null ?{core::int?} null : let final core::int #t74 = 0 in self::Extension|[](#t73{self::Class2}, #t74) == null ?{core::int} self::Extension|[]=(#t73{self::Class2}, #t74, 1) : null;
let final self::Class1? #t75 = c1 in #t75 == null ?{core::int?} null : let final self::Class2? #t76 = #t75{self::Class1}.{self::Class1::field}{self::Class2?} in #t76 == null ?{core::int?} null : let final core::int #t77 = 0 in self::Extension|[](#t76{self::Class2}, #t77) == null ?{core::int} self::Extension|[]=(#t76{self::Class2}, #t77, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(1){(core::int) → core::int}){(core::num) → core::int}) : null;
let final self::Class1? #t72 = c1 in #t72 == null ?{core::int?} null : let final self::Class2? #t73 = #t72{self::Class1}.{self::Class1::field}{self::Class2?} in #t73 == null ?{core::int?} null : let final core::int #t74 = 0 in self::Extension|[](#t73{self::Class2}, #t74) == null ?{core::int?} self::Extension|[]=(#t73{self::Class2}, #t74, 1) : null;
let final self::Class1? #t75 = c1 in #t75 == null ?{core::int?} null : let final self::Class2? #t76 = #t75{self::Class1}.{self::Class1::field}{self::Class2?} in #t76 == null ?{core::int?} null : let final core::int #t77 = 0 in self::Extension|[](#t76{self::Class2}, #t77) == null ?{core::int?} self::Extension|[]=(#t76{self::Class2}, #t77, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(1){(core::int) → core::int}){(core::num) → core::int}) : null;
let final self::Class1? #t78 = c1 in #t78 == null ?{core::int?} null : let final self::Class2? #t79 = #t78{self::Class1}.{self::Class1::field}{self::Class2?} in #t79 == null ?{core::int?} null : self::Extension|[](#t79{self::Class2}, 0);
let final self::Class1? #t80 = c1 in #t80 == null ?{void} null : let final self::Class2? #t81 = #t80{self::Class1}.{self::Class1::field}{self::Class2?} in #t81 == null ?{void} null : self::Extension|[]=(#t81{self::Class2}, 0, 1);
let final self::Class1? #t82 = c1 in #t82 == null ?{void} null : let final self::Class2? #t83 = #t82{self::Class1}.{self::Class1::field}{self::Class2?} in #t83 == null ?{void} null : self::Extension|[]=(#t83{self::Class2}, 0, 1.{core::num::+}((let final self::Class2? #t84 = c2 in #t84 == null ?{core::int?} null : self::Extension|[](#t84{self::Class2}, 0)!) as core::int){(core::num) → core::int});

View file

@ -36,8 +36,8 @@ static method main() → dynamic {
let final self::Class1? #t6 = c1 in #t6 == null ?{core::int?} null : let final core::int #t7 = 0 in #t6{self::Class1}.{self::Class1::[]=}(#t7, #t6{self::Class1}.{self::Class1::[]}(#t7){(core::int) → core::int}.{core::num::+}(1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0){(core::int) → core::int}){(core::num) → core::int}){(core::num) → core::int}){(core::int, core::int) → void};
let final self::Class1? #t8 = c1 in #t8 == null ?{core::int?} null : let final core::int #t9 = 0 in let final core::int #t10 = #t8{self::Class1}.{self::Class1::[]}(#t9){(core::int) → core::int}.{core::num::+}(1){(core::num) → core::int} in let final void #t11 = #t8{self::Class1}.{self::Class1::[]=}(#t9, #t10){(core::int, core::int) → void} in #t10;
let final self::Class1? #t12 = c1 in #t12 == null ?{core::int?} null : let final core::int #t13 = 0 in #t12{self::Class1}.{self::Class1::[]=}(#t13, #t12{self::Class1}.{self::Class1::[]}(#t13){(core::int) → core::int}.{core::num::+}(1){(core::num) → core::int}){(core::int, core::int) → void};
let final self::Class1? #t14 = c1 in #t14 == null ?{core::int?} null : let final core::int #t15 = 0 in #t14{self::Class1}.{self::Class1::[]}(#t15){(core::int) → core::int} == null ?{core::int} #t14{self::Class1}.{self::Class1::[]=}(#t15, 1){(core::int, core::int) → void} : null;
let final self::Class1? #t16 = c1 in #t16 == null ?{core::int?} null : let final core::int #t17 = 0 in #t16{self::Class1}.{self::Class1::[]}(#t17){(core::int) → core::int} == null ?{core::int} #t16{self::Class1}.{self::Class1::[]=}(#t17, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(1){(core::int) → core::int}){(core::num) → core::int}){(core::int, core::int) → void} : null;
let final self::Class1? #t14 = c1 in #t14 == null ?{core::int?} null : let final core::int #t15 = 0 in #t14{self::Class1}.{self::Class1::[]}(#t15){(core::int) → core::int} == null ?{core::int?} #t14{self::Class1}.{self::Class1::[]=}(#t15, 1){(core::int, core::int) → void} : null;
let final self::Class1? #t16 = c1 in #t16 == null ?{core::int?} null : let final core::int #t17 = 0 in #t16{self::Class1}.{self::Class1::[]}(#t17){(core::int) → core::int} == null ?{core::int?} #t16{self::Class1}.{self::Class1::[]=}(#t17, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(1){(core::int) → core::int}){(core::num) → core::int}){(core::int, core::int) → void} : null;
self::Class2? c2;
let final self::Class2? #t18 = c2 in #t18 == null ?{core::int?} null : self::Extension|[](#t18{self::Class2}, 0);
let final self::Class2? #t19 = c2 in #t19 == null ?{core::int?} null : self::Extension|[]=(#t19{self::Class2}, 0, 1);
@ -46,8 +46,8 @@ static method main() → dynamic {
let final self::Class2? #t23 = c2 in #t23 == null ?{core::int?} null : let final core::int #t24 = 0 in self::Extension|[]=(#t23{self::Class2}, #t24, self::Extension|[](#t23{self::Class2}, #t24).{core::num::+}(1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0)){(core::num) → core::int}){(core::num) → core::int});
let final self::Class2? #t25 = c2 in #t25 == null ?{core::int?} null : let final core::int #t26 = 0 in let final core::int #t27 = self::Extension|[](#t25{self::Class2}, #t26).{core::num::+}(1){(core::num) → core::int} in let final void #t28 = self::Extension|[]=(#t25{self::Class2}, #t26, #t27) in #t27;
let final self::Class2? #t29 = c2 in #t29 == null ?{core::int?} null : let final core::int #t30 = 0 in self::Extension|[]=(#t29{self::Class2}, #t30, self::Extension|[](#t29{self::Class2}, #t30).{core::num::+}(1){(core::num) → core::int});
let final self::Class2? #t31 = c2 in #t31 == null ?{core::int?} null : let final core::int #t32 = 0 in self::Extension|[](#t31{self::Class2}, #t32) == null ?{core::int} self::Extension|[]=(#t31{self::Class2}, #t32, 1) : null;
let final self::Class2? #t33 = c2 in #t33 == null ?{core::int?} null : let final core::int #t34 = 0 in self::Extension|[](#t33{self::Class2}, #t34) == null ?{core::int} self::Extension|[]=(#t33{self::Class2}, #t34, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 1)){(core::num) → core::int}) : null;
let final self::Class2? #t31 = c2 in #t31 == null ?{core::int?} null : let final core::int #t32 = 0 in self::Extension|[](#t31{self::Class2}, #t32) == null ?{core::int?} self::Extension|[]=(#t31{self::Class2}, #t32, 1) : null;
let final self::Class2? #t33 = c2 in #t33 == null ?{core::int?} null : let final core::int #t34 = 0 in self::Extension|[](#t33{self::Class2}, #t34) == null ?{core::int?} self::Extension|[]=(#t33{self::Class2}, #t34, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 1)){(core::num) → core::int}) : null;
let final self::Class2? #t35 = c2 in #t35 == null ?{core::int?} null : self::Extension|[](#t35{self::Class2}, 0);
let final self::Class2? #t36 = c2 in #t36 == null ?{void} null : self::Extension|[]=(#t36{self::Class2}, 0, 1);
let final self::Class2? #t37 = c2 in #t37 == null ?{void} null : self::Extension|[]=(#t37{self::Class2}, 0, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0)){(core::num) → core::int});
@ -64,8 +64,8 @@ static method main() → dynamic {
let final self::Class1? #t61 = c1 in #t61 == null ?{core::int?} null : let final self::Class2? #t62 = #t61{self::Class1}.{self::Class1::field}{self::Class2?} in #t62 == null ?{core::int?} null : let final core::int #t63 = 0 in self::Extension|[]=(#t62{self::Class2}, #t63, self::Extension|[](#t62{self::Class2}, #t63).{core::num::+}(1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0){(core::int) → core::int}){(core::num) → core::int}){(core::num) → core::int});
let final self::Class1? #t64 = c1 in #t64 == null ?{core::int?} null : let final self::Class2? #t65 = #t64{self::Class1}.{self::Class1::field}{self::Class2?} in #t65 == null ?{core::int?} null : let final core::int #t66 = 0 in let final core::int #t67 = self::Extension|[](#t65{self::Class2}, #t66).{core::num::+}(1){(core::num) → core::int} in let final void #t68 = self::Extension|[]=(#t65{self::Class2}, #t66, #t67) in #t67;
let final self::Class1? #t69 = c1 in #t69 == null ?{core::int?} null : let final self::Class2? #t70 = #t69{self::Class1}.{self::Class1::field}{self::Class2?} in #t70 == null ?{core::int?} null : let final core::int #t71 = 0 in self::Extension|[]=(#t70{self::Class2}, #t71, self::Extension|[](#t70{self::Class2}, #t71).{core::num::+}(1){(core::num) → core::int});
let final self::Class1? #t72 = c1 in #t72 == null ?{core::int?} null : let final self::Class2? #t73 = #t72{self::Class1}.{self::Class1::field}{self::Class2?} in #t73 == null ?{core::int?} null : let final core::int #t74 = 0 in self::Extension|[](#t73{self::Class2}, #t74) == null ?{core::int} self::Extension|[]=(#t73{self::Class2}, #t74, 1) : null;
let final self::Class1? #t75 = c1 in #t75 == null ?{core::int?} null : let final self::Class2? #t76 = #t75{self::Class1}.{self::Class1::field}{self::Class2?} in #t76 == null ?{core::int?} null : let final core::int #t77 = 0 in self::Extension|[](#t76{self::Class2}, #t77) == null ?{core::int} self::Extension|[]=(#t76{self::Class2}, #t77, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(1){(core::int) → core::int}){(core::num) → core::int}) : null;
let final self::Class1? #t72 = c1 in #t72 == null ?{core::int?} null : let final self::Class2? #t73 = #t72{self::Class1}.{self::Class1::field}{self::Class2?} in #t73 == null ?{core::int?} null : let final core::int #t74 = 0 in self::Extension|[](#t73{self::Class2}, #t74) == null ?{core::int?} self::Extension|[]=(#t73{self::Class2}, #t74, 1) : null;
let final self::Class1? #t75 = c1 in #t75 == null ?{core::int?} null : let final self::Class2? #t76 = #t75{self::Class1}.{self::Class1::field}{self::Class2?} in #t76 == null ?{core::int?} null : let final core::int #t77 = 0 in self::Extension|[](#t76{self::Class2}, #t77) == null ?{core::int?} self::Extension|[]=(#t76{self::Class2}, #t77, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(1){(core::int) → core::int}){(core::num) → core::int}) : null;
let final self::Class1? #t78 = c1 in #t78 == null ?{core::int?} null : let final self::Class2? #t79 = #t78{self::Class1}.{self::Class1::field}{self::Class2?} in #t79 == null ?{core::int?} null : self::Extension|[](#t79{self::Class2}, 0);
let final self::Class1? #t80 = c1 in #t80 == null ?{void} null : let final self::Class2? #t81 = #t80{self::Class1}.{self::Class1::field}{self::Class2?} in #t81 == null ?{void} null : self::Extension|[]=(#t81{self::Class2}, 0, 1);
let final self::Class1? #t82 = c1 in #t82 == null ?{void} null : let final self::Class2? #t83 = #t82{self::Class1}.{self::Class1::field}{self::Class2?} in #t83 == null ?{void} null : self::Extension|[]=(#t83{self::Class2}, 0, 1.{core::num::+}(let core::int? #t84 = let final self::Class2? #t85 = c2 in #t85 == null ?{core::int?} null : self::Extension|[](#t85{self::Class2}, 0)! in #t84 == null ?{core::int} #t84 as core::int : #t84{core::int}){(core::num) → core::int});

View file

@ -36,8 +36,8 @@ static method main() → dynamic {
let final self::Class1? #t6 = c1 in #t6 == null ?{core::int?} null : let final core::int #t7 = 0 in #t6{self::Class1}.{self::Class1::[]=}(#t7, #t6{self::Class1}.{self::Class1::[]}(#t7){(core::int) → core::int}.{core::num::+}(1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0){(core::int) → core::int}){(core::num) → core::int}){(core::num) → core::int}){(core::int, core::int) → void};
let final self::Class1? #t8 = c1 in #t8 == null ?{core::int?} null : let final core::int #t9 = 0 in let final core::int #t10 = #t8{self::Class1}.{self::Class1::[]}(#t9){(core::int) → core::int}.{core::num::+}(1){(core::num) → core::int} in let final void #t11 = #t8{self::Class1}.{self::Class1::[]=}(#t9, #t10){(core::int, core::int) → void} in #t10;
let final self::Class1? #t12 = c1 in #t12 == null ?{core::int?} null : let final core::int #t13 = 0 in #t12{self::Class1}.{self::Class1::[]=}(#t13, #t12{self::Class1}.{self::Class1::[]}(#t13){(core::int) → core::int}.{core::num::+}(1){(core::num) → core::int}){(core::int, core::int) → void};
let final self::Class1? #t14 = c1 in #t14 == null ?{core::int?} null : let final core::int #t15 = 0 in #t14{self::Class1}.{self::Class1::[]}(#t15){(core::int) → core::int} == null ?{core::int} #t14{self::Class1}.{self::Class1::[]=}(#t15, 1){(core::int, core::int) → void} : null;
let final self::Class1? #t16 = c1 in #t16 == null ?{core::int?} null : let final core::int #t17 = 0 in #t16{self::Class1}.{self::Class1::[]}(#t17){(core::int) → core::int} == null ?{core::int} #t16{self::Class1}.{self::Class1::[]=}(#t17, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(1){(core::int) → core::int}){(core::num) → core::int}){(core::int, core::int) → void} : null;
let final self::Class1? #t14 = c1 in #t14 == null ?{core::int?} null : let final core::int #t15 = 0 in #t14{self::Class1}.{self::Class1::[]}(#t15){(core::int) → core::int} == null ?{core::int?} #t14{self::Class1}.{self::Class1::[]=}(#t15, 1){(core::int, core::int) → void} : null;
let final self::Class1? #t16 = c1 in #t16 == null ?{core::int?} null : let final core::int #t17 = 0 in #t16{self::Class1}.{self::Class1::[]}(#t17){(core::int) → core::int} == null ?{core::int?} #t16{self::Class1}.{self::Class1::[]=}(#t17, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(1){(core::int) → core::int}){(core::num) → core::int}){(core::int, core::int) → void} : null;
self::Class2? c2;
let final self::Class2? #t18 = c2 in #t18 == null ?{core::int?} null : self::Extension|[](#t18{self::Class2}, 0);
let final self::Class2? #t19 = c2 in #t19 == null ?{core::int?} null : self::Extension|[]=(#t19{self::Class2}, 0, 1);
@ -46,8 +46,8 @@ static method main() → dynamic {
let final self::Class2? #t23 = c2 in #t23 == null ?{core::int?} null : let final core::int #t24 = 0 in self::Extension|[]=(#t23{self::Class2}, #t24, self::Extension|[](#t23{self::Class2}, #t24).{core::num::+}(1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0)){(core::num) → core::int}){(core::num) → core::int});
let final self::Class2? #t25 = c2 in #t25 == null ?{core::int?} null : let final core::int #t26 = 0 in let final core::int #t27 = self::Extension|[](#t25{self::Class2}, #t26).{core::num::+}(1){(core::num) → core::int} in let final void #t28 = self::Extension|[]=(#t25{self::Class2}, #t26, #t27) in #t27;
let final self::Class2? #t29 = c2 in #t29 == null ?{core::int?} null : let final core::int #t30 = 0 in self::Extension|[]=(#t29{self::Class2}, #t30, self::Extension|[](#t29{self::Class2}, #t30).{core::num::+}(1){(core::num) → core::int});
let final self::Class2? #t31 = c2 in #t31 == null ?{core::int?} null : let final core::int #t32 = 0 in self::Extension|[](#t31{self::Class2}, #t32) == null ?{core::int} self::Extension|[]=(#t31{self::Class2}, #t32, 1) : null;
let final self::Class2? #t33 = c2 in #t33 == null ?{core::int?} null : let final core::int #t34 = 0 in self::Extension|[](#t33{self::Class2}, #t34) == null ?{core::int} self::Extension|[]=(#t33{self::Class2}, #t34, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 1)){(core::num) → core::int}) : null;
let final self::Class2? #t31 = c2 in #t31 == null ?{core::int?} null : let final core::int #t32 = 0 in self::Extension|[](#t31{self::Class2}, #t32) == null ?{core::int?} self::Extension|[]=(#t31{self::Class2}, #t32, 1) : null;
let final self::Class2? #t33 = c2 in #t33 == null ?{core::int?} null : let final core::int #t34 = 0 in self::Extension|[](#t33{self::Class2}, #t34) == null ?{core::int?} self::Extension|[]=(#t33{self::Class2}, #t34, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 1)){(core::num) → core::int}) : null;
let final self::Class2? #t35 = c2 in #t35 == null ?{core::int?} null : self::Extension|[](#t35{self::Class2}, 0);
let final self::Class2? #t36 = c2 in #t36 == null ?{void} null : self::Extension|[]=(#t36{self::Class2}, 0, 1);
let final self::Class2? #t37 = c2 in #t37 == null ?{void} null : self::Extension|[]=(#t37{self::Class2}, 0, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0)){(core::num) → core::int});
@ -64,8 +64,8 @@ static method main() → dynamic {
let final self::Class1? #t61 = c1 in #t61 == null ?{core::int?} null : let final self::Class2? #t62 = #t61{self::Class1}.{self::Class1::field}{self::Class2?} in #t62 == null ?{core::int?} null : let final core::int #t63 = 0 in self::Extension|[]=(#t62{self::Class2}, #t63, self::Extension|[](#t62{self::Class2}, #t63).{core::num::+}(1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0){(core::int) → core::int}){(core::num) → core::int}){(core::num) → core::int});
let final self::Class1? #t64 = c1 in #t64 == null ?{core::int?} null : let final self::Class2? #t65 = #t64{self::Class1}.{self::Class1::field}{self::Class2?} in #t65 == null ?{core::int?} null : let final core::int #t66 = 0 in let final core::int #t67 = self::Extension|[](#t65{self::Class2}, #t66).{core::num::+}(1){(core::num) → core::int} in let final void #t68 = self::Extension|[]=(#t65{self::Class2}, #t66, #t67) in #t67;
let final self::Class1? #t69 = c1 in #t69 == null ?{core::int?} null : let final self::Class2? #t70 = #t69{self::Class1}.{self::Class1::field}{self::Class2?} in #t70 == null ?{core::int?} null : let final core::int #t71 = 0 in self::Extension|[]=(#t70{self::Class2}, #t71, self::Extension|[](#t70{self::Class2}, #t71).{core::num::+}(1){(core::num) → core::int});
let final self::Class1? #t72 = c1 in #t72 == null ?{core::int?} null : let final self::Class2? #t73 = #t72{self::Class1}.{self::Class1::field}{self::Class2?} in #t73 == null ?{core::int?} null : let final core::int #t74 = 0 in self::Extension|[](#t73{self::Class2}, #t74) == null ?{core::int} self::Extension|[]=(#t73{self::Class2}, #t74, 1) : null;
let final self::Class1? #t75 = c1 in #t75 == null ?{core::int?} null : let final self::Class2? #t76 = #t75{self::Class1}.{self::Class1::field}{self::Class2?} in #t76 == null ?{core::int?} null : let final core::int #t77 = 0 in self::Extension|[](#t76{self::Class2}, #t77) == null ?{core::int} self::Extension|[]=(#t76{self::Class2}, #t77, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(1){(core::int) → core::int}){(core::num) → core::int}) : null;
let final self::Class1? #t72 = c1 in #t72 == null ?{core::int?} null : let final self::Class2? #t73 = #t72{self::Class1}.{self::Class1::field}{self::Class2?} in #t73 == null ?{core::int?} null : let final core::int #t74 = 0 in self::Extension|[](#t73{self::Class2}, #t74) == null ?{core::int?} self::Extension|[]=(#t73{self::Class2}, #t74, 1) : null;
let final self::Class1? #t75 = c1 in #t75 == null ?{core::int?} null : let final self::Class2? #t76 = #t75{self::Class1}.{self::Class1::field}{self::Class2?} in #t76 == null ?{core::int?} null : let final core::int #t77 = 0 in self::Extension|[](#t76{self::Class2}, #t77) == null ?{core::int?} self::Extension|[]=(#t76{self::Class2}, #t77, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(1){(core::int) → core::int}){(core::num) → core::int}) : null;
let final self::Class1? #t78 = c1 in #t78 == null ?{core::int?} null : let final self::Class2? #t79 = #t78{self::Class1}.{self::Class1::field}{self::Class2?} in #t79 == null ?{core::int?} null : self::Extension|[](#t79{self::Class2}, 0);
let final self::Class1? #t80 = c1 in #t80 == null ?{void} null : let final self::Class2? #t81 = #t80{self::Class1}.{self::Class1::field}{self::Class2?} in #t81 == null ?{void} null : self::Extension|[]=(#t81{self::Class2}, 0, 1);
let final self::Class1? #t82 = c1 in #t82 == null ?{void} null : let final self::Class2? #t83 = #t82{self::Class1}.{self::Class1::field}{self::Class2?} in #t83 == null ?{void} null : self::Extension|[]=(#t83{self::Class2}, 0, 1.{core::num::+}((let final self::Class2? #t84 = c2 in #t84 == null ?{core::int?} null : self::Extension|[](#t84{self::Class2}, 0)!) as core::int){(core::num) → core::int});

View file

@ -36,8 +36,8 @@ static method main() → dynamic {
let final self::Class1? #t6 = c1 in #t6 == null ?{core::int?} null : let final core::int #t7 = 0 in #t6{self::Class1}.{self::Class1::[]=}(#t7, #t6{self::Class1}.{self::Class1::[]}(#t7){(core::int) → core::int}.{core::num::+}(1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0){(core::int) → core::int}){(core::num) → core::int}){(core::num) → core::int}){(core::int, core::int) → void};
let final self::Class1? #t8 = c1 in #t8 == null ?{core::int?} null : let final core::int #t9 = 0 in let final core::int #t10 = #t8{self::Class1}.{self::Class1::[]}(#t9){(core::int) → core::int}.{core::num::+}(1){(core::num) → core::int} in let final void #t11 = #t8{self::Class1}.{self::Class1::[]=}(#t9, #t10){(core::int, core::int) → void} in #t10;
let final self::Class1? #t12 = c1 in #t12 == null ?{core::int?} null : let final core::int #t13 = 0 in #t12{self::Class1}.{self::Class1::[]=}(#t13, #t12{self::Class1}.{self::Class1::[]}(#t13){(core::int) → core::int}.{core::num::+}(1){(core::num) → core::int}){(core::int, core::int) → void};
let final self::Class1? #t14 = c1 in #t14 == null ?{core::int?} null : let final core::int #t15 = 0 in #t14{self::Class1}.{self::Class1::[]}(#t15){(core::int) → core::int} == null ?{core::int} #t14{self::Class1}.{self::Class1::[]=}(#t15, 1){(core::int, core::int) → void} : null;
let final self::Class1? #t16 = c1 in #t16 == null ?{core::int?} null : let final core::int #t17 = 0 in #t16{self::Class1}.{self::Class1::[]}(#t17){(core::int) → core::int} == null ?{core::int} #t16{self::Class1}.{self::Class1::[]=}(#t17, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(1){(core::int) → core::int}){(core::num) → core::int}){(core::int, core::int) → void} : null;
let final self::Class1? #t14 = c1 in #t14 == null ?{core::int?} null : let final core::int #t15 = 0 in #t14{self::Class1}.{self::Class1::[]}(#t15){(core::int) → core::int} == null ?{core::int?} #t14{self::Class1}.{self::Class1::[]=}(#t15, 1){(core::int, core::int) → void} : null;
let final self::Class1? #t16 = c1 in #t16 == null ?{core::int?} null : let final core::int #t17 = 0 in #t16{self::Class1}.{self::Class1::[]}(#t17){(core::int) → core::int} == null ?{core::int?} #t16{self::Class1}.{self::Class1::[]=}(#t17, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(1){(core::int) → core::int}){(core::num) → core::int}){(core::int, core::int) → void} : null;
self::Class2? c2;
let final self::Class2? #t18 = c2 in #t18 == null ?{core::int?} null : self::Extension|[](#t18{self::Class2}, 0);
let final self::Class2? #t19 = c2 in #t19 == null ?{core::int?} null : self::Extension|[]=(#t19{self::Class2}, 0, 1);
@ -46,8 +46,8 @@ static method main() → dynamic {
let final self::Class2? #t23 = c2 in #t23 == null ?{core::int?} null : let final core::int #t24 = 0 in self::Extension|[]=(#t23{self::Class2}, #t24, self::Extension|[](#t23{self::Class2}, #t24).{core::num::+}(1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0)){(core::num) → core::int}){(core::num) → core::int});
let final self::Class2? #t25 = c2 in #t25 == null ?{core::int?} null : let final core::int #t26 = 0 in let final core::int #t27 = self::Extension|[](#t25{self::Class2}, #t26).{core::num::+}(1){(core::num) → core::int} in let final void #t28 = self::Extension|[]=(#t25{self::Class2}, #t26, #t27) in #t27;
let final self::Class2? #t29 = c2 in #t29 == null ?{core::int?} null : let final core::int #t30 = 0 in self::Extension|[]=(#t29{self::Class2}, #t30, self::Extension|[](#t29{self::Class2}, #t30).{core::num::+}(1){(core::num) → core::int});
let final self::Class2? #t31 = c2 in #t31 == null ?{core::int?} null : let final core::int #t32 = 0 in self::Extension|[](#t31{self::Class2}, #t32) == null ?{core::int} self::Extension|[]=(#t31{self::Class2}, #t32, 1) : null;
let final self::Class2? #t33 = c2 in #t33 == null ?{core::int?} null : let final core::int #t34 = 0 in self::Extension|[](#t33{self::Class2}, #t34) == null ?{core::int} self::Extension|[]=(#t33{self::Class2}, #t34, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 1)){(core::num) → core::int}) : null;
let final self::Class2? #t31 = c2 in #t31 == null ?{core::int?} null : let final core::int #t32 = 0 in self::Extension|[](#t31{self::Class2}, #t32) == null ?{core::int?} self::Extension|[]=(#t31{self::Class2}, #t32, 1) : null;
let final self::Class2? #t33 = c2 in #t33 == null ?{core::int?} null : let final core::int #t34 = 0 in self::Extension|[](#t33{self::Class2}, #t34) == null ?{core::int?} self::Extension|[]=(#t33{self::Class2}, #t34, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 1)){(core::num) → core::int}) : null;
let final self::Class2? #t35 = c2 in #t35 == null ?{core::int?} null : self::Extension|[](#t35{self::Class2}, 0);
let final self::Class2? #t36 = c2 in #t36 == null ?{void} null : self::Extension|[]=(#t36{self::Class2}, 0, 1);
let final self::Class2? #t37 = c2 in #t37 == null ?{void} null : self::Extension|[]=(#t37{self::Class2}, 0, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0)){(core::num) → core::int});
@ -64,8 +64,8 @@ static method main() → dynamic {
let final self::Class1? #t61 = c1 in #t61 == null ?{core::int?} null : let final self::Class2? #t62 = #t61{self::Class1}.{self::Class1::field}{self::Class2?} in #t62 == null ?{core::int?} null : let final core::int #t63 = 0 in self::Extension|[]=(#t62{self::Class2}, #t63, self::Extension|[](#t62{self::Class2}, #t63).{core::num::+}(1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0){(core::int) → core::int}){(core::num) → core::int}){(core::num) → core::int});
let final self::Class1? #t64 = c1 in #t64 == null ?{core::int?} null : let final self::Class2? #t65 = #t64{self::Class1}.{self::Class1::field}{self::Class2?} in #t65 == null ?{core::int?} null : let final core::int #t66 = 0 in let final core::int #t67 = self::Extension|[](#t65{self::Class2}, #t66).{core::num::+}(1){(core::num) → core::int} in let final void #t68 = self::Extension|[]=(#t65{self::Class2}, #t66, #t67) in #t67;
let final self::Class1? #t69 = c1 in #t69 == null ?{core::int?} null : let final self::Class2? #t70 = #t69{self::Class1}.{self::Class1::field}{self::Class2?} in #t70 == null ?{core::int?} null : let final core::int #t71 = 0 in self::Extension|[]=(#t70{self::Class2}, #t71, self::Extension|[](#t70{self::Class2}, #t71).{core::num::+}(1){(core::num) → core::int});
let final self::Class1? #t72 = c1 in #t72 == null ?{core::int?} null : let final self::Class2? #t73 = #t72{self::Class1}.{self::Class1::field}{self::Class2?} in #t73 == null ?{core::int?} null : let final core::int #t74 = 0 in self::Extension|[](#t73{self::Class2}, #t74) == null ?{core::int} self::Extension|[]=(#t73{self::Class2}, #t74, 1) : null;
let final self::Class1? #t75 = c1 in #t75 == null ?{core::int?} null : let final self::Class2? #t76 = #t75{self::Class1}.{self::Class1::field}{self::Class2?} in #t76 == null ?{core::int?} null : let final core::int #t77 = 0 in self::Extension|[](#t76{self::Class2}, #t77) == null ?{core::int} self::Extension|[]=(#t76{self::Class2}, #t77, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(1){(core::int) → core::int}){(core::num) → core::int}) : null;
let final self::Class1? #t72 = c1 in #t72 == null ?{core::int?} null : let final self::Class2? #t73 = #t72{self::Class1}.{self::Class1::field}{self::Class2?} in #t73 == null ?{core::int?} null : let final core::int #t74 = 0 in self::Extension|[](#t73{self::Class2}, #t74) == null ?{core::int?} self::Extension|[]=(#t73{self::Class2}, #t74, 1) : null;
let final self::Class1? #t75 = c1 in #t75 == null ?{core::int?} null : let final self::Class2? #t76 = #t75{self::Class1}.{self::Class1::field}{self::Class2?} in #t76 == null ?{core::int?} null : let final core::int #t77 = 0 in self::Extension|[](#t76{self::Class2}, #t77) == null ?{core::int?} self::Extension|[]=(#t76{self::Class2}, #t77, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(1){(core::int) → core::int}){(core::num) → core::int}) : null;
let final self::Class1? #t78 = c1 in #t78 == null ?{core::int?} null : let final self::Class2? #t79 = #t78{self::Class1}.{self::Class1::field}{self::Class2?} in #t79 == null ?{core::int?} null : self::Extension|[](#t79{self::Class2}, 0);
let final self::Class1? #t80 = c1 in #t80 == null ?{void} null : let final self::Class2? #t81 = #t80{self::Class1}.{self::Class1::field}{self::Class2?} in #t81 == null ?{void} null : self::Extension|[]=(#t81{self::Class2}, 0, 1);
let final self::Class1? #t82 = c1 in #t82 == null ?{void} null : let final self::Class2? #t83 = #t82{self::Class1}.{self::Class1::field}{self::Class2?} in #t83 == null ?{void} null : self::Extension|[]=(#t83{self::Class2}, 0, 1.{core::num::+}((let final self::Class2? #t84 = c2 in #t84 == null ?{core::int?} null : self::Extension|[](#t84{self::Class2}, 0)!) as core::int){(core::num) → core::int});

View file

@ -36,8 +36,8 @@ static method main() → dynamic {
let final self::Class1? #t6 = c1 in #t6 == null ?{core::int?} null : let final core::int #t7 = 0 in #t6{self::Class1}.{self::Class1::[]=}(#t7, #t6{self::Class1}.{self::Class1::[]}(#t7){(core::int) → core::int}.{core::num::+}(1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0){(core::int) → core::int}){(core::num) → core::int}){(core::num) → core::int}){(core::int, core::int) → void};
let final self::Class1? #t8 = c1 in #t8 == null ?{core::int?} null : let final core::int #t9 = 0 in let final core::int #t10 = #t8{self::Class1}.{self::Class1::[]}(#t9){(core::int) → core::int}.{core::num::+}(1){(core::num) → core::int} in let final void #t11 = #t8{self::Class1}.{self::Class1::[]=}(#t9, #t10){(core::int, core::int) → void} in #t10;
let final self::Class1? #t12 = c1 in #t12 == null ?{core::int?} null : let final core::int #t13 = 0 in #t12{self::Class1}.{self::Class1::[]=}(#t13, #t12{self::Class1}.{self::Class1::[]}(#t13){(core::int) → core::int}.{core::num::+}(1){(core::num) → core::int}){(core::int, core::int) → void};
let final self::Class1? #t14 = c1 in #t14 == null ?{core::int?} null : let final core::int #t15 = 0 in #t14{self::Class1}.{self::Class1::[]}(#t15){(core::int) → core::int} == null ?{core::int} #t14{self::Class1}.{self::Class1::[]=}(#t15, 1){(core::int, core::int) → void} : null;
let final self::Class1? #t16 = c1 in #t16 == null ?{core::int?} null : let final core::int #t17 = 0 in #t16{self::Class1}.{self::Class1::[]}(#t17){(core::int) → core::int} == null ?{core::int} #t16{self::Class1}.{self::Class1::[]=}(#t17, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(1){(core::int) → core::int}){(core::num) → core::int}){(core::int, core::int) → void} : null;
let final self::Class1? #t14 = c1 in #t14 == null ?{core::int?} null : let final core::int #t15 = 0 in #t14{self::Class1}.{self::Class1::[]}(#t15){(core::int) → core::int} == null ?{core::int?} #t14{self::Class1}.{self::Class1::[]=}(#t15, 1){(core::int, core::int) → void} : null;
let final self::Class1? #t16 = c1 in #t16 == null ?{core::int?} null : let final core::int #t17 = 0 in #t16{self::Class1}.{self::Class1::[]}(#t17){(core::int) → core::int} == null ?{core::int?} #t16{self::Class1}.{self::Class1::[]=}(#t17, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(1){(core::int) → core::int}){(core::num) → core::int}){(core::int, core::int) → void} : null;
self::Class2? c2;
let final self::Class2? #t18 = c2 in #t18 == null ?{core::int?} null : self::Extension|[](#t18{self::Class2}, 0);
let final self::Class2? #t19 = c2 in #t19 == null ?{core::int?} null : self::Extension|[]=(#t19{self::Class2}, 0, 1);
@ -46,8 +46,8 @@ static method main() → dynamic {
let final self::Class2? #t23 = c2 in #t23 == null ?{core::int?} null : let final core::int #t24 = 0 in self::Extension|[]=(#t23{self::Class2}, #t24, self::Extension|[](#t23{self::Class2}, #t24).{core::num::+}(1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0)){(core::num) → core::int}){(core::num) → core::int});
let final self::Class2? #t25 = c2 in #t25 == null ?{core::int?} null : let final core::int #t26 = 0 in let final core::int #t27 = self::Extension|[](#t25{self::Class2}, #t26).{core::num::+}(1){(core::num) → core::int} in let final void #t28 = self::Extension|[]=(#t25{self::Class2}, #t26, #t27) in #t27;
let final self::Class2? #t29 = c2 in #t29 == null ?{core::int?} null : let final core::int #t30 = 0 in self::Extension|[]=(#t29{self::Class2}, #t30, self::Extension|[](#t29{self::Class2}, #t30).{core::num::+}(1){(core::num) → core::int});
let final self::Class2? #t31 = c2 in #t31 == null ?{core::int?} null : let final core::int #t32 = 0 in self::Extension|[](#t31{self::Class2}, #t32) == null ?{core::int} self::Extension|[]=(#t31{self::Class2}, #t32, 1) : null;
let final self::Class2? #t33 = c2 in #t33 == null ?{core::int?} null : let final core::int #t34 = 0 in self::Extension|[](#t33{self::Class2}, #t34) == null ?{core::int} self::Extension|[]=(#t33{self::Class2}, #t34, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 1)){(core::num) → core::int}) : null;
let final self::Class2? #t31 = c2 in #t31 == null ?{core::int?} null : let final core::int #t32 = 0 in self::Extension|[](#t31{self::Class2}, #t32) == null ?{core::int?} self::Extension|[]=(#t31{self::Class2}, #t32, 1) : null;
let final self::Class2? #t33 = c2 in #t33 == null ?{core::int?} null : let final core::int #t34 = 0 in self::Extension|[](#t33{self::Class2}, #t34) == null ?{core::int?} self::Extension|[]=(#t33{self::Class2}, #t34, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 1)){(core::num) → core::int}) : null;
let final self::Class2? #t35 = c2 in #t35 == null ?{core::int?} null : self::Extension|[](#t35{self::Class2}, 0);
let final self::Class2? #t36 = c2 in #t36 == null ?{void} null : self::Extension|[]=(#t36{self::Class2}, 0, 1);
let final self::Class2? #t37 = c2 in #t37 == null ?{void} null : self::Extension|[]=(#t37{self::Class2}, 0, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0)){(core::num) → core::int});
@ -64,8 +64,8 @@ static method main() → dynamic {
let final self::Class1? #t61 = c1 in #t61 == null ?{core::int?} null : let final self::Class2? #t62 = #t61{self::Class1}.{self::Class1::field}{self::Class2?} in #t62 == null ?{core::int?} null : let final core::int #t63 = 0 in self::Extension|[]=(#t62{self::Class2}, #t63, self::Extension|[](#t62{self::Class2}, #t63).{core::num::+}(1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0){(core::int) → core::int}){(core::num) → core::int}){(core::num) → core::int});
let final self::Class1? #t64 = c1 in #t64 == null ?{core::int?} null : let final self::Class2? #t65 = #t64{self::Class1}.{self::Class1::field}{self::Class2?} in #t65 == null ?{core::int?} null : let final core::int #t66 = 0 in let final core::int #t67 = self::Extension|[](#t65{self::Class2}, #t66).{core::num::+}(1){(core::num) → core::int} in let final void #t68 = self::Extension|[]=(#t65{self::Class2}, #t66, #t67) in #t67;
let final self::Class1? #t69 = c1 in #t69 == null ?{core::int?} null : let final self::Class2? #t70 = #t69{self::Class1}.{self::Class1::field}{self::Class2?} in #t70 == null ?{core::int?} null : let final core::int #t71 = 0 in self::Extension|[]=(#t70{self::Class2}, #t71, self::Extension|[](#t70{self::Class2}, #t71).{core::num::+}(1){(core::num) → core::int});
let final self::Class1? #t72 = c1 in #t72 == null ?{core::int?} null : let final self::Class2? #t73 = #t72{self::Class1}.{self::Class1::field}{self::Class2?} in #t73 == null ?{core::int?} null : let final core::int #t74 = 0 in self::Extension|[](#t73{self::Class2}, #t74) == null ?{core::int} self::Extension|[]=(#t73{self::Class2}, #t74, 1) : null;
let final self::Class1? #t75 = c1 in #t75 == null ?{core::int?} null : let final self::Class2? #t76 = #t75{self::Class1}.{self::Class1::field}{self::Class2?} in #t76 == null ?{core::int?} null : let final core::int #t77 = 0 in self::Extension|[](#t76{self::Class2}, #t77) == null ?{core::int} self::Extension|[]=(#t76{self::Class2}, #t77, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(1){(core::int) → core::int}){(core::num) → core::int}) : null;
let final self::Class1? #t72 = c1 in #t72 == null ?{core::int?} null : let final self::Class2? #t73 = #t72{self::Class1}.{self::Class1::field}{self::Class2?} in #t73 == null ?{core::int?} null : let final core::int #t74 = 0 in self::Extension|[](#t73{self::Class2}, #t74) == null ?{core::int?} self::Extension|[]=(#t73{self::Class2}, #t74, 1) : null;
let final self::Class1? #t75 = c1 in #t75 == null ?{core::int?} null : let final self::Class2? #t76 = #t75{self::Class1}.{self::Class1::field}{self::Class2?} in #t76 == null ?{core::int?} null : let final core::int #t77 = 0 in self::Extension|[](#t76{self::Class2}, #t77) == null ?{core::int?} self::Extension|[]=(#t76{self::Class2}, #t77, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(1){(core::int) → core::int}){(core::num) → core::int}) : null;
let final self::Class1? #t78 = c1 in #t78 == null ?{core::int?} null : let final self::Class2? #t79 = #t78{self::Class1}.{self::Class1::field}{self::Class2?} in #t79 == null ?{core::int?} null : self::Extension|[](#t79{self::Class2}, 0);
let final self::Class1? #t80 = c1 in #t80 == null ?{void} null : let final self::Class2? #t81 = #t80{self::Class1}.{self::Class1::field}{self::Class2?} in #t81 == null ?{void} null : self::Extension|[]=(#t81{self::Class2}, 0, 1);
let final self::Class1? #t82 = c1 in #t82 == null ?{void} null : let final self::Class2? #t83 = #t82{self::Class1}.{self::Class1::field}{self::Class2?} in #t83 == null ?{void} null : self::Extension|[]=(#t83{self::Class2}, 0, 1.{core::num::+}((let final self::Class2? #t84 = c2 in #t84 == null ?{core::int?} null : self::Extension|[](#t84{self::Class2}, 0)!) as{Unchecked} core::int){(core::num) → core::int});

View file

@ -22,8 +22,8 @@ class Class extends core::Object {
late final self::Class self;
if(self::b)
self = this;
let final self::Map<self::Class, self::Class> #t1 = map in #t1.{self::Map::[]}(this){(self::Class) → self::Class} == null ?{self::Class} #t1.{self::Map::[]=}(this, this){(self::Class, self::Class) → void} : null;
let final self::Map<self::Class, self::Class> #t2 = map in let final self::Class #t3 = self in #t2.{self::Map::[]}(#t3){(self::Class) → self::Class} == null ?{self::Class} #t2.{self::Map::[]=}(#t3, self){(self::Class, self::Class) → void} : null;
let final self::Map<self::Class, self::Class> #t1 = map in #t1.{self::Map::[]}(this){(self::Class) → self::Class} == null ?{self::Class?} #t1.{self::Map::[]=}(this, this){(self::Class, self::Class) → void} : null;
let final self::Map<self::Class, self::Class> #t2 = map in let final self::Class #t3 = self in #t2.{self::Map::[]}(#t3){(self::Class) → self::Class} == null ?{self::Class?} #t2.{self::Map::[]=}(#t3, self){(self::Class, self::Class) → void} : null;
map.{self::Map::[]=}(this, this){(self::Class, self::Class) → void};
map.{self::Map::[]=}(self, self){(self::Class, self::Class) → void};
map.{self::Map::[]}(this){(self::Class) → self::Class};
@ -49,8 +49,8 @@ class Class extends core::Object {
late final self::Class self;
if(self::b)
self = this;
let final core::int #t28 = i in self::Extension|[](#t28, this) == null ?{self::Class} self::Extension|[]=(#t28, this, this) : null;
let final core::int #t29 = i in let final self::Class #t30 = self in self::Extension|[](#t29, #t30) == null ?{self::Class} self::Extension|[]=(#t29, #t30, self) : null;
let final core::int #t28 = i in self::Extension|[](#t28, this) == null ?{self::Class?} self::Extension|[]=(#t28, this, this) : null;
let final core::int #t29 = i in let final self::Class #t30 = self in self::Extension|[](#t29, #t30) == null ?{self::Class?} self::Extension|[]=(#t29, #t30, self) : null;
self::Extension|[]=(i, this, this);
self::Extension|[]=(i, self, self);
self::Extension|[](i, this);
@ -142,8 +142,8 @@ class Class2 extends core::Object {
late final self::Class2 self;
if(self::b)
self = this;
self::Extension2|[](this, this) == null ?{self::Class2} self::Extension2|[]=(this, this, this) : null;
let final self::Class2 #t98 = self in let final self::Class2 #t99 = self in self::Extension2|[](#t98, #t99) == null ?{self::Class2} self::Extension2|[]=(#t98, #t99, self) : null;
self::Extension2|[](this, this) == null ?{self::Class2?} self::Extension2|[]=(this, this, this) : null;
let final self::Class2 #t98 = self in let final self::Class2 #t99 = self in self::Extension2|[](#t98, #t99) == null ?{self::Class2?} self::Extension2|[]=(#t98, #t99, self) : null;
self::Extension2|[]=(this, this, this);
self::Extension2|[]=(self, self, self);
self::Extension2|[](this, this);

View file

@ -22,8 +22,8 @@ class Class extends core::Object {
late final self::Class self;
if(self::b)
self = this;
let final self::Map<self::Class, self::Class> #t1 = map in #t1.{self::Map::[]}(this){(self::Class) → self::Class} == null ?{self::Class} #t1.{self::Map::[]=}(this, this){(self::Class, self::Class) → void} : null;
let final self::Map<self::Class, self::Class> #t2 = map in let final self::Class #t3 = self in #t2.{self::Map::[]}(#t3){(self::Class) → self::Class} == null ?{self::Class} #t2.{self::Map::[]=}(#t3, self){(self::Class, self::Class) → void} : null;
let final self::Map<self::Class, self::Class> #t1 = map in #t1.{self::Map::[]}(this){(self::Class) → self::Class} == null ?{self::Class?} #t1.{self::Map::[]=}(this, this){(self::Class, self::Class) → void} : null;
let final self::Map<self::Class, self::Class> #t2 = map in let final self::Class #t3 = self in #t2.{self::Map::[]}(#t3){(self::Class) → self::Class} == null ?{self::Class?} #t2.{self::Map::[]=}(#t3, self){(self::Class, self::Class) → void} : null;
map.{self::Map::[]=}(this, this){(self::Class, self::Class) → void};
map.{self::Map::[]=}(self, self){(self::Class, self::Class) → void};
map.{self::Map::[]}(this){(self::Class) → self::Class};
@ -49,8 +49,8 @@ class Class extends core::Object {
late final self::Class self;
if(self::b)
self = this;
let final core::int #t28 = i in self::Extension|[](#t28, this) == null ?{self::Class} self::Extension|[]=(#t28, this, this) : null;
let final core::int #t29 = i in let final self::Class #t30 = self in self::Extension|[](#t29, #t30) == null ?{self::Class} self::Extension|[]=(#t29, #t30, self) : null;
let final core::int #t28 = i in self::Extension|[](#t28, this) == null ?{self::Class?} self::Extension|[]=(#t28, this, this) : null;
let final core::int #t29 = i in let final self::Class #t30 = self in self::Extension|[](#t29, #t30) == null ?{self::Class?} self::Extension|[]=(#t29, #t30, self) : null;
self::Extension|[]=(i, this, this);
self::Extension|[]=(i, self, self);
self::Extension|[](i, this);
@ -142,8 +142,8 @@ class Class2 extends core::Object {
late final self::Class2 self;
if(self::b)
self = this;
self::Extension2|[](this, this) == null ?{self::Class2} self::Extension2|[]=(this, this, this) : null;
let final self::Class2 #t98 = self in let final self::Class2 #t99 = self in self::Extension2|[](#t98, #t99) == null ?{self::Class2} self::Extension2|[]=(#t98, #t99, self) : null;
self::Extension2|[](this, this) == null ?{self::Class2?} self::Extension2|[]=(this, this, this) : null;
let final self::Class2 #t98 = self in let final self::Class2 #t99 = self in self::Extension2|[](#t98, #t99) == null ?{self::Class2?} self::Extension2|[]=(#t98, #t99, self) : null;
self::Extension2|[]=(this, this, this);
self::Extension2|[]=(self, self, self);
self::Extension2|[](this, this);

View file

@ -22,8 +22,8 @@ class Class extends core::Object {
late final self::Class self;
if(self::b)
self = this;
let final self::Map<self::Class, self::Class> #t1 = map in #t1.{self::Map::[]}(this){(self::Class) → self::Class} == null ?{self::Class} #t1.{self::Map::[]=}(this, this){(self::Class, self::Class) → void} : null;
let final self::Map<self::Class, self::Class> #t2 = map in let final self::Class #t3 = self in #t2.{self::Map::[]}(#t3){(self::Class) → self::Class} == null ?{self::Class} #t2.{self::Map::[]=}(#t3, self){(self::Class, self::Class) → void} : null;
let final self::Map<self::Class, self::Class> #t1 = map in #t1.{self::Map::[]}(this){(self::Class) → self::Class} == null ?{self::Class?} #t1.{self::Map::[]=}(this, this){(self::Class, self::Class) → void} : null;
let final self::Map<self::Class, self::Class> #t2 = map in let final self::Class #t3 = self in #t2.{self::Map::[]}(#t3){(self::Class) → self::Class} == null ?{self::Class?} #t2.{self::Map::[]=}(#t3, self){(self::Class, self::Class) → void} : null;
map.{self::Map::[]=}(this, this){(self::Class, self::Class) → void};
map.{self::Map::[]=}(self, self){(self::Class, self::Class) → void};
map.{self::Map::[]}(this){(self::Class) → self::Class};
@ -49,8 +49,8 @@ class Class extends core::Object {
late final self::Class self;
if(self::b)
self = this;
let final core::int #t28 = i in self::Extension|[](#t28, this) == null ?{self::Class} self::Extension|[]=(#t28, this, this) : null;
let final core::int #t29 = i in let final self::Class #t30 = self in self::Extension|[](#t29, #t30) == null ?{self::Class} self::Extension|[]=(#t29, #t30, self) : null;
let final core::int #t28 = i in self::Extension|[](#t28, this) == null ?{self::Class?} self::Extension|[]=(#t28, this, this) : null;
let final core::int #t29 = i in let final self::Class #t30 = self in self::Extension|[](#t29, #t30) == null ?{self::Class?} self::Extension|[]=(#t29, #t30, self) : null;
self::Extension|[]=(i, this, this);
self::Extension|[]=(i, self, self);
self::Extension|[](i, this);
@ -142,8 +142,8 @@ class Class2 extends core::Object {
late final self::Class2 self;
if(self::b)
self = this;
self::Extension2|[](this, this) == null ?{self::Class2} self::Extension2|[]=(this, this, this) : null;
let final self::Class2 #t98 = self in let final self::Class2 #t99 = self in self::Extension2|[](#t98, #t99) == null ?{self::Class2} self::Extension2|[]=(#t98, #t99, self) : null;
self::Extension2|[](this, this) == null ?{self::Class2?} self::Extension2|[]=(this, this, this) : null;
let final self::Class2 #t98 = self in let final self::Class2 #t99 = self in self::Extension2|[](#t98, #t99) == null ?{self::Class2?} self::Extension2|[]=(#t98, #t99, self) : null;
self::Extension2|[]=(this, this, this);
self::Extension2|[]=(self, self, self);
self::Extension2|[](this, this);

View file

@ -22,8 +22,8 @@ class Class extends core::Object {
late final self::Class self;
if(self::b)
self = this;
let final self::Map<self::Class, self::Class> #t1 = map in #t1.{self::Map::[]}(this){(self::Class) → self::Class} == null ?{self::Class} #t1.{self::Map::[]=}(this, this){(self::Class, self::Class) → void} : null;
let final self::Map<self::Class, self::Class> #t2 = map in let final self::Class #t3 = self in #t2.{self::Map::[]}(#t3){(self::Class) → self::Class} == null ?{self::Class} #t2.{self::Map::[]=}(#t3, self){(self::Class, self::Class) → void} : null;
let final self::Map<self::Class, self::Class> #t1 = map in #t1.{self::Map::[]}(this){(self::Class) → self::Class} == null ?{self::Class?} #t1.{self::Map::[]=}(this, this){(self::Class, self::Class) → void} : null;
let final self::Map<self::Class, self::Class> #t2 = map in let final self::Class #t3 = self in #t2.{self::Map::[]}(#t3){(self::Class) → self::Class} == null ?{self::Class?} #t2.{self::Map::[]=}(#t3, self){(self::Class, self::Class) → void} : null;
map.{self::Map::[]=}(this, this){(self::Class, self::Class) → void};
map.{self::Map::[]=}(self, self){(self::Class, self::Class) → void};
map.{self::Map::[]}(this){(self::Class) → self::Class};
@ -49,8 +49,8 @@ class Class extends core::Object {
late final self::Class self;
if(self::b)
self = this;
let final core::int #t28 = i in self::Extension|[](#t28, this) == null ?{self::Class} self::Extension|[]=(#t28, this, this) : null;
let final core::int #t29 = i in let final self::Class #t30 = self in self::Extension|[](#t29, #t30) == null ?{self::Class} self::Extension|[]=(#t29, #t30, self) : null;
let final core::int #t28 = i in self::Extension|[](#t28, this) == null ?{self::Class?} self::Extension|[]=(#t28, this, this) : null;
let final core::int #t29 = i in let final self::Class #t30 = self in self::Extension|[](#t29, #t30) == null ?{self::Class?} self::Extension|[]=(#t29, #t30, self) : null;
self::Extension|[]=(i, this, this);
self::Extension|[]=(i, self, self);
self::Extension|[](i, this);
@ -142,8 +142,8 @@ class Class2 extends core::Object {
late final self::Class2 self;
if(self::b)
self = this;
self::Extension2|[](this, this) == null ?{self::Class2} self::Extension2|[]=(this, this, this) : null;
let final self::Class2 #t98 = self in let final self::Class2 #t99 = self in self::Extension2|[](#t98, #t99) == null ?{self::Class2} self::Extension2|[]=(#t98, #t99, self) : null;
self::Extension2|[](this, this) == null ?{self::Class2?} self::Extension2|[]=(this, this, this) : null;
let final self::Class2 #t98 = self in let final self::Class2 #t99 = self in self::Extension2|[](#t98, #t99) == null ?{self::Class2?} self::Extension2|[]=(#t98, #t99, self) : null;
self::Extension2|[]=(this, this, this);
self::Extension2|[]=(self, self, self);
self::Extension2|[](this, this);

View file

@ -22,8 +22,8 @@ class Class extends core::Object {
late final self::Class self;
if(self::b)
self = this;
let final self::Map<self::Class, self::Class> #t1 = map in #t1.{self::Map::[]}(this){(self::Class) → self::Class} == null ?{self::Class} #t1.{self::Map::[]=}(this, this){(self::Class, self::Class) → void} : null;
let final self::Map<self::Class, self::Class> #t2 = map in let final self::Class #t3 = self in #t2.{self::Map::[]}(#t3){(self::Class) → self::Class} == null ?{self::Class} #t2.{self::Map::[]=}(#t3, self){(self::Class, self::Class) → void} : null;
let final self::Map<self::Class, self::Class> #t1 = map in #t1.{self::Map::[]}(this){(self::Class) → self::Class} == null ?{self::Class?} #t1.{self::Map::[]=}(this, this){(self::Class, self::Class) → void} : null;
let final self::Map<self::Class, self::Class> #t2 = map in let final self::Class #t3 = self in #t2.{self::Map::[]}(#t3){(self::Class) → self::Class} == null ?{self::Class?} #t2.{self::Map::[]=}(#t3, self){(self::Class, self::Class) → void} : null;
map.{self::Map::[]=}(this, this){(self::Class, self::Class) → void};
map.{self::Map::[]=}(self, self){(self::Class, self::Class) → void};
map.{self::Map::[]}(this){(self::Class) → self::Class};
@ -49,8 +49,8 @@ class Class extends core::Object {
late final self::Class self;
if(self::b)
self = this;
let final core::int #t28 = i in self::Extension|[](#t28, this) == null ?{self::Class} self::Extension|[]=(#t28, this, this) : null;
let final core::int #t29 = i in let final self::Class #t30 = self in self::Extension|[](#t29, #t30) == null ?{self::Class} self::Extension|[]=(#t29, #t30, self) : null;
let final core::int #t28 = i in self::Extension|[](#t28, this) == null ?{self::Class?} self::Extension|[]=(#t28, this, this) : null;
let final core::int #t29 = i in let final self::Class #t30 = self in self::Extension|[](#t29, #t30) == null ?{self::Class?} self::Extension|[]=(#t29, #t30, self) : null;
self::Extension|[]=(i, this, this);
self::Extension|[]=(i, self, self);
self::Extension|[](i, this);
@ -142,8 +142,8 @@ class Class2 extends core::Object {
late final self::Class2 self;
if(self::b)
self = this;
self::Extension2|[](this, this) == null ?{self::Class2} self::Extension2|[]=(this, this, this) : null;
let final self::Class2 #t98 = self in let final self::Class2 #t99 = self in self::Extension2|[](#t98, #t99) == null ?{self::Class2} self::Extension2|[]=(#t98, #t99, self) : null;
self::Extension2|[](this, this) == null ?{self::Class2?} self::Extension2|[]=(this, this, this) : null;
let final self::Class2 #t98 = self in let final self::Class2 #t99 = self in self::Extension2|[](#t98, #t99) == null ?{self::Class2?} self::Extension2|[]=(#t98, #t99, self) : null;
self::Extension2|[]=(this, this, this);
self::Extension2|[]=(self, self, self);
self::Extension2|[](this, this);

View file

@ -73,7 +73,7 @@ static method warning(core::String s, core::List<core::String> l, core::Map<core
let final core::List<core::String> #t18 = l in #t18 == null ?{core::int?} null : #t18.{core::List::length}{core::int} == null ?{core::int} #t18.{core::List::length} = 42 : null;
let final core::String #t19 = s in #t19 == null ?{core::int?} null : self::E|get#foo(#t19);
let final core::String #t20 = s in let final core::int #t21 = 42 in self::E|[](#t20, #t21) == null ?{core::int} self::E|[]=(#t20, #t21, 42) : null;
let final core::List<core::String> #t22 = l in let final core::int #t23 = 42 in #t22.{core::List::[]}(#t23){(core::int) → core::String} == null ?{core::String} #t22.{core::List::[]=}(#t23, "foo"){(core::int, core::String) → void} : null;
let final core::List<core::String> #t22 = l in let final core::int #t23 = 42 in #t22.{core::List::[]}(#t23){(core::int) → core::String} == null ?{core::String?} #t22.{core::List::[]=}(#t23, "foo"){(core::int, core::String) → void} : null;
let final core::List<core::String> #t24 = l in #t24.{core::List::length}{core::int} == null ?{core::int} #t24.{core::List::length} = 42 : null;
let final core::List<core::String> #t25 = l in #t25 == null ?{core::List<core::String>} null : block {
#t25.{core::List::length} = 42;

View file

@ -73,7 +73,7 @@ static method warning(core::String s, core::List<core::String> l, core::Map<core
let final core::List<core::String> #t18 = l in #t18 == null ?{core::int?} null : #t18.{core::List::length}{core::int} == null ?{core::int} #t18.{core::List::length} = 42 : null;
let final core::String #t19 = s in #t19 == null ?{core::int?} null : self::E|get#foo(#t19);
let final core::String #t20 = s in let final core::int #t21 = 42 in self::E|[](#t20, #t21) == null ?{core::int} self::E|[]=(#t20, #t21, 42) : null;
let final core::List<core::String> #t22 = l in let final core::int #t23 = 42 in #t22.{core::List::[]}(#t23){(core::int) → core::String} == null ?{core::String} #t22.{core::List::[]=}(#t23, "foo"){(core::int, core::String) → void} : null;
let final core::List<core::String> #t22 = l in let final core::int #t23 = 42 in #t22.{core::List::[]}(#t23){(core::int) → core::String} == null ?{core::String?} #t22.{core::List::[]=}(#t23, "foo"){(core::int, core::String) → void} : null;
let final core::List<core::String> #t24 = l in #t24.{core::List::length}{core::int} == null ?{core::int} #t24.{core::List::length} = 42 : null;
let final core::List<core::String> #t25 = l in #t25 == null ?{core::List<core::String>} null : block {
#t25.{core::List::length} = 42;

View file

@ -73,7 +73,7 @@ static method warning(core::String s, core::List<core::String> l, core::Map<core
let final core::List<core::String> #t18 = l in #t18 == null ?{core::int?} null : #t18.{core::List::length}{core::int} == null ?{core::int} #t18.{core::List::length} = 42 : null;
let final core::String #t19 = s in #t19 == null ?{core::int?} null : self::E|get#foo(#t19);
let final core::String #t20 = s in let final core::int #t21 = 42 in self::E|[](#t20, #t21) == null ?{core::int} self::E|[]=(#t20, #t21, 42) : null;
let final core::List<core::String> #t22 = l in let final core::int #t23 = 42 in #t22.{core::List::[]}(#t23){(core::int) → core::String} == null ?{core::String} #t22.{core::List::[]=}(#t23, "foo"){(core::int, core::String) → void} : null;
let final core::List<core::String> #t22 = l in let final core::int #t23 = 42 in #t22.{core::List::[]}(#t23){(core::int) → core::String} == null ?{core::String?} #t22.{core::List::[]=}(#t23, "foo"){(core::int, core::String) → void} : null;
let final core::List<core::String> #t24 = l in #t24.{core::List::length}{core::int} == null ?{core::int} #t24.{core::List::length} = 42 : null;
let final core::List<core::String> #t25 = l in #t25 == null ?{core::List<core::String>} null : block {
#t25.{core::List::length} = 42;

View file

@ -73,7 +73,7 @@ static method warning(core::String s, core::List<core::String> l, core::Map<core
let final core::List<core::String> #t18 = l in #t18 == null ?{core::int?} null : #t18.{core::List::length}{core::int} == null ?{core::int} #t18.{core::List::length} = 42 : null;
let final core::String #t19 = s in #t19 == null ?{core::int?} null : self::E|get#foo(#t19);
let final core::String #t20 = s in let final core::int #t21 = 42 in self::E|[](#t20, #t21) == null ?{core::int} self::E|[]=(#t20, #t21, 42) : null;
let final core::List<core::String> #t22 = l in let final core::int #t23 = 42 in #t22.{core::List::[]}(#t23){(core::int) → core::String} == null ?{core::String} #t22.{core::List::[]=}(#t23, "foo"){(core::int, core::String) → void} : null;
let final core::List<core::String> #t22 = l in let final core::int #t23 = 42 in #t22.{core::List::[]}(#t23){(core::int) → core::String} == null ?{core::String?} #t22.{core::List::[]=}(#t23, "foo"){(core::int, core::String) → void} : null;
let final core::List<core::String> #t24 = l in #t24.{core::List::length}{core::int} == null ?{core::int} #t24.{core::List::length} = 42 : null;
let final core::List<core::String> #t25 = l in #t25 == null ?{core::List<core::String>} null : block {
#t25.{core::List::length} = 42;

View file

@ -73,7 +73,7 @@ static method warning(core::String s, core::List<core::String> l, core::Map<core
let final core::List<core::String> #t18 = l in #t18 == null ?{core::int?} null : #t18.{core::List::length}{core::int} == null ?{core::int} #t18.{core::List::length} = 42 : null;
let final core::String #t19 = s in #t19 == null ?{core::int?} null : self::E|get#foo(#t19);
let final core::String #t20 = s in let final core::int #t21 = 42 in self::E|[](#t20, #t21) == null ?{core::int} self::E|[]=(#t20, #t21, 42) : null;
let final core::List<core::String> #t22 = l in let final core::int #t23 = 42 in #t22.{core::List::[]}(#t23){(core::int) → core::String} == null ?{core::String} #t22.{core::List::[]=}(#t23, "foo"){(core::int, core::String) → void} : null;
let final core::List<core::String> #t22 = l in let final core::int #t23 = 42 in #t22.{core::List::[]}(#t23){(core::int) → core::String} == null ?{core::String?} #t22.{core::List::[]=}(#t23, "foo"){(core::int, core::String) → void} : null;
let final core::List<core::String> #t24 = l in #t24.{core::List::length}{core::int} == null ?{core::int} #t24.{core::List::length} = 42 : null;
let final core::List<core::String> #t25 = l in #t25 == null ?{core::List<core::String>} null : block {
#t25.{core::List::length} = 42;

View file

@ -391,12 +391,12 @@ static method extensionIfNullOptIn1ForEffect(core::int i) → dynamic {
static method extensionIfNullOptIn2(core::int i) → dynamic
return let final uns::OptInClass1 #t48 = new uns::OptInClass1::•() in let final core::int #t49 = i in let final core::int #t50 = uns::OptInExtension|[](#t48, #t49) in #t50 == null ?{core::int} let final core::int #t51 = 42 in let final void #t52 = uns::OptInExtension|[]=(#t48, #t49, #t51) in #t51 : #t50;
static method extensionIfNullOptIn2ForEffect(core::int i) → dynamic {
let final uns::OptInClass1 #t53 = new uns::OptInClass1::•() in let final core::int #t54 = i in uns::OptInExtension|[](#t53, #t54) == null ?{core::int} uns::OptInExtension|[]=(#t53, #t54, 42) : null;
let final uns::OptInClass1 #t53 = new uns::OptInClass1::•() in let final core::int #t54 = i in uns::OptInExtension|[](#t53, #t54) == null ?{core::int?} uns::OptInExtension|[]=(#t53, #t54, 42) : null;
}
static method ifNullIndexSetOptIn(core::int i) → dynamic
return let final uns::OptInClass2 #t55 = new uns::OptInClass2::•() in let final core::int #t56 = i in let final core::int #t57 = #t55.{uns::OptInClass2::[]}(#t56){(core::int) → core::int} in #t57 == null ?{core::int} let final core::int #t58 = 42 in let final void #t59 = #t55.{uns::OptInClass2::[]=}(#t56, #t58){(core::int, core::int) → void} in #t58 : #t57;
static method ifNullIndexSetOptInForEffect(core::int i) → dynamic {
let final uns::OptInClass2 #t60 = new uns::OptInClass2::•() in let final core::int #t61 = i in #t60.{uns::OptInClass2::[]}(#t61){(core::int) → core::int} == null ?{core::int} #t60.{uns::OptInClass2::[]=}(#t61, 42){(core::int, core::int) → void} : null;
let final uns::OptInClass2 #t60 = new uns::OptInClass2::•() in let final core::int #t61 = i in #t60.{uns::OptInClass2::[]}(#t61){(core::int) → core::int} == null ?{core::int?} #t60.{uns::OptInClass2::[]=}(#t61, 42){(core::int, core::int) → void} : null;
}
static method ifNullPropertySetOptIn(core::int i) → dynamic
return let final uns::OptInClass3 #t62 = new uns::OptInClass3::•(i) in let final core::int #t63 = #t62.{uns::OptInClass3::field}{core::int} in #t63 == null ?{core::int} #t62.{uns::OptInClass3::field} = 42 : #t63;
@ -442,7 +442,7 @@ static method unnecessaryIfNull(() → core::int f, () → core::int g) → dyna
return let final core::int #t71 = f(){() → core::int} in #t71 == null ?{core::int} g(){() → core::int} : #t71;
}
static method unnecessaryIfNullAssign(core::List<core::int> x, () → core::int f) → dynamic {
let final core::List<core::int> #t72 = x in let final core::int #t73 = 0 in #t72.{core::List::[]}(#t73){(core::int) → core::int} == null ?{core::int} #t72.{core::List::[]=}(#t73, f(){() → core::int}){(core::int, core::int) → void} : null;
let final core::List<core::int> #t72 = x in let final core::int #t73 = 0 in #t72.{core::List::[]}(#t73){(core::int) → core::int} == null ?{core::int?} #t72.{core::List::[]=}(#t73, f(){() → core::int}){(core::int, core::int) → void} : null;
}
static method unnecessaryNullAwareAccess(() → core::int f) → dynamic {
let final core::int #t74 = f(){() → core::int} in #t74 == null ?{core::int?} null : #t74.{core::int::gcd}(0){(core::int) → core::int};

View file

@ -391,12 +391,12 @@ static method extensionIfNullOptIn1ForEffect(core::int i) → dynamic {
static method extensionIfNullOptIn2(core::int i) → dynamic
return let final uns::OptInClass1 #t48 = new uns::OptInClass1::•() in let final core::int #t49 = i in let final core::int #t50 = uns::OptInExtension|[](#t48, #t49) in #t50 == null ?{core::int} let final core::int #t51 = 42 in let final void #t52 = uns::OptInExtension|[]=(#t48, #t49, #t51) in #t51 : #t50;
static method extensionIfNullOptIn2ForEffect(core::int i) → dynamic {
let final uns::OptInClass1 #t53 = new uns::OptInClass1::•() in let final core::int #t54 = i in uns::OptInExtension|[](#t53, #t54) == null ?{core::int} uns::OptInExtension|[]=(#t53, #t54, 42) : null;
let final uns::OptInClass1 #t53 = new uns::OptInClass1::•() in let final core::int #t54 = i in uns::OptInExtension|[](#t53, #t54) == null ?{core::int?} uns::OptInExtension|[]=(#t53, #t54, 42) : null;
}
static method ifNullIndexSetOptIn(core::int i) → dynamic
return let final uns::OptInClass2 #t55 = new uns::OptInClass2::•() in let final core::int #t56 = i in let final core::int #t57 = #t55.{uns::OptInClass2::[]}(#t56){(core::int) → core::int} in #t57 == null ?{core::int} let final core::int #t58 = 42 in let final void #t59 = #t55.{uns::OptInClass2::[]=}(#t56, #t58){(core::int, core::int) → void} in #t58 : #t57;
static method ifNullIndexSetOptInForEffect(core::int i) → dynamic {
let final uns::OptInClass2 #t60 = new uns::OptInClass2::•() in let final core::int #t61 = i in #t60.{uns::OptInClass2::[]}(#t61){(core::int) → core::int} == null ?{core::int} #t60.{uns::OptInClass2::[]=}(#t61, 42){(core::int, core::int) → void} : null;
let final uns::OptInClass2 #t60 = new uns::OptInClass2::•() in let final core::int #t61 = i in #t60.{uns::OptInClass2::[]}(#t61){(core::int) → core::int} == null ?{core::int?} #t60.{uns::OptInClass2::[]=}(#t61, 42){(core::int, core::int) → void} : null;
}
static method ifNullPropertySetOptIn(core::int i) → dynamic
return let final uns::OptInClass3 #t62 = new uns::OptInClass3::•(i) in let final core::int #t63 = #t62.{uns::OptInClass3::field}{core::int} in #t63 == null ?{core::int} #t62.{uns::OptInClass3::field} = 42 : #t63;
@ -442,7 +442,7 @@ static method unnecessaryIfNull(() → core::int f, () → core::int g) → dyna
return let final core::int #t71 = f(){() → core::int} in #t71 == null ?{core::int} g(){() → core::int} : #t71;
}
static method unnecessaryIfNullAssign(core::List<core::int> x, () → core::int f) → dynamic {
let final core::List<core::int> #t72 = x in let final core::int #t73 = 0 in #t72.{core::List::[]}(#t73){(core::int) → core::int} == null ?{core::int} #t72.{core::List::[]=}(#t73, f(){() → core::int}){(core::int, core::int) → void} : null;
let final core::List<core::int> #t72 = x in let final core::int #t73 = 0 in #t72.{core::List::[]}(#t73){(core::int) → core::int} == null ?{core::int?} #t72.{core::List::[]=}(#t73, f(){() → core::int}){(core::int, core::int) → void} : null;
}
static method unnecessaryNullAwareAccess(() → core::int f) → dynamic {
let final core::int #t74 = f(){() → core::int} in #t74 == null ?{core::int?} null : #t74.{core::int::gcd}(0){(core::int) → core::int};

View file

@ -391,12 +391,12 @@ static method extensionIfNullOptIn1ForEffect(core::int i) → dynamic {
static method extensionIfNullOptIn2(core::int i) → dynamic
return let final uns::OptInClass1 #t48 = new uns::OptInClass1::•() in let final core::int #t49 = i in let final core::int #t50 = uns::OptInExtension|[](#t48, #t49) in #t50 == null ?{core::int} let final core::int #t51 = 42 in let final void #t52 = uns::OptInExtension|[]=(#t48, #t49, #t51) in #t51 : #t50;
static method extensionIfNullOptIn2ForEffect(core::int i) → dynamic {
let final uns::OptInClass1 #t53 = new uns::OptInClass1::•() in let final core::int #t54 = i in uns::OptInExtension|[](#t53, #t54) == null ?{core::int} uns::OptInExtension|[]=(#t53, #t54, 42) : null;
let final uns::OptInClass1 #t53 = new uns::OptInClass1::•() in let final core::int #t54 = i in uns::OptInExtension|[](#t53, #t54) == null ?{core::int?} uns::OptInExtension|[]=(#t53, #t54, 42) : null;
}
static method ifNullIndexSetOptIn(core::int i) → dynamic
return let final uns::OptInClass2 #t55 = new uns::OptInClass2::•() in let final core::int #t56 = i in let final core::int #t57 = #t55.{uns::OptInClass2::[]}(#t56){(core::int) → core::int} in #t57 == null ?{core::int} let final core::int #t58 = 42 in let final void #t59 = #t55.{uns::OptInClass2::[]=}(#t56, #t58){(core::int, core::int) → void} in #t58 : #t57;
static method ifNullIndexSetOptInForEffect(core::int i) → dynamic {
let final uns::OptInClass2 #t60 = new uns::OptInClass2::•() in let final core::int #t61 = i in #t60.{uns::OptInClass2::[]}(#t61){(core::int) → core::int} == null ?{core::int} #t60.{uns::OptInClass2::[]=}(#t61, 42){(core::int, core::int) → void} : null;
let final uns::OptInClass2 #t60 = new uns::OptInClass2::•() in let final core::int #t61 = i in #t60.{uns::OptInClass2::[]}(#t61){(core::int) → core::int} == null ?{core::int?} #t60.{uns::OptInClass2::[]=}(#t61, 42){(core::int, core::int) → void} : null;
}
static method ifNullPropertySetOptIn(core::int i) → dynamic
return let final uns::OptInClass3 #t62 = new uns::OptInClass3::•(i) in let final core::int #t63 = #t62.{uns::OptInClass3::field}{core::int} in #t63 == null ?{core::int} #t62.{uns::OptInClass3::field} = 42 : #t63;
@ -442,7 +442,7 @@ static method unnecessaryIfNull(() → core::int f, () → core::int g) → dyna
return let final core::int #t71 = f(){() → core::int} in #t71 == null ?{core::int} g(){() → core::int} : #t71;
}
static method unnecessaryIfNullAssign(core::List<core::int> x, () → core::int f) → dynamic {
let final core::List<core::int> #t72 = x in let final core::int #t73 = 0 in #t72.{core::List::[]}(#t73){(core::int) → core::int} == null ?{core::int} #t72.{core::List::[]=}(#t73, f(){() → core::int}){(core::int, core::int) → void} : null;
let final core::List<core::int> #t72 = x in let final core::int #t73 = 0 in #t72.{core::List::[]}(#t73){(core::int) → core::int} == null ?{core::int?} #t72.{core::List::[]=}(#t73, f(){() → core::int}){(core::int, core::int) → void} : null;
}
static method unnecessaryNullAwareAccess(() → core::int f) → dynamic {
let final core::int #t74 = f(){() → core::int} in #t74 == null ?{core::int?} null : #t74.{core::int::gcd}(0){(core::int) → core::int};

View file

@ -22,5 +22,5 @@ class Sub extends self::Base {
static method main() → dynamic {
core::print(new self::Sub::•().{self::Sub::hashCode}{core::int});
core::List<core::String?> l = <core::String?>[null];
let final core::List<core::String?> #t2 = l in let final core::int #t3 = 0 in #t2.{core::List::[]}(#t3){(core::int) → core::String?} == null ?{core::String} #t2.{core::List::[]=}(#t3, "fisk"){(core::int, core::String?) → void} : null;
let final core::List<core::String?> #t2 = l in let final core::int #t3 = 0 in #t2.{core::List::[]}(#t3){(core::int) → core::String?} == null ?{core::String?} #t2.{core::List::[]=}(#t3, "fisk"){(core::int, core::String?) → void} : null;
}

View file

@ -22,7 +22,7 @@ class Sub extends self::Base {
static method main() → dynamic {
core::print(new self::Sub::•().{self::Sub::hashCode}{core::int});
core::List<core::String?> l = core::_GrowableList::_literal1<core::String?>(null);
let final core::List<core::String?> #t2 = l in let final core::int #t3 = 0 in #t2.{core::List::[]}(#t3){(core::int) → core::String?} == null ?{core::String} #t2.{core::List::[]=}(#t3, "fisk"){(core::int, core::String?) → void} : null;
let final core::List<core::String?> #t2 = l in let final core::int #t3 = 0 in #t2.{core::List::[]}(#t3){(core::int) → core::String?} == null ?{core::String?} #t2.{core::List::[]=}(#t3, "fisk"){(core::int, core::String?) → void} : null;
}

View file

@ -22,5 +22,5 @@ class Sub extends self::Base {
static method main() → dynamic {
core::print(new self::Sub::•().{self::Sub::hashCode}{core::int});
core::List<core::String?> l = <core::String?>[null];
let final core::List<core::String?> #t2 = l in let final core::int #t3 = 0 in #t2.{core::List::[]}(#t3){(core::int) → core::String?} == null ?{core::String} #t2.{core::List::[]=}(#t3, "fisk"){(core::int, core::String?) → void} : null;
let final core::List<core::String?> #t2 = l in let final core::int #t3 = 0 in #t2.{core::List::[]}(#t3){(core::int) → core::String?} == null ?{core::String?} #t2.{core::List::[]=}(#t3, "fisk"){(core::int, core::String?) → void} : null;
}

View file

@ -22,5 +22,5 @@ class Sub extends self::Base {
static method main() → dynamic {
core::print(new self::Sub::•().{self::Sub::hashCode}{core::int});
core::List<core::String?> l = <core::String?>[null];
let final core::List<core::String?> #t2 = l in let final core::int #t3 = 0 in #t2.{core::List::[]}(#t3){(core::int) → core::String?} == null ?{core::String} #t2.{core::List::[]=}(#t3, "fisk"){(core::int, core::String?) → void} : null;
let final core::List<core::String?> #t2 = l in let final core::int #t3 = 0 in #t2.{core::List::[]}(#t3){(core::int) → core::String?} == null ?{core::String?} #t2.{core::List::[]=}(#t3, "fisk"){(core::int, core::String?) → void} : null;
}

View file

@ -22,7 +22,7 @@ class Sub extends self::Base {
static method main() → dynamic {
core::print(new self::Sub::•().{self::Sub::hashCode}{core::int});
core::List<core::String?> l = core::_GrowableList::_literal1<core::String?>(null);
let final core::List<core::String?> #t2 = l in let final core::int #t3 = 0 in #t2.{core::List::[]}(#t3){(core::int) → core::String?} == null ?{core::String} #t2.{core::List::[]=}(#t3, "fisk"){(core::int, core::String?) → void} : null;
let final core::List<core::String?> #t2 = l in let final core::int #t3 = 0 in #t2.{core::List::[]}(#t3){(core::int) → core::String?} == null ?{core::String?} #t2.{core::List::[]=}(#t3, "fisk"){(core::int, core::String?) → void} : null;
}

View file

@ -31,7 +31,7 @@ static method test(self::C<core::num> c, self::C2<core::num> c2) → void {
c2.{self::C2::[]=}(0, new self::B::•<(core::num) → void>()){(core::int, self::B<(core::num) → void>?) → void};
let final self::C<core::num> #t1 = c in let final core::int #t2 = 0 in #t1.{self::C::[]=}(#t2, (#t1.{self::C::[]}(#t2){(core::int) → self::B<(core::num) → void>} as{TypeError,CovarianceCheck} self::B<(core::num) → void>).{self::B::+}(new self::B::•<(core::num) → void>()){(self::B<(core::num) → void>) → self::B<(core::num) → void>}){(core::int, self::B<(core::num) → void>) → void};
self::B<(core::num) → void> x = let final self::C<core::num> #t3 = c in let final core::int #t4 = 0 in let final self::B<(core::num) → void> #t5 = (#t3.{self::C::[]}(#t4){(core::int) → self::B<(core::num) → void>} as{TypeError,CovarianceCheck} self::B<(core::num) → void>).{self::B::+}(new self::B::•<(core::num) → void>()){(self::B<(core::num) → void>) → self::B<(core::num) → void>} in let final void #t6 = #t3.{self::C::[]=}(#t4, #t5){(core::int, self::B<(core::num) → void>) → void} in #t5;
let final self::C2<core::num> #t7 = c2 in let final core::int #t8 = 0 in #t7.{self::C2::[]}(#t8){(core::int) → self::B<(core::num) → void>?} as{TypeError,CovarianceCheck} self::B<(core::num) → void>? == null ?{self::B<(core::num) → void>} #t7.{self::C2::[]=}(#t8, new self::B::•<(core::num) → void>()){(core::int, self::B<(core::num) → void>?) → void} : null;
let final self::C2<core::num> #t7 = c2 in let final core::int #t8 = 0 in #t7.{self::C2::[]}(#t8){(core::int) → self::B<(core::num) → void>?} as{TypeError,CovarianceCheck} self::B<(core::num) → void>? == null ?{self::B<(core::num) → void>?} #t7.{self::C2::[]=}(#t8, new self::B::•<(core::num) → void>()){(core::int, self::B<(core::num) → void>?) → void} : null;
self::B<(core::num) → void> y = let final self::C2<core::num> #t9 = c2 in let final core::int #t10 = 0 in let final self::B<(core::num) → void>? #t11 = #t9.{self::C2::[]}(#t10){(core::int) → self::B<(core::num) → void>?} as{TypeError,CovarianceCheck} self::B<(core::num) → void>? in #t11 == null ?{self::B<(core::num) → void>} let final self::B<(core::num) → void> #t12 = new self::B::•<(core::num) → void>() in let final void #t13 = #t9.{self::C2::[]=}(#t10, #t12){(core::int, self::B<(core::num) → void>?) → void} in #t12 : #t11{self::B<(core::num) → void>};
}
static method main() → dynamic {}

View file

@ -31,7 +31,7 @@ static method test(self::C<core::num> c, self::C2<core::num> c2) → void {
c2.{self::C2::[]=}(0, new self::B::•<(core::num) → void>()){(core::int, self::B<(core::num) → void>?) → void};
let final self::C<core::num> #t1 = c in let final core::int #t2 = 0 in #t1.{self::C::[]=}(#t2, (#t1.{self::C::[]}(#t2){(core::int) → self::B<(core::num) → void>} as{TypeError,CovarianceCheck} self::B<(core::num) → void>).{self::B::+}(new self::B::•<(core::num) → void>()){(self::B<(core::num) → void>) → self::B<(core::num) → void>}){(core::int, self::B<(core::num) → void>) → void};
self::B<(core::num) → void> x = let final self::C<core::num> #t3 = c in let final core::int #t4 = 0 in let final self::B<(core::num) → void> #t5 = (#t3.{self::C::[]}(#t4){(core::int) → self::B<(core::num) → void>} as{TypeError,CovarianceCheck} self::B<(core::num) → void>).{self::B::+}(new self::B::•<(core::num) → void>()){(self::B<(core::num) → void>) → self::B<(core::num) → void>} in let final void #t6 = #t3.{self::C::[]=}(#t4, #t5){(core::int, self::B<(core::num) → void>) → void} in #t5;
let final self::C2<core::num> #t7 = c2 in let final core::int #t8 = 0 in #t7.{self::C2::[]}(#t8){(core::int) → self::B<(core::num) → void>?} as{TypeError,CovarianceCheck} self::B<(core::num) → void>? == null ?{self::B<(core::num) → void>} #t7.{self::C2::[]=}(#t8, new self::B::•<(core::num) → void>()){(core::int, self::B<(core::num) → void>?) → void} : null;
let final self::C2<core::num> #t7 = c2 in let final core::int #t8 = 0 in #t7.{self::C2::[]}(#t8){(core::int) → self::B<(core::num) → void>?} as{TypeError,CovarianceCheck} self::B<(core::num) → void>? == null ?{self::B<(core::num) → void>?} #t7.{self::C2::[]=}(#t8, new self::B::•<(core::num) → void>()){(core::int, self::B<(core::num) → void>?) → void} : null;
self::B<(core::num) → void> y = let final self::C2<core::num> #t9 = c2 in let final core::int #t10 = 0 in let final self::B<(core::num) → void>? #t11 = #t9.{self::C2::[]}(#t10){(core::int) → self::B<(core::num) → void>?} as{TypeError,CovarianceCheck} self::B<(core::num) → void>? in #t11 == null ?{self::B<(core::num) → void>} let final self::B<(core::num) → void> #t12 = new self::B::•<(core::num) → void>() in let final void #t13 = #t9.{self::C2::[]=}(#t10, #t12){(core::int, self::B<(core::num) → void>?) → void} in #t12 : #t11{self::B<(core::num) → void>};
}
static method main() → dynamic {}

View file

@ -31,7 +31,7 @@ static method test(self::C<core::num> c, self::C2<core::num> c2) → void {
c2.{self::C2::[]=}(0, new self::B::•<(core::num) → void>()){(core::int, self::B<(core::num) → void>?) → void};
let final self::C<core::num> #t1 = c in let final core::int #t2 = 0 in #t1.{self::C::[]=}(#t2, (#t1.{self::C::[]}(#t2){(core::int) → self::B<(core::num) → void>} as{TypeError,CovarianceCheck} self::B<(core::num) → void>).{self::B::+}(new self::B::•<(core::num) → void>()){(self::B<(core::num) → void>) → self::B<(core::num) → void>}){(core::int, self::B<(core::num) → void>) → void};
self::B<(core::num) → void> x = let final self::C<core::num> #t3 = c in let final core::int #t4 = 0 in let final self::B<(core::num) → void> #t5 = (#t3.{self::C::[]}(#t4){(core::int) → self::B<(core::num) → void>} as{TypeError,CovarianceCheck} self::B<(core::num) → void>).{self::B::+}(new self::B::•<(core::num) → void>()){(self::B<(core::num) → void>) → self::B<(core::num) → void>} in let final void #t6 = #t3.{self::C::[]=}(#t4, #t5){(core::int, self::B<(core::num) → void>) → void} in #t5;
let final self::C2<core::num> #t7 = c2 in let final core::int #t8 = 0 in #t7.{self::C2::[]}(#t8){(core::int) → self::B<(core::num) → void>?} as{TypeError,CovarianceCheck} self::B<(core::num) → void>? == null ?{self::B<(core::num) → void>} #t7.{self::C2::[]=}(#t8, new self::B::•<(core::num) → void>()){(core::int, self::B<(core::num) → void>?) → void} : null;
let final self::C2<core::num> #t7 = c2 in let final core::int #t8 = 0 in #t7.{self::C2::[]}(#t8){(core::int) → self::B<(core::num) → void>?} as{TypeError,CovarianceCheck} self::B<(core::num) → void>? == null ?{self::B<(core::num) → void>?} #t7.{self::C2::[]=}(#t8, new self::B::•<(core::num) → void>()){(core::int, self::B<(core::num) → void>?) → void} : null;
self::B<(core::num) → void> y = let final self::C2<core::num> #t9 = c2 in let final core::int #t10 = 0 in let final self::B<(core::num) → void>? #t11 = #t9.{self::C2::[]}(#t10){(core::int) → self::B<(core::num) → void>?} as{TypeError,CovarianceCheck} self::B<(core::num) → void>? in #t11 == null ?{self::B<(core::num) → void>} let final self::B<(core::num) → void> #t12 = new self::B::•<(core::num) → void>() in let final void #t13 = #t9.{self::C2::[]=}(#t10, #t12){(core::int, self::B<(core::num) → void>?) → void} in #t12 : #t11{self::B<(core::num) → void>};
}
static method main() → dynamic {}

View file

@ -31,7 +31,7 @@ static method test(self::C<core::num> c, self::C2<core::num> c2) → void {
c2.{self::C2::[]=}(0, new self::B::•<(core::num) → void>()){(core::int, self::B<(core::num) → void>?) → void};
let final self::C<core::num> #t1 = c in let final core::int #t2 = 0 in #t1.{self::C::[]=}(#t2, (#t1.{self::C::[]}(#t2){(core::int) → self::B<(core::num) → void>} as{TypeError,CovarianceCheck} self::B<(core::num) → void>).{self::B::+}(new self::B::•<(core::num) → void>()){(self::B<(core::num) → void>) → self::B<(core::num) → void>}){(core::int, self::B<(core::num) → void>) → void};
self::B<(core::num) → void> x = let final self::C<core::num> #t3 = c in let final core::int #t4 = 0 in let final self::B<(core::num) → void> #t5 = (#t3.{self::C::[]}(#t4){(core::int) → self::B<(core::num) → void>} as{TypeError,CovarianceCheck} self::B<(core::num) → void>).{self::B::+}(new self::B::•<(core::num) → void>()){(self::B<(core::num) → void>) → self::B<(core::num) → void>} in let final void #t6 = #t3.{self::C::[]=}(#t4, #t5){(core::int, self::B<(core::num) → void>) → void} in #t5;
let final self::C2<core::num> #t7 = c2 in let final core::int #t8 = 0 in #t7.{self::C2::[]}(#t8){(core::int) → self::B<(core::num) → void>?} as{TypeError,CovarianceCheck} self::B<(core::num) → void>? == null ?{self::B<(core::num) → void>} #t7.{self::C2::[]=}(#t8, new self::B::•<(core::num) → void>()){(core::int, self::B<(core::num) → void>?) → void} : null;
let final self::C2<core::num> #t7 = c2 in let final core::int #t8 = 0 in #t7.{self::C2::[]}(#t8){(core::int) → self::B<(core::num) → void>?} as{TypeError,CovarianceCheck} self::B<(core::num) → void>? == null ?{self::B<(core::num) → void>?} #t7.{self::C2::[]=}(#t8, new self::B::•<(core::num) → void>()){(core::int, self::B<(core::num) → void>?) → void} : null;
self::B<(core::num) → void> y = let final self::C2<core::num> #t9 = c2 in let final core::int #t10 = 0 in let final self::B<(core::num) → void>? #t11 = #t9.{self::C2::[]}(#t10){(core::int) → self::B<(core::num) → void>?} as{TypeError,CovarianceCheck} self::B<(core::num) → void>? in #t11 == null ?{self::B<(core::num) → void>} let final self::B<(core::num) → void> #t12 = new self::B::•<(core::num) → void>() in let final void #t13 = #t9.{self::C2::[]=}(#t10, #t12){(core::int, self::B<(core::num) → void>?) → void} in #t12 : #t11{self::B<(core::num) → void>};
}
static method main() → dynamic {}

View file

@ -31,7 +31,7 @@ static method test(self::C<core::num> c, self::C2<core::num> c2) → void {
c2.{self::C2::[]=}(0, new self::B::•<(core::num) → void>()){(core::int, self::B<(core::num) → void>?) → void};
let final self::C<core::num> #t1 = c in let final core::int #t2 = 0 in #t1.{self::C::[]=}(#t2, (#t1.{self::C::[]}(#t2){(core::int) → self::B<(core::num) → void>} as{TypeError,CovarianceCheck} self::B<(core::num) → void>).{self::B::+}(new self::B::•<(core::num) → void>()){(self::B<(core::num) → void>) → self::B<(core::num) → void>}){(core::int, self::B<(core::num) → void>) → void};
self::B<(core::num) → void> x = let final self::C<core::num> #t3 = c in let final core::int #t4 = 0 in let final self::B<(core::num) → void> #t5 = (#t3.{self::C::[]}(#t4){(core::int) → self::B<(core::num) → void>} as{TypeError,CovarianceCheck} self::B<(core::num) → void>).{self::B::+}(new self::B::•<(core::num) → void>()){(self::B<(core::num) → void>) → self::B<(core::num) → void>} in let final void #t6 = #t3.{self::C::[]=}(#t4, #t5){(core::int, self::B<(core::num) → void>) → void} in #t5;
let final self::C2<core::num> #t7 = c2 in let final core::int #t8 = 0 in #t7.{self::C2::[]}(#t8){(core::int) → self::B<(core::num) → void>?} as{TypeError,CovarianceCheck} self::B<(core::num) → void>? == null ?{self::B<(core::num) → void>} #t7.{self::C2::[]=}(#t8, new self::B::•<(core::num) → void>()){(core::int, self::B<(core::num) → void>?) → void} : null;
let final self::C2<core::num> #t7 = c2 in let final core::int #t8 = 0 in #t7.{self::C2::[]}(#t8){(core::int) → self::B<(core::num) → void>?} as{TypeError,CovarianceCheck} self::B<(core::num) → void>? == null ?{self::B<(core::num) → void>?} #t7.{self::C2::[]=}(#t8, new self::B::•<(core::num) → void>()){(core::int, self::B<(core::num) → void>?) → void} : null;
self::B<(core::num) → void> y = let final self::C2<core::num> #t9 = c2 in let final core::int #t10 = 0 in let final self::B<(core::num) → void>? #t11 = #t9.{self::C2::[]}(#t10){(core::int) → self::B<(core::num) → void>?} as{TypeError,CovarianceCheck} self::B<(core::num) → void>? in #t11 == null ?{self::B<(core::num) → void>} let final self::B<(core::num) → void> #t12 = new self::B::•<(core::num) → void>() in let final void #t13 = #t9.{self::C2::[]=}(#t10, #t12){(core::int, self::B<(core::num) → void>?) → void} in #t12 : #t11{self::B<(core::num) → void>};
}
static method main() → dynamic {}