Only set types of conditional expressions in strong mode.

In spec mode the types aren't meaningful anyway (due to the fact that
the spec mode type system is unsound), and they don't match the
behavior of Rasta (causing bot failures).

R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2953503002 .
This commit is contained in:
Paul Berry 2017-06-20 14:59:27 -07:00
parent 9755a98b00
commit 5dd84a802e
97 changed files with 923 additions and 783 deletions

View file

@ -866,10 +866,11 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
VariableDeclaration variable = new VariableDeclaration.forValue(a);
push(new KernelIfNullExpression(
variable,
new KernelConditionalExpression(
new ConditionalExpression(
buildIsNull(new VariableGet(variable), offsetForToken(token)),
b,
new VariableGet(variable))));
new VariableGet(variable),
null)));
}
/// Handle `a?.b(...)`.
@ -3202,7 +3203,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
new NullLiteral(),
new MethodInvocation(new VariableGet(variable), name, arguments)
..fileOffset = offset,
const DynamicType())
null)
..fileOffset = offset)
..fileOffset = offset;
} else {

View file

@ -348,10 +348,7 @@ class NullAwarePropertyAccessor extends Accessor {
Expression body, KernelComplexAssignment complexAssignment) {
var offset = offsetForToken(token);
var nullAwareGuard = new ConditionalExpression(
buildIsNull(receiverAccess(), offset),
new NullLiteral(),
body,
const DynamicType())
buildIsNull(receiverAccess(), offset), new NullLiteral(), body, null)
..fileOffset = offset;
if (complexAssignment != null) {
body = makeLet(receiver, nullAwareGuard);

View file

@ -413,7 +413,7 @@ class KernelConditionalExpression extends ConditionalExpression
implements KernelExpression {
KernelConditionalExpression(
Expression condition, Expression then, Expression otherwise)
: super(condition, then, otherwise, const DynamicType());
: super(condition, then, otherwise, null);
@override
void _collectDependencies(KernelDependencyCollector collector) {
@ -438,7 +438,9 @@ class KernelConditionalExpression extends ConditionalExpression
inferrer.inferExpression(otherwise, typeContext, true);
DartType type = inferrer.typeSchemaEnvironment
.getLeastUpperBound(thenType, otherwiseType);
staticType = type;
if (inferrer.strongMode) {
staticType = type;
}
var inferredType = typeNeeded ? type : null;
inferrer.listener.conditionalExpressionExit(this, inferredType);
return inferredType;
@ -939,7 +941,9 @@ class KernelIfNullExpression extends Let implements KernelExpression {
// To infer `e0 ?? e1` in context K:
// - Infer e0 in context K to get T0
var lhsType = inferrer.inferExpression(_lhs, typeContext, true);
variable.type = lhsType;
if (inferrer.strongMode) {
variable.type = lhsType;
}
// - Let J = T0 if K is `_` else K.
var rhsContext = typeContext ?? lhsType;
// - Infer e1 in context J to get T1
@ -951,7 +955,9 @@ class KernelIfNullExpression extends Let implements KernelExpression {
var inferredType = typeContext == null
? inferrer.typeSchemaEnvironment.getLeastUpperBound(lhsType, rhsType)
: greatestClosure(inferrer.coreTypes, typeContext);
body.staticType = inferredType;
if (inferrer.strongMode) {
body.staticType = inferredType;
}
inferrer.listener.ifNullExit(this, inferredType);
return inferredType;
}
@ -1397,9 +1403,11 @@ class KernelNullAwareMethodInvocation extends Let implements KernelExpression {
_desugaredInvocation,
false,
typeContext,
true,
typeNeeded || inferrer.strongMode,
receiverVariable: variable);
body.staticType = inferredType;
if (inferrer.strongMode) {
body.staticType = inferredType;
}
return inferredType;
}
}
@ -1429,10 +1437,17 @@ class KernelNullAwarePropertyGet extends Let implements KernelExpression {
@override
DartType _inferExpression(
KernelTypeInferrer inferrer, DartType typeContext, bool typeNeeded) {
var inferredType = inferrer.inferPropertyGet(this, variable.initializer,
fileOffset, _desugaredGet, typeContext, true,
var inferredType = inferrer.inferPropertyGet(
this,
variable.initializer,
fileOffset,
_desugaredGet,
typeContext,
typeNeeded || inferrer.strongMode,
receiverVariable: variable);
body.staticType = inferredType;
if (inferrer.strongMode) {
body.staticType = inferredType;
}
return inferredType;
}
}

View file

@ -664,7 +664,9 @@ abstract class TypeInferrerImpl extends TypeInferrer {
listener.methodInvocationEnter(expression, typeContext) || typeNeeded;
// First infer the receiver so we can look up the method that was invoked.
var receiverType = inferExpression(receiver, null, true);
receiverVariable?.type = receiverType;
if (strongMode) {
receiverVariable?.type = receiverType;
}
bool isOverloadedArithmeticOperator = false;
Member interfaceMember =
findMethodInvocationMember(receiverType, desugaredInvocation);
@ -719,7 +721,9 @@ abstract class TypeInferrerImpl extends TypeInferrer {
listener.propertyGetEnter(expression, typeContext) || typeNeeded;
// First infer the receiver so we can look up the getter that was invoked.
var receiverType = inferExpression(receiver, null, true);
receiverVariable?.type = receiverType;
if (strongMode) {
receiverVariable?.type = receiverType;
}
Member interfaceMember =
findInterfaceMember(receiverType, desugaredGet.name, fileOffset);
if (isTopLevel &&

View file

@ -35,8 +35,8 @@ static method useAsB(self::B object) → void {
self::escape(object);
}
static method escape(dynamic x) → void {
x.==(null) ?{dynamic} x = "" : null;
x.==(null) ?{dynamic} x = 45 : null;
x.==(null) ? x = "" : null;
x.==(null) ? x = 45 : null;
if(!(x is core::int) && !(x is core::String)) {
x.field = 45;
}

View file

@ -10,7 +10,7 @@ static method caller(dynamic f) → dynamic {
}
static method main() → dynamic {
core::int i = 0;
core::print(i.==(1) ?{core::String} "bad" : "good");
core::print(i.==(1) ? "bad" : "good");
core::print("${i}");
core::print("'${i}'");
core::print(" '${i}' ");

View file

@ -5,7 +5,7 @@ import "dart:core" as core;
static field core::bool b = true;
static field core::int x = 0;
static field core::double y = 0.0;
static field dynamic z = self::b ?{core::num} self::x : self::y;
static field dynamic z = self::b ? self::x : self::y;
static method main() → dynamic {
dynamic z = self::b ?{core::num} self::x : self::y;
dynamic z = self::b ? self::x : self::y;
}

View file

@ -13,5 +13,5 @@ static method main() → dynamic {
core::List<core::int> l2 = <dynamic>[2];
dynamic x = new self::C::•<dynamic>(l1);
dynamic y = new self::C::•<dynamic>(l2);
dynamic z = new self::C::•<dynamic>(b ?{core::List<core::int>} l1 : l2);
dynamic z = new self::C::•<dynamic>(b ? l1 : l2);
}

View file

@ -32,14 +32,14 @@ class Test extends core::Object {
;
method test() → void {
this.member = self::f<dynamic>();
this.member.==(null) ?{dynamic} this.member = self::f<dynamic>() : null;
this.member.==(null) ? this.member = self::f<dynamic>() : null;
this.member = this.member.+(self::f<dynamic>());
this.member = this.member.*(self::f<dynamic>());
this.member = this.member.&(self::f<dynamic>());
this.member = this.member.-(1);
this.member = this.member.-(1);
dynamic v1 = this.member = self::f<dynamic>();
dynamic v2 = let final dynamic #t1 = this.member in #t1.==(null) ?{dynamic} this.member = self::f<dynamic>() : #t1;
dynamic v2 = let final dynamic #t1 = this.member in #t1.==(null) ? this.member = self::f<dynamic>() : #t1;
dynamic v3 = this.member = this.member.+(self::f<dynamic>());
dynamic v4 = this.member = this.member.*(self::f<dynamic>());
dynamic v5 = this.member = this.member.&(self::f<dynamic>());

View file

@ -32,14 +32,14 @@ class Test extends core::Object {
;
method test() → void {
this.{self::Test::member} = self::f<self::B>();
this.{self::Test::member}.{core::Object::==}(null) ?{dynamic} this.{self::Test::member} = self::f<self::B>() : null;
this.{self::Test::member}.{core::Object::==}(null) ? this.{self::Test::member} = self::f<self::B>() : null;
this.{self::Test::member} = this.{self::Test::member}.{self::B::+}(self::f<dynamic>());
this.{self::Test::member} = this.{self::Test::member}.{self::B::*}(self::f<dynamic>());
this.{self::Test::member} = this.{self::Test::member}.{self::B::&}(self::f<dynamic>());
this.{self::Test::member} = this.{self::Test::member}.{self::B::-}(1);
this.{self::Test::member} = this.{self::Test::member}.{self::B::-}(1);
self::B v1 = this.{self::Test::member} = self::f<self::B>();
self::B v2 = let final dynamic #t1 = this.{self::Test::member} in #t1.{core::Object::==}(null) ?{dynamic} this.{self::Test::member} = self::f<self::B>() : #t1;
self::B v2 = let final dynamic #t1 = this.{self::Test::member} in #t1.{core::Object::==}(null) ? this.{self::Test::member} = self::f<self::B>() : #t1;
self::A v3 = this.{self::Test::member} = this.{self::Test::member}.{self::B::+}(self::f<dynamic>());
self::B v4 = this.{self::Test::member} = this.{self::Test::member}.{self::B::*}(self::f<dynamic>());
self::C v5 = this.{self::Test::member} = this.{self::Test::member}.{self::B::&}(self::f<dynamic>());

View file

@ -10,8 +10,8 @@ class Test1 extends core::Object {
method test() → void {
dynamic v1 = this.t = self::getInt();
dynamic v2 = this.t = self::getNum();
dynamic v4 = let final dynamic #t1 = this.t in #t1.==(null) ?{dynamic} this.t = self::getInt() : #t1;
dynamic v5 = let final dynamic #t2 = this.t in #t2.==(null) ?{dynamic} this.t = self::getNum() : #t2;
dynamic v4 = let final dynamic #t1 = this.t in #t1.==(null) ? this.t = self::getInt() : #t1;
dynamic v5 = let final dynamic #t2 = this.t in #t2.==(null) ? this.t = self::getNum() : #t2;
dynamic v7 = this.t = this.t.+(self::getInt());
dynamic v8 = this.t = this.t.+(self::getNum());
dynamic v10 = this.t = this.t.+(1);
@ -27,9 +27,9 @@ class Test2 extends core::Object {
dynamic v1 = this.t = self::getInt();
dynamic v2 = this.t = self::getNum();
dynamic v3 = this.t = self::getDouble();
dynamic v4 = let final dynamic #t5 = this.t in #t5.==(null) ?{dynamic} this.t = self::getInt() : #t5;
dynamic v5 = let final dynamic #t6 = this.t in #t6.==(null) ?{dynamic} this.t = self::getNum() : #t6;
dynamic v6 = let final dynamic #t7 = this.t in #t7.==(null) ?{dynamic} this.t = self::getDouble() : #t7;
dynamic v4 = let final dynamic #t5 = this.t in #t5.==(null) ? this.t = self::getInt() : #t5;
dynamic v5 = let final dynamic #t6 = this.t in #t6.==(null) ? this.t = self::getNum() : #t6;
dynamic v6 = let final dynamic #t7 = this.t in #t7.==(null) ? this.t = self::getDouble() : #t7;
dynamic v7 = this.t = this.t.+(self::getInt());
dynamic v8 = this.t = this.t.+(self::getNum());
dynamic v9 = this.t = this.t.+(self::getDouble());
@ -45,8 +45,8 @@ class Test3 extends core::Object {
method test3() → void {
dynamic v2 = this.t = self::getNum();
dynamic v3 = this.t = self::getDouble();
dynamic v5 = let final dynamic #t10 = this.t in #t10.==(null) ?{dynamic} this.t = self::getNum() : #t10;
dynamic v6 = let final dynamic #t11 = this.t in #t11.==(null) ?{dynamic} this.t = self::getDouble() : #t11;
dynamic v5 = let final dynamic #t10 = this.t in #t10.==(null) ? this.t = self::getNum() : #t10;
dynamic v6 = let final dynamic #t11 = this.t in #t11.==(null) ? this.t = self::getDouble() : #t11;
dynamic v7 = this.t = this.t.+(self::getInt());
dynamic v8 = this.t = this.t.+(self::getNum());
dynamic v9 = this.t = this.t.+(self::getDouble());

View file

@ -10,8 +10,8 @@ class Test1 extends core::Object {
method test() → void {
core::int v1 = this.{self::Test1::t} = self::getInt();
core::num v2 = this.{self::Test1::t} = self::getNum();
core::int v4 = let final dynamic #t1 = this.{self::Test1::t} in #t1.{core::num::==}(null) ?{dynamic} this.{self::Test1::t} = self::getInt() : #t1;
core::num v5 = let final dynamic #t2 = this.{self::Test1::t} in #t2.{core::num::==}(null) ?{dynamic} this.{self::Test1::t} = self::getNum() : #t2;
core::int v4 = let final dynamic #t1 = this.{self::Test1::t} in #t1.{core::num::==}(null) ? this.{self::Test1::t} = self::getInt() : #t1;
core::num v5 = let final dynamic #t2 = this.{self::Test1::t} in #t2.{core::num::==}(null) ? this.{self::Test1::t} = self::getNum() : #t2;
core::int v7 = this.{self::Test1::t} = this.{self::Test1::t}.{core::num::+}(self::getInt());
core::num v8 = this.{self::Test1::t} = this.{self::Test1::t}.{core::num::+}(self::getNum());
core::int v10 = this.{self::Test1::t} = this.{self::Test1::t}.{core::num::+}(1);
@ -27,9 +27,9 @@ class Test2 extends core::Object {
core::int v1 = this.{self::Test2::t} = self::getInt();
core::num v2 = this.{self::Test2::t} = self::getNum();
core::double v3 = this.{self::Test2::t} = self::getDouble();
core::num v4 = let final dynamic #t5 = this.{self::Test2::t} in #t5.{core::num::==}(null) ?{dynamic} this.{self::Test2::t} = self::getInt() : #t5;
core::num v5 = let final dynamic #t6 = this.{self::Test2::t} in #t6.{core::num::==}(null) ?{dynamic} this.{self::Test2::t} = self::getNum() : #t6;
core::num v6 = let final dynamic #t7 = this.{self::Test2::t} in #t7.{core::num::==}(null) ?{dynamic} this.{self::Test2::t} = self::getDouble() : #t7;
core::num v4 = let final dynamic #t5 = this.{self::Test2::t} in #t5.{core::num::==}(null) ? this.{self::Test2::t} = self::getInt() : #t5;
core::num v5 = let final dynamic #t6 = this.{self::Test2::t} in #t6.{core::num::==}(null) ? this.{self::Test2::t} = self::getNum() : #t6;
core::num v6 = let final dynamic #t7 = this.{self::Test2::t} in #t7.{core::num::==}(null) ? this.{self::Test2::t} = self::getDouble() : #t7;
core::num v7 = this.{self::Test2::t} = this.{self::Test2::t}.{core::num::+}(self::getInt());
core::num v8 = this.{self::Test2::t} = this.{self::Test2::t}.{core::num::+}(self::getNum());
core::num v9 = this.{self::Test2::t} = this.{self::Test2::t}.{core::num::+}(self::getDouble());
@ -45,8 +45,8 @@ class Test3 extends core::Object {
method test3() → void {
core::num v2 = this.{self::Test3::t} = self::getNum();
core::double v3 = this.{self::Test3::t} = self::getDouble();
core::num v5 = let final dynamic #t10 = this.{self::Test3::t} in #t10.{core::num::==}(null) ?{dynamic} this.{self::Test3::t} = self::getNum() : #t10;
core::double v6 = let final dynamic #t11 = this.{self::Test3::t} in #t11.{core::num::==}(null) ?{dynamic} this.{self::Test3::t} = self::getDouble() : #t11;
core::num v5 = let final dynamic #t10 = this.{self::Test3::t} in #t10.{core::num::==}(null) ? this.{self::Test3::t} = self::getNum() : #t10;
core::double v6 = let final dynamic #t11 = this.{self::Test3::t} in #t11.{core::num::==}(null) ? this.{self::Test3::t} = self::getDouble() : #t11;
core::double v7 = this.{self::Test3::t} = this.{self::Test3::t}.{core::double::+}(self::getInt());
core::double v8 = this.{self::Test3::t} = this.{self::Test3::t}.{core::double::+}(self::getNum());
core::double v9 = this.{self::Test3::t} = this.{self::Test3::t}.{core::double::+}(self::getDouble());

View file

@ -40,14 +40,14 @@ class Test extends core::Object {
method test() → void {
self::Test t = self::f<dynamic>();
t.[]=(self::f<dynamic>(), self::f<dynamic>());
let final dynamic #t1 = t in let final dynamic #t2 = self::f<dynamic>() in #t1.[](#t2).==(null) ?{dynamic} let final dynamic #t3 = self::f<dynamic>() in let final dynamic #t4 = #t1.[]=(#t2, #t3) in #t3 : null;
let final dynamic #t1 = t in let final dynamic #t2 = self::f<dynamic>() in #t1.[](#t2).==(null) ? let final dynamic #t3 = self::f<dynamic>() in let final dynamic #t4 = #t1.[]=(#t2, #t3) in #t3 : null;
let final dynamic #t5 = t in let final dynamic #t6 = self::f<dynamic>() in #t5.[]=(#t6, #t5.[](#t6).+(self::f<dynamic>()));
let final dynamic #t7 = t in let final dynamic #t8 = self::f<dynamic>() in #t7.[]=(#t8, #t7.[](#t8).*(self::f<dynamic>()));
let final dynamic #t9 = t in let final dynamic #t10 = self::f<dynamic>() in #t9.[]=(#t10, #t9.[](#t10).&(self::f<dynamic>()));
let final dynamic #t11 = t in let final dynamic #t12 = self::f<dynamic>() in let final dynamic #t13 = #t11.[](#t12).-(1) in let final dynamic #t14 = #t11.[]=(#t12, #t13) in #t13;
let final dynamic #t15 = t in let final dynamic #t16 = self::f<dynamic>() in #t15.[]=(#t16, #t15.[](#t16).-(1));
dynamic v1 = let final dynamic #t17 = t in let final dynamic #t18 = self::f<dynamic>() in let final dynamic #t19 = self::f<dynamic>() in let final dynamic #t20 = #t17.[]=(#t18, #t19) in #t19;
dynamic v2 = let final dynamic #t21 = t in let final dynamic #t22 = self::f<dynamic>() in let final dynamic #t23 = #t21.[](#t22) in #t23.==(null) ?{dynamic} let final dynamic #t24 = self::f<dynamic>() in let final dynamic #t25 = #t21.[]=(#t22, #t24) in #t24 : #t23;
dynamic v2 = let final dynamic #t21 = t in let final dynamic #t22 = self::f<dynamic>() in let final dynamic #t23 = #t21.[](#t22) in #t23.==(null) ? let final dynamic #t24 = self::f<dynamic>() in let final dynamic #t25 = #t21.[]=(#t22, #t24) in #t24 : #t23;
dynamic v3 = let final dynamic #t26 = t in let final dynamic #t27 = self::f<dynamic>() in let final dynamic #t28 = #t26.[](#t27).+(self::f<dynamic>()) in let final dynamic #t29 = #t26.[]=(#t27, #t28) in #t28;
dynamic v4 = let final dynamic #t30 = t in let final dynamic #t31 = self::f<dynamic>() in let final dynamic #t32 = #t30.[](#t31).*(self::f<dynamic>()) in let final dynamic #t33 = #t30.[]=(#t31, #t32) in #t32;
dynamic v5 = let final dynamic #t34 = t in let final dynamic #t35 = self::f<dynamic>() in let final dynamic #t36 = #t34.[](#t35).&(self::f<dynamic>()) in let final dynamic #t37 = #t34.[]=(#t35, #t36) in #t36;

View file

@ -40,14 +40,14 @@ class Test extends core::Object {
method test() → void {
self::Test t = self::f<self::Test>();
t.{self::Test::[]=}(self::f<dynamic>(), self::f<self::B>());
let final dynamic #t1 = t in let final dynamic #t2 = self::f<dynamic>() in #t1.{self::Test::[]}(#t2).{core::Object::==}(null) ?{dynamic} let final dynamic #t3 = self::f<self::B>() in let final dynamic #t4 = #t1.{self::Test::[]=}(#t2, #t3) in #t3 : null;
let final dynamic #t1 = t in let final dynamic #t2 = self::f<dynamic>() in #t1.{self::Test::[]}(#t2).{core::Object::==}(null) ? let final dynamic #t3 = self::f<self::B>() in let final dynamic #t4 = #t1.{self::Test::[]=}(#t2, #t3) in #t3 : null;
let final dynamic #t5 = t in let final dynamic #t6 = self::f<dynamic>() in #t5.{self::Test::[]=}(#t6, #t5.{self::Test::[]}(#t6).{self::B::+}(self::f<dynamic>()));
let final dynamic #t7 = t in let final dynamic #t8 = self::f<dynamic>() in #t7.{self::Test::[]=}(#t8, #t7.{self::Test::[]}(#t8).{self::B::*}(self::f<dynamic>()));
let final dynamic #t9 = t in let final dynamic #t10 = self::f<dynamic>() in #t9.{self::Test::[]=}(#t10, #t9.{self::Test::[]}(#t10).{self::B::&}(self::f<dynamic>()));
let final dynamic #t11 = t in let final dynamic #t12 = self::f<dynamic>() in let final dynamic #t13 = #t11.{self::Test::[]}(#t12).{self::B::-}(1) in let final dynamic #t14 = #t11.{self::Test::[]=}(#t12, #t13) in #t13;
let final dynamic #t15 = t in let final dynamic #t16 = self::f<dynamic>() in #t15.{self::Test::[]=}(#t16, #t15.{self::Test::[]}(#t16).{self::B::-}(1));
self::B v1 = let final dynamic #t17 = t in let final dynamic #t18 = self::f<dynamic>() in let final dynamic #t19 = self::f<self::B>() in let final dynamic #t20 = #t17.{self::Test::[]=}(#t18, #t19) in #t19;
self::B v2 = let final dynamic #t21 = t in let final dynamic #t22 = self::f<dynamic>() in let final dynamic #t23 = #t21.{self::Test::[]}(#t22) in #t23.{core::Object::==}(null) ?{dynamic} let final dynamic #t24 = self::f<self::B>() in let final dynamic #t25 = #t21.{self::Test::[]=}(#t22, #t24) in #t24 : #t23;
self::B v2 = let final dynamic #t21 = t in let final dynamic #t22 = self::f<dynamic>() in let final dynamic #t23 = #t21.{self::Test::[]}(#t22) in #t23.{core::Object::==}(null) ? let final dynamic #t24 = self::f<self::B>() in let final dynamic #t25 = #t21.{self::Test::[]=}(#t22, #t24) in #t24 : #t23;
self::A v3 = let final dynamic #t26 = t in let final dynamic #t27 = self::f<dynamic>() in let final dynamic #t28 = #t26.{self::Test::[]}(#t27).{self::B::+}(self::f<dynamic>()) in let final dynamic #t29 = #t26.{self::Test::[]=}(#t27, #t28) in #t28;
self::B v4 = let final dynamic #t30 = t in let final dynamic #t31 = self::f<dynamic>() in let final dynamic #t32 = #t30.{self::Test::[]}(#t31).{self::B::*}(self::f<dynamic>()) in let final dynamic #t33 = #t30.{self::Test::[]=}(#t31, #t32) in #t32;
self::C v5 = let final dynamic #t34 = t in let final dynamic #t35 = self::f<dynamic>() in let final dynamic #t36 = #t34.{self::Test::[]}(#t35).{self::B::&}(self::f<dynamic>()) in let final dynamic #t37 = #t34.{self::Test::[]=}(#t35, #t36) in #t36;

View file

@ -55,12 +55,12 @@ class Test extends core::Object {
method test() → void {
self::Test t = self::f<dynamic>();
t.[]=(self::f<dynamic>(), self::f<dynamic>());
let final dynamic #t1 = t in let final dynamic #t2 = self::f<dynamic>() in #t1.[](#t2).==(null) ?{dynamic} let final dynamic #t3 = self::f<dynamic>() in let final dynamic #t4 = #t1.[]=(#t2, #t3) in #t3 : null;
let final dynamic #t1 = t in let final dynamic #t2 = self::f<dynamic>() in #t1.[](#t2).==(null) ? let final dynamic #t3 = self::f<dynamic>() in let final dynamic #t4 = #t1.[]=(#t2, #t3) in #t3 : null;
let final dynamic #t5 = t in let final dynamic #t6 = self::f<dynamic>() in #t5.[]=(#t6, #t5.[](#t6).+(self::f<dynamic>()));
let final dynamic #t7 = t in let final dynamic #t8 = self::f<dynamic>() in let final dynamic #t9 = #t7.[](#t8).-(1) in let final dynamic #t10 = #t7.[]=(#t8, #t9) in #t9;
let final dynamic #t11 = t in let final dynamic #t12 = self::f<dynamic>() in #t11.[]=(#t12, #t11.[](#t12).-(1));
dynamic v1 = let final dynamic #t13 = t in let final dynamic #t14 = self::f<dynamic>() in let final dynamic #t15 = self::f<dynamic>() in let final dynamic #t16 = #t13.[]=(#t14, #t15) in #t15;
dynamic v2 = let final dynamic #t17 = t in let final dynamic #t18 = self::f<dynamic>() in let final dynamic #t19 = #t17.[](#t18) in #t19.==(null) ?{dynamic} let final dynamic #t20 = self::f<dynamic>() in let final dynamic #t21 = #t17.[]=(#t18, #t20) in #t20 : #t19;
dynamic v2 = let final dynamic #t17 = t in let final dynamic #t18 = self::f<dynamic>() in let final dynamic #t19 = #t17.[](#t18) in #t19.==(null) ? let final dynamic #t20 = self::f<dynamic>() in let final dynamic #t21 = #t17.[]=(#t18, #t20) in #t20 : #t19;
dynamic v3 = let final dynamic #t22 = t in let final dynamic #t23 = self::f<dynamic>() in let final dynamic #t24 = #t22.[](#t23).+(self::f<dynamic>()) in let final dynamic #t25 = #t22.[]=(#t23, #t24) in #t24;
dynamic v4 = let final dynamic #t26 = t in let final dynamic #t27 = self::f<dynamic>() in let final dynamic #t28 = #t26.[](#t27).-(1) in let final dynamic #t29 = #t26.[]=(#t27, #t28) in #t28;
dynamic v5 = let final dynamic #t30 = t in let final dynamic #t31 = self::f<dynamic>() in let final dynamic #t32 = #t30.[](#t31) in let final dynamic #t33 = #t30.[]=(#t31, #t32.-(1)) in #t32;

View file

@ -55,12 +55,12 @@ class Test extends core::Object {
method test() → void {
self::Test t = self::f<self::Test>();
t.{self::Test::[]=}(self::f<dynamic>(), self::f<self::A>());
let final dynamic #t1 = t in let final dynamic #t2 = self::f<dynamic>() in #t1.{self::Test::[]}(#t2).{core::Object::==}(null) ?{dynamic} let final dynamic #t3 = self::f<self::A>() in let final dynamic #t4 = #t1.{self::Test::[]=}(#t2, #t3) in #t3 : null;
let final dynamic #t1 = t in let final dynamic #t2 = self::f<dynamic>() in #t1.{self::Test::[]}(#t2).{core::Object::==}(null) ? let final dynamic #t3 = self::f<self::A>() in let final dynamic #t4 = #t1.{self::Test::[]=}(#t2, #t3) in #t3 : null;
let final dynamic #t5 = t in let final dynamic #t6 = self::f<dynamic>() in #t5.{self::Test::[]=}(#t6, #t5.{self::Test::[]}(#t6).{self::A::+}(self::f<dynamic>()));
let final dynamic #t7 = t in let final dynamic #t8 = self::f<dynamic>() in let final dynamic #t9 = #t7.{self::Test::[]}(#t8).{self::A::-}(1) in let final dynamic #t10 = #t7.{self::Test::[]=}(#t8, #t9) in #t9;
let final dynamic #t11 = t in let final dynamic #t12 = self::f<dynamic>() in #t11.{self::Test::[]=}(#t12, #t11.{self::Test::[]}(#t12).{self::A::-}(1));
self::A v1 = let final dynamic #t13 = t in let final dynamic #t14 = self::f<dynamic>() in let final dynamic #t15 = self::f<self::A>() in let final dynamic #t16 = #t13.{self::Test::[]=}(#t14, #t15) in #t15;
self::A v2 = let final dynamic #t17 = t in let final dynamic #t18 = self::f<dynamic>() in let final dynamic #t19 = #t17.{self::Test::[]}(#t18) in #t19.{core::Object::==}(null) ?{dynamic} let final dynamic #t20 = self::f<self::A>() in let final dynamic #t21 = #t17.{self::Test::[]=}(#t18, #t20) in #t20 : #t19;
self::A v2 = let final dynamic #t17 = t in let final dynamic #t18 = self::f<dynamic>() in let final dynamic #t19 = #t17.{self::Test::[]}(#t18) in #t19.{core::Object::==}(null) ? let final dynamic #t20 = self::f<self::A>() in let final dynamic #t21 = #t17.{self::Test::[]=}(#t18, #t20) in #t20 : #t19;
self::C v3 = let final dynamic #t22 = t in let final dynamic #t23 = self::f<dynamic>() in let final dynamic #t24 = #t22.{self::Test::[]}(#t23).{self::A::+}(self::f<dynamic>()) in let final dynamic #t25 = #t22.{self::Test::[]=}(#t23, #t24) in #t24;
self::C v4 = let final dynamic #t26 = t in let final dynamic #t27 = self::f<dynamic>() in let final dynamic #t28 = #t26.{self::Test::[]}(#t27).{self::A::-}(1) in let final dynamic #t29 = #t26.{self::Test::[]=}(#t27, #t28) in #t28;
self::A v5 = let final dynamic #t30 = t in let final dynamic #t31 = self::f<dynamic>() in let final dynamic #t32 = #t30.{self::Test::[]}(#t31) in let final dynamic #t33 = #t30.{self::Test::[]=}(#t31, #t32.{self::A::-}(1)) in #t32;

View file

@ -44,14 +44,14 @@ class Test extends self::Base {
;
method test() → void {
super.[]=(self::f<dynamic>(), self::f<dynamic>());
let final dynamic #t1 = self::f<dynamic>() in super.[](#t1).==(null) ?{dynamic} let final dynamic #t2 = self::f<dynamic>() in let final dynamic #t3 = super.[]=(#t1, #t2) in #t2 : null;
let final dynamic #t1 = self::f<dynamic>() in super.[](#t1).==(null) ? let final dynamic #t2 = self::f<dynamic>() in let final dynamic #t3 = super.[]=(#t1, #t2) in #t2 : null;
let final dynamic #t4 = self::f<dynamic>() in super.[]=(#t4, super.[](#t4).+(self::f<dynamic>()));
let final dynamic #t5 = self::f<dynamic>() in super.[]=(#t5, super.[](#t5).*(self::f<dynamic>()));
let final dynamic #t6 = self::f<dynamic>() in super.[]=(#t6, super.[](#t6).&(self::f<dynamic>()));
let final dynamic #t7 = self::f<dynamic>() in let final dynamic #t8 = super.[](#t7).-(1) in let final dynamic #t9 = super.[]=(#t7, #t8) in #t8;
let final dynamic #t10 = self::f<dynamic>() in super.[]=(#t10, super.[](#t10).-(1));
dynamic v1 = let final dynamic #t11 = self::f<dynamic>() in let final dynamic #t12 = self::f<dynamic>() in let final dynamic #t13 = super.[]=(#t11, #t12) in #t12;
dynamic v2 = let final dynamic #t14 = self::f<dynamic>() in let final dynamic #t15 = super.[](#t14) in #t15.==(null) ?{dynamic} let final dynamic #t16 = self::f<dynamic>() in let final dynamic #t17 = super.[]=(#t14, #t16) in #t16 : #t15;
dynamic v2 = let final dynamic #t14 = self::f<dynamic>() in let final dynamic #t15 = super.[](#t14) in #t15.==(null) ? let final dynamic #t16 = self::f<dynamic>() in let final dynamic #t17 = super.[]=(#t14, #t16) in #t16 : #t15;
dynamic v3 = let final dynamic #t18 = self::f<dynamic>() in let final dynamic #t19 = super.[](#t18).+(self::f<dynamic>()) in let final dynamic #t20 = super.[]=(#t18, #t19) in #t19;
dynamic v4 = let final dynamic #t21 = self::f<dynamic>() in let final dynamic #t22 = super.[](#t21).*(self::f<dynamic>()) in let final dynamic #t23 = super.[]=(#t21, #t22) in #t22;
dynamic v5 = let final dynamic #t24 = self::f<dynamic>() in let final dynamic #t25 = super.[](#t24).&(self::f<dynamic>()) in let final dynamic #t26 = super.[]=(#t24, #t25) in #t25;

View file

@ -44,14 +44,14 @@ class Test extends self::Base {
;
method test() → void {
super.{self::Base::[]=}(self::f<dynamic>(), self::f<self::B>());
let final dynamic #t1 = self::f<dynamic>() in super.{self::Base::[]}(#t1).{core::Object::==}(null) ?{dynamic} let final dynamic #t2 = self::f<self::B>() in let final dynamic #t3 = super.{self::Base::[]=}(#t1, #t2) in #t2 : null;
let final dynamic #t1 = self::f<dynamic>() in super.{self::Base::[]}(#t1).{core::Object::==}(null) ? let final dynamic #t2 = self::f<self::B>() in let final dynamic #t3 = super.{self::Base::[]=}(#t1, #t2) in #t2 : null;
let final dynamic #t4 = self::f<dynamic>() in super.{self::Base::[]=}(#t4, super.{self::Base::[]}(#t4).{self::B::+}(self::f<dynamic>()));
let final dynamic #t5 = self::f<dynamic>() in super.{self::Base::[]=}(#t5, super.{self::Base::[]}(#t5).{self::B::*}(self::f<dynamic>()));
let final dynamic #t6 = self::f<dynamic>() in super.{self::Base::[]=}(#t6, super.{self::Base::[]}(#t6).{self::B::&}(self::f<dynamic>()));
let final dynamic #t7 = self::f<dynamic>() in let final dynamic #t8 = super.{self::Base::[]}(#t7).{self::B::-}(1) in let final dynamic #t9 = super.{self::Base::[]=}(#t7, #t8) in #t8;
let final dynamic #t10 = self::f<dynamic>() in super.{self::Base::[]=}(#t10, super.{self::Base::[]}(#t10).{self::B::-}(1));
self::B v1 = let final dynamic #t11 = self::f<dynamic>() in let final dynamic #t12 = self::f<self::B>() in let final dynamic #t13 = super.{self::Base::[]=}(#t11, #t12) in #t12;
self::B v2 = let final dynamic #t14 = self::f<dynamic>() in let final dynamic #t15 = super.{self::Base::[]}(#t14) in #t15.{core::Object::==}(null) ?{dynamic} let final dynamic #t16 = self::f<self::B>() in let final dynamic #t17 = super.{self::Base::[]=}(#t14, #t16) in #t16 : #t15;
self::B v2 = let final dynamic #t14 = self::f<dynamic>() in let final dynamic #t15 = super.{self::Base::[]}(#t14) in #t15.{core::Object::==}(null) ? let final dynamic #t16 = self::f<self::B>() in let final dynamic #t17 = super.{self::Base::[]=}(#t14, #t16) in #t16 : #t15;
self::A v3 = let final dynamic #t18 = self::f<dynamic>() in let final dynamic #t19 = super.{self::Base::[]}(#t18).{self::B::+}(self::f<dynamic>()) in let final dynamic #t20 = super.{self::Base::[]=}(#t18, #t19) in #t19;
self::B v4 = let final dynamic #t21 = self::f<dynamic>() in let final dynamic #t22 = super.{self::Base::[]}(#t21).{self::B::*}(self::f<dynamic>()) in let final dynamic #t23 = super.{self::Base::[]=}(#t21, #t22) in #t22;
self::C v5 = let final dynamic #t24 = self::f<dynamic>() in let final dynamic #t25 = super.{self::Base::[]}(#t24).{self::B::&}(self::f<dynamic>()) in let final dynamic #t26 = super.{self::Base::[]=}(#t24, #t25) in #t25;

View file

@ -20,8 +20,8 @@ abstract class Test1 extends self::Base<core::int, core::int> {
method test() → void {
dynamic v1 = let final dynamic #t1 = "x" in let final dynamic #t2 = self::getInt() in let final dynamic #t3 = super.[]=(#t1, #t2) in #t2;
dynamic v2 = let final dynamic #t4 = "x" in let final dynamic #t5 = self::getNum() in let final dynamic #t6 = super.[]=(#t4, #t5) in #t5;
dynamic v4 = let final dynamic #t7 = "x" in let final dynamic #t8 = super.[](#t7) in #t8.==(null) ?{dynamic} let final dynamic #t9 = self::getInt() in let final dynamic #t10 = super.[]=(#t7, #t9) in #t9 : #t8;
dynamic v5 = let final dynamic #t11 = "x" in let final dynamic #t12 = super.[](#t11) in #t12.==(null) ?{dynamic} let final dynamic #t13 = self::getNum() in let final dynamic #t14 = super.[]=(#t11, #t13) in #t13 : #t12;
dynamic v4 = let final dynamic #t7 = "x" in let final dynamic #t8 = super.[](#t7) in #t8.==(null) ? let final dynamic #t9 = self::getInt() in let final dynamic #t10 = super.[]=(#t7, #t9) in #t9 : #t8;
dynamic v5 = let final dynamic #t11 = "x" in let final dynamic #t12 = super.[](#t11) in #t12.==(null) ? let final dynamic #t13 = self::getNum() in let final dynamic #t14 = super.[]=(#t11, #t13) in #t13 : #t12;
dynamic v7 = let final dynamic #t15 = "x" in let final dynamic #t16 = super.[](#t15).+(self::getInt()) in let final dynamic #t17 = super.[]=(#t15, #t16) in #t16;
dynamic v8 = let final dynamic #t18 = "x" in let final dynamic #t19 = super.[](#t18).+(self::getNum()) in let final dynamic #t20 = super.[]=(#t18, #t19) in #t19;
dynamic v10 = let final dynamic #t21 = "x" in let final dynamic #t22 = super.[](#t21).+(1) in let final dynamic #t23 = super.[]=(#t21, #t22) in #t22;
@ -36,9 +36,9 @@ abstract class Test2 extends self::Base<core::int, core::num> {
dynamic v1 = let final dynamic #t27 = "x" in let final dynamic #t28 = self::getInt() in let final dynamic #t29 = super.[]=(#t27, #t28) in #t28;
dynamic v2 = let final dynamic #t30 = "x" in let final dynamic #t31 = self::getNum() in let final dynamic #t32 = super.[]=(#t30, #t31) in #t31;
dynamic v3 = let final dynamic #t33 = "x" in let final dynamic #t34 = self::getDouble() in let final dynamic #t35 = super.[]=(#t33, #t34) in #t34;
dynamic v4 = let final dynamic #t36 = "x" in let final dynamic #t37 = super.[](#t36) in #t37.==(null) ?{dynamic} let final dynamic #t38 = self::getInt() in let final dynamic #t39 = super.[]=(#t36, #t38) in #t38 : #t37;
dynamic v5 = let final dynamic #t40 = "x" in let final dynamic #t41 = super.[](#t40) in #t41.==(null) ?{dynamic} let final dynamic #t42 = self::getNum() in let final dynamic #t43 = super.[]=(#t40, #t42) in #t42 : #t41;
dynamic v6 = let final dynamic #t44 = "x" in let final dynamic #t45 = super.[](#t44) in #t45.==(null) ?{dynamic} let final dynamic #t46 = self::getDouble() in let final dynamic #t47 = super.[]=(#t44, #t46) in #t46 : #t45;
dynamic v4 = let final dynamic #t36 = "x" in let final dynamic #t37 = super.[](#t36) in #t37.==(null) ? let final dynamic #t38 = self::getInt() in let final dynamic #t39 = super.[]=(#t36, #t38) in #t38 : #t37;
dynamic v5 = let final dynamic #t40 = "x" in let final dynamic #t41 = super.[](#t40) in #t41.==(null) ? let final dynamic #t42 = self::getNum() in let final dynamic #t43 = super.[]=(#t40, #t42) in #t42 : #t41;
dynamic v6 = let final dynamic #t44 = "x" in let final dynamic #t45 = super.[](#t44) in #t45.==(null) ? let final dynamic #t46 = self::getDouble() in let final dynamic #t47 = super.[]=(#t44, #t46) in #t46 : #t45;
dynamic v7 = let final dynamic #t48 = "x" in let final dynamic #t49 = super.[](#t48).+(self::getInt()) in let final dynamic #t50 = super.[]=(#t48, #t49) in #t49;
dynamic v8 = let final dynamic #t51 = "x" in let final dynamic #t52 = super.[](#t51).+(self::getNum()) in let final dynamic #t53 = super.[]=(#t51, #t52) in #t52;
dynamic v9 = let final dynamic #t54 = "x" in let final dynamic #t55 = super.[](#t54).+(self::getDouble()) in let final dynamic #t56 = super.[]=(#t54, #t55) in #t55;
@ -53,8 +53,8 @@ abstract class Test3 extends self::Base<core::int, core::double> {
method test() → void {
dynamic v2 = let final dynamic #t63 = "x" in let final dynamic #t64 = self::getNum() in let final dynamic #t65 = super.[]=(#t63, #t64) in #t64;
dynamic v3 = let final dynamic #t66 = "x" in let final dynamic #t67 = self::getDouble() in let final dynamic #t68 = super.[]=(#t66, #t67) in #t67;
dynamic v5 = let final dynamic #t69 = "x" in let final dynamic #t70 = super.[](#t69) in #t70.==(null) ?{dynamic} let final dynamic #t71 = self::getNum() in let final dynamic #t72 = super.[]=(#t69, #t71) in #t71 : #t70;
dynamic v6 = let final dynamic #t73 = "x" in let final dynamic #t74 = super.[](#t73) in #t74.==(null) ?{dynamic} let final dynamic #t75 = self::getDouble() in let final dynamic #t76 = super.[]=(#t73, #t75) in #t75 : #t74;
dynamic v5 = let final dynamic #t69 = "x" in let final dynamic #t70 = super.[](#t69) in #t70.==(null) ? let final dynamic #t71 = self::getNum() in let final dynamic #t72 = super.[]=(#t69, #t71) in #t71 : #t70;
dynamic v6 = let final dynamic #t73 = "x" in let final dynamic #t74 = super.[](#t73) in #t74.==(null) ? let final dynamic #t75 = self::getDouble() in let final dynamic #t76 = super.[]=(#t73, #t75) in #t75 : #t74;
dynamic v7 = let final dynamic #t77 = "x" in let final dynamic #t78 = super.[](#t77).+(self::getInt()) in let final dynamic #t79 = super.[]=(#t77, #t78) in #t78;
dynamic v8 = let final dynamic #t80 = "x" in let final dynamic #t81 = super.[](#t80).+(self::getNum()) in let final dynamic #t82 = super.[]=(#t80, #t81) in #t81;
dynamic v9 = let final dynamic #t83 = "x" in let final dynamic #t84 = super.[](#t83).+(self::getDouble()) in let final dynamic #t85 = super.[]=(#t83, #t84) in #t84;
@ -69,8 +69,8 @@ abstract class Test4 extends self::Base<core::num, core::int> {
method test() → void {
dynamic v1 = let final dynamic #t92 = "x" in let final dynamic #t93 = self::getInt() in let final dynamic #t94 = super.[]=(#t92, #t93) in #t93;
dynamic v2 = let final dynamic #t95 = "x" in let final dynamic #t96 = self::getNum() in let final dynamic #t97 = super.[]=(#t95, #t96) in #t96;
dynamic v4 = let final dynamic #t98 = "x" in let final dynamic #t99 = super.[](#t98) in #t99.==(null) ?{dynamic} let final dynamic #t100 = self::getInt() in let final dynamic #t101 = super.[]=(#t98, #t100) in #t100 : #t99;
dynamic v5 = let final dynamic #t102 = "x" in let final dynamic #t103 = super.[](#t102) in #t103.==(null) ?{dynamic} let final dynamic #t104 = self::getNum() in let final dynamic #t105 = super.[]=(#t102, #t104) in #t104 : #t103;
dynamic v4 = let final dynamic #t98 = "x" in let final dynamic #t99 = super.[](#t98) in #t99.==(null) ? let final dynamic #t100 = self::getInt() in let final dynamic #t101 = super.[]=(#t98, #t100) in #t100 : #t99;
dynamic v5 = let final dynamic #t102 = "x" in let final dynamic #t103 = super.[](#t102) in #t103.==(null) ? let final dynamic #t104 = self::getNum() in let final dynamic #t105 = super.[]=(#t102, #t104) in #t104 : #t103;
dynamic v7 = let final dynamic #t106 = "x" in let final dynamic #t107 = super.[](#t106).+(self::getInt()) in let final dynamic #t108 = super.[]=(#t106, #t107) in #t107;
dynamic v8 = let final dynamic #t109 = "x" in let final dynamic #t110 = super.[](#t109).+(self::getNum()) in let final dynamic #t111 = super.[]=(#t109, #t110) in #t110;
dynamic v10 = let final dynamic #t112 = "x" in let final dynamic #t113 = super.[](#t112).+(1) in let final dynamic #t114 = super.[]=(#t112, #t113) in #t113;
@ -85,9 +85,9 @@ abstract class Test5 extends self::Base<core::num, core::num> {
dynamic v1 = let final dynamic #t118 = "x" in let final dynamic #t119 = self::getInt() in let final dynamic #t120 = super.[]=(#t118, #t119) in #t119;
dynamic v2 = let final dynamic #t121 = "x" in let final dynamic #t122 = self::getNum() in let final dynamic #t123 = super.[]=(#t121, #t122) in #t122;
dynamic v3 = let final dynamic #t124 = "x" in let final dynamic #t125 = self::getDouble() in let final dynamic #t126 = super.[]=(#t124, #t125) in #t125;
dynamic v4 = let final dynamic #t127 = "x" in let final dynamic #t128 = super.[](#t127) in #t128.==(null) ?{dynamic} let final dynamic #t129 = self::getInt() in let final dynamic #t130 = super.[]=(#t127, #t129) in #t129 : #t128;
dynamic v5 = let final dynamic #t131 = "x" in let final dynamic #t132 = super.[](#t131) in #t132.==(null) ?{dynamic} let final dynamic #t133 = self::getNum() in let final dynamic #t134 = super.[]=(#t131, #t133) in #t133 : #t132;
dynamic v6 = let final dynamic #t135 = "x" in let final dynamic #t136 = super.[](#t135) in #t136.==(null) ?{dynamic} let final dynamic #t137 = self::getDouble() in let final dynamic #t138 = super.[]=(#t135, #t137) in #t137 : #t136;
dynamic v4 = let final dynamic #t127 = "x" in let final dynamic #t128 = super.[](#t127) in #t128.==(null) ? let final dynamic #t129 = self::getInt() in let final dynamic #t130 = super.[]=(#t127, #t129) in #t129 : #t128;
dynamic v5 = let final dynamic #t131 = "x" in let final dynamic #t132 = super.[](#t131) in #t132.==(null) ? let final dynamic #t133 = self::getNum() in let final dynamic #t134 = super.[]=(#t131, #t133) in #t133 : #t132;
dynamic v6 = let final dynamic #t135 = "x" in let final dynamic #t136 = super.[](#t135) in #t136.==(null) ? let final dynamic #t137 = self::getDouble() in let final dynamic #t138 = super.[]=(#t135, #t137) in #t137 : #t136;
dynamic v7 = let final dynamic #t139 = "x" in let final dynamic #t140 = super.[](#t139).+(self::getInt()) in let final dynamic #t141 = super.[]=(#t139, #t140) in #t140;
dynamic v8 = let final dynamic #t142 = "x" in let final dynamic #t143 = super.[](#t142).+(self::getNum()) in let final dynamic #t144 = super.[]=(#t142, #t143) in #t143;
dynamic v9 = let final dynamic #t145 = "x" in let final dynamic #t146 = super.[](#t145).+(self::getDouble()) in let final dynamic #t147 = super.[]=(#t145, #t146) in #t146;
@ -102,8 +102,8 @@ abstract class Test6 extends self::Base<core::num, core::double> {
method test() → void {
dynamic v2 = let final dynamic #t154 = "x" in let final dynamic #t155 = self::getNum() in let final dynamic #t156 = super.[]=(#t154, #t155) in #t155;
dynamic v3 = let final dynamic #t157 = "x" in let final dynamic #t158 = self::getDouble() in let final dynamic #t159 = super.[]=(#t157, #t158) in #t158;
dynamic v5 = let final dynamic #t160 = "x" in let final dynamic #t161 = super.[](#t160) in #t161.==(null) ?{dynamic} let final dynamic #t162 = self::getNum() in let final dynamic #t163 = super.[]=(#t160, #t162) in #t162 : #t161;
dynamic v6 = let final dynamic #t164 = "x" in let final dynamic #t165 = super.[](#t164) in #t165.==(null) ?{dynamic} let final dynamic #t166 = self::getDouble() in let final dynamic #t167 = super.[]=(#t164, #t166) in #t166 : #t165;
dynamic v5 = let final dynamic #t160 = "x" in let final dynamic #t161 = super.[](#t160) in #t161.==(null) ? let final dynamic #t162 = self::getNum() in let final dynamic #t163 = super.[]=(#t160, #t162) in #t162 : #t161;
dynamic v6 = let final dynamic #t164 = "x" in let final dynamic #t165 = super.[](#t164) in #t165.==(null) ? let final dynamic #t166 = self::getDouble() in let final dynamic #t167 = super.[]=(#t164, #t166) in #t166 : #t165;
dynamic v7 = let final dynamic #t168 = "x" in let final dynamic #t169 = super.[](#t168).+(self::getInt()) in let final dynamic #t170 = super.[]=(#t168, #t169) in #t169;
dynamic v8 = let final dynamic #t171 = "x" in let final dynamic #t172 = super.[](#t171).+(self::getNum()) in let final dynamic #t173 = super.[]=(#t171, #t172) in #t172;
dynamic v9 = let final dynamic #t174 = "x" in let final dynamic #t175 = super.[](#t174).+(self::getDouble()) in let final dynamic #t176 = super.[]=(#t174, #t175) in #t175;
@ -118,8 +118,8 @@ abstract class Test7 extends self::Base<core::double, core::int> {
method test() → void {
dynamic v1 = let final dynamic #t183 = "x" in let final dynamic #t184 = self::getInt() in let final dynamic #t185 = super.[]=(#t183, #t184) in #t184;
dynamic v2 = let final dynamic #t186 = "x" in let final dynamic #t187 = self::getNum() in let final dynamic #t188 = super.[]=(#t186, #t187) in #t187;
dynamic v4 = let final dynamic #t189 = "x" in let final dynamic #t190 = super.[](#t189) in #t190.==(null) ?{dynamic} let final dynamic #t191 = self::getInt() in let final dynamic #t192 = super.[]=(#t189, #t191) in #t191 : #t190;
dynamic v5 = let final dynamic #t193 = "x" in let final dynamic #t194 = super.[](#t193) in #t194.==(null) ?{dynamic} let final dynamic #t195 = self::getNum() in let final dynamic #t196 = super.[]=(#t193, #t195) in #t195 : #t194;
dynamic v4 = let final dynamic #t189 = "x" in let final dynamic #t190 = super.[](#t189) in #t190.==(null) ? let final dynamic #t191 = self::getInt() in let final dynamic #t192 = super.[]=(#t189, #t191) in #t191 : #t190;
dynamic v5 = let final dynamic #t193 = "x" in let final dynamic #t194 = super.[](#t193) in #t194.==(null) ? let final dynamic #t195 = self::getNum() in let final dynamic #t196 = super.[]=(#t193, #t195) in #t195 : #t194;
dynamic v7 = let final dynamic #t197 = "x" in let final dynamic #t198 = super.[](#t197).+(self::getInt()) in let final dynamic #t199 = super.[]=(#t197, #t198) in #t198;
dynamic v8 = let final dynamic #t200 = "x" in let final dynamic #t201 = super.[](#t200).+(self::getNum()) in let final dynamic #t202 = super.[]=(#t200, #t201) in #t201;
dynamic v10 = let final dynamic #t203 = "x" in let final dynamic #t204 = super.[](#t203).+(1) in let final dynamic #t205 = super.[]=(#t203, #t204) in #t204;
@ -134,9 +134,9 @@ abstract class Test8 extends self::Base<core::double, core::num> {
dynamic v1 = let final dynamic #t209 = "x" in let final dynamic #t210 = self::getInt() in let final dynamic #t211 = super.[]=(#t209, #t210) in #t210;
dynamic v2 = let final dynamic #t212 = "x" in let final dynamic #t213 = self::getNum() in let final dynamic #t214 = super.[]=(#t212, #t213) in #t213;
dynamic v3 = let final dynamic #t215 = "x" in let final dynamic #t216 = self::getDouble() in let final dynamic #t217 = super.[]=(#t215, #t216) in #t216;
dynamic v4 = let final dynamic #t218 = "x" in let final dynamic #t219 = super.[](#t218) in #t219.==(null) ?{dynamic} let final dynamic #t220 = self::getInt() in let final dynamic #t221 = super.[]=(#t218, #t220) in #t220 : #t219;
dynamic v5 = let final dynamic #t222 = "x" in let final dynamic #t223 = super.[](#t222) in #t223.==(null) ?{dynamic} let final dynamic #t224 = self::getNum() in let final dynamic #t225 = super.[]=(#t222, #t224) in #t224 : #t223;
dynamic v6 = let final dynamic #t226 = "x" in let final dynamic #t227 = super.[](#t226) in #t227.==(null) ?{dynamic} let final dynamic #t228 = self::getDouble() in let final dynamic #t229 = super.[]=(#t226, #t228) in #t228 : #t227;
dynamic v4 = let final dynamic #t218 = "x" in let final dynamic #t219 = super.[](#t218) in #t219.==(null) ? let final dynamic #t220 = self::getInt() in let final dynamic #t221 = super.[]=(#t218, #t220) in #t220 : #t219;
dynamic v5 = let final dynamic #t222 = "x" in let final dynamic #t223 = super.[](#t222) in #t223.==(null) ? let final dynamic #t224 = self::getNum() in let final dynamic #t225 = super.[]=(#t222, #t224) in #t224 : #t223;
dynamic v6 = let final dynamic #t226 = "x" in let final dynamic #t227 = super.[](#t226) in #t227.==(null) ? let final dynamic #t228 = self::getDouble() in let final dynamic #t229 = super.[]=(#t226, #t228) in #t228 : #t227;
dynamic v7 = let final dynamic #t230 = "x" in let final dynamic #t231 = super.[](#t230).+(self::getInt()) in let final dynamic #t232 = super.[]=(#t230, #t231) in #t231;
dynamic v8 = let final dynamic #t233 = "x" in let final dynamic #t234 = super.[](#t233).+(self::getNum()) in let final dynamic #t235 = super.[]=(#t233, #t234) in #t234;
dynamic v9 = let final dynamic #t236 = "x" in let final dynamic #t237 = super.[](#t236).+(self::getDouble()) in let final dynamic #t238 = super.[]=(#t236, #t237) in #t237;
@ -151,8 +151,8 @@ abstract class Test9 extends self::Base<core::double, core::double> {
method test() → void {
dynamic v2 = let final dynamic #t245 = "x" in let final dynamic #t246 = self::getNum() in let final dynamic #t247 = super.[]=(#t245, #t246) in #t246;
dynamic v3 = let final dynamic #t248 = "x" in let final dynamic #t249 = self::getDouble() in let final dynamic #t250 = super.[]=(#t248, #t249) in #t249;
dynamic v5 = let final dynamic #t251 = "x" in let final dynamic #t252 = super.[](#t251) in #t252.==(null) ?{dynamic} let final dynamic #t253 = self::getNum() in let final dynamic #t254 = super.[]=(#t251, #t253) in #t253 : #t252;
dynamic v6 = let final dynamic #t255 = "x" in let final dynamic #t256 = super.[](#t255) in #t256.==(null) ?{dynamic} let final dynamic #t257 = self::getDouble() in let final dynamic #t258 = super.[]=(#t255, #t257) in #t257 : #t256;
dynamic v5 = let final dynamic #t251 = "x" in let final dynamic #t252 = super.[](#t251) in #t252.==(null) ? let final dynamic #t253 = self::getNum() in let final dynamic #t254 = super.[]=(#t251, #t253) in #t253 : #t252;
dynamic v6 = let final dynamic #t255 = "x" in let final dynamic #t256 = super.[](#t255) in #t256.==(null) ? let final dynamic #t257 = self::getDouble() in let final dynamic #t258 = super.[]=(#t255, #t257) in #t257 : #t256;
dynamic v7 = let final dynamic #t259 = "x" in let final dynamic #t260 = super.[](#t259).+(self::getInt()) in let final dynamic #t261 = super.[]=(#t259, #t260) in #t260;
dynamic v8 = let final dynamic #t262 = "x" in let final dynamic #t263 = super.[](#t262).+(self::getNum()) in let final dynamic #t264 = super.[]=(#t262, #t263) in #t263;
dynamic v9 = let final dynamic #t265 = "x" in let final dynamic #t266 = super.[](#t265).+(self::getDouble()) in let final dynamic #t267 = super.[]=(#t265, #t266) in #t266;

View file

@ -20,8 +20,8 @@ abstract class Test1 extends self::Base<core::int, core::int> {
method test() → void {
core::int v1 = let final dynamic #t1 = "x" in let final dynamic #t2 = self::getInt() in let final dynamic #t3 = super.{self::Base::[]=}(#t1, #t2) in #t2;
core::num v2 = let final dynamic #t4 = "x" in let final dynamic #t5 = self::getNum() in let final dynamic #t6 = super.{self::Base::[]=}(#t4, #t5) in #t5;
core::int v4 = let final dynamic #t7 = "x" in let final dynamic #t8 = super.{self::Base::[]}(#t7) in #t8.{core::num::==}(null) ?{dynamic} let final dynamic #t9 = self::getInt() in let final dynamic #t10 = super.{self::Base::[]=}(#t7, #t9) in #t9 : #t8;
core::num v5 = let final dynamic #t11 = "x" in let final dynamic #t12 = super.{self::Base::[]}(#t11) in #t12.{core::num::==}(null) ?{dynamic} let final dynamic #t13 = self::getNum() in let final dynamic #t14 = super.{self::Base::[]=}(#t11, #t13) in #t13 : #t12;
core::int v4 = let final dynamic #t7 = "x" in let final dynamic #t8 = super.{self::Base::[]}(#t7) in #t8.{core::num::==}(null) ? let final dynamic #t9 = self::getInt() in let final dynamic #t10 = super.{self::Base::[]=}(#t7, #t9) in #t9 : #t8;
core::num v5 = let final dynamic #t11 = "x" in let final dynamic #t12 = super.{self::Base::[]}(#t11) in #t12.{core::num::==}(null) ? let final dynamic #t13 = self::getNum() in let final dynamic #t14 = super.{self::Base::[]=}(#t11, #t13) in #t13 : #t12;
core::int v7 = let final dynamic #t15 = "x" in let final dynamic #t16 = super.{self::Base::[]}(#t15).{core::num::+}(self::getInt()) in let final dynamic #t17 = super.{self::Base::[]=}(#t15, #t16) in #t16;
core::num v8 = let final dynamic #t18 = "x" in let final dynamic #t19 = super.{self::Base::[]}(#t18).{core::num::+}(self::getNum()) in let final dynamic #t20 = super.{self::Base::[]=}(#t18, #t19) in #t19;
core::int v10 = let final dynamic #t21 = "x" in let final dynamic #t22 = super.{self::Base::[]}(#t21).{core::num::+}(1) in let final dynamic #t23 = super.{self::Base::[]=}(#t21, #t22) in #t22;
@ -36,9 +36,9 @@ abstract class Test2 extends self::Base<core::int, core::num> {
core::int v1 = let final dynamic #t27 = "x" in let final dynamic #t28 = self::getInt() in let final dynamic #t29 = super.{self::Base::[]=}(#t27, #t28) in #t28;
core::num v2 = let final dynamic #t30 = "x" in let final dynamic #t31 = self::getNum() in let final dynamic #t32 = super.{self::Base::[]=}(#t30, #t31) in #t31;
core::double v3 = let final dynamic #t33 = "x" in let final dynamic #t34 = self::getDouble() in let final dynamic #t35 = super.{self::Base::[]=}(#t33, #t34) in #t34;
core::num v4 = let final dynamic #t36 = "x" in let final dynamic #t37 = super.{self::Base::[]}(#t36) in #t37.{core::num::==}(null) ?{dynamic} let final dynamic #t38 = self::getInt() in let final dynamic #t39 = super.{self::Base::[]=}(#t36, #t38) in #t38 : #t37;
core::num v5 = let final dynamic #t40 = "x" in let final dynamic #t41 = super.{self::Base::[]}(#t40) in #t41.{core::num::==}(null) ?{dynamic} let final dynamic #t42 = self::getNum() in let final dynamic #t43 = super.{self::Base::[]=}(#t40, #t42) in #t42 : #t41;
core::num v6 = let final dynamic #t44 = "x" in let final dynamic #t45 = super.{self::Base::[]}(#t44) in #t45.{core::num::==}(null) ?{dynamic} let final dynamic #t46 = self::getDouble() in let final dynamic #t47 = super.{self::Base::[]=}(#t44, #t46) in #t46 : #t45;
core::num v4 = let final dynamic #t36 = "x" in let final dynamic #t37 = super.{self::Base::[]}(#t36) in #t37.{core::num::==}(null) ? let final dynamic #t38 = self::getInt() in let final dynamic #t39 = super.{self::Base::[]=}(#t36, #t38) in #t38 : #t37;
core::num v5 = let final dynamic #t40 = "x" in let final dynamic #t41 = super.{self::Base::[]}(#t40) in #t41.{core::num::==}(null) ? let final dynamic #t42 = self::getNum() in let final dynamic #t43 = super.{self::Base::[]=}(#t40, #t42) in #t42 : #t41;
core::num v6 = let final dynamic #t44 = "x" in let final dynamic #t45 = super.{self::Base::[]}(#t44) in #t45.{core::num::==}(null) ? let final dynamic #t46 = self::getDouble() in let final dynamic #t47 = super.{self::Base::[]=}(#t44, #t46) in #t46 : #t45;
core::num v7 = let final dynamic #t48 = "x" in let final dynamic #t49 = super.{self::Base::[]}(#t48).{core::num::+}(self::getInt()) in let final dynamic #t50 = super.{self::Base::[]=}(#t48, #t49) in #t49;
core::num v8 = let final dynamic #t51 = "x" in let final dynamic #t52 = super.{self::Base::[]}(#t51).{core::num::+}(self::getNum()) in let final dynamic #t53 = super.{self::Base::[]=}(#t51, #t52) in #t52;
core::num v9 = let final dynamic #t54 = "x" in let final dynamic #t55 = super.{self::Base::[]}(#t54).{core::num::+}(self::getDouble()) in let final dynamic #t56 = super.{self::Base::[]=}(#t54, #t55) in #t55;
@ -53,8 +53,8 @@ abstract class Test3 extends self::Base<core::int, core::double> {
method test() → void {
core::num v2 = let final dynamic #t63 = "x" in let final dynamic #t64 = self::getNum() in let final dynamic #t65 = super.{self::Base::[]=}(#t63, #t64) in #t64;
core::double v3 = let final dynamic #t66 = "x" in let final dynamic #t67 = self::getDouble() in let final dynamic #t68 = super.{self::Base::[]=}(#t66, #t67) in #t67;
core::num v5 = let final dynamic #t69 = "x" in let final dynamic #t70 = super.{self::Base::[]}(#t69) in #t70.{core::num::==}(null) ?{dynamic} let final dynamic #t71 = self::getNum() in let final dynamic #t72 = super.{self::Base::[]=}(#t69, #t71) in #t71 : #t70;
core::double v6 = let final dynamic #t73 = "x" in let final dynamic #t74 = super.{self::Base::[]}(#t73) in #t74.{core::num::==}(null) ?{dynamic} let final dynamic #t75 = self::getDouble() in let final dynamic #t76 = super.{self::Base::[]=}(#t73, #t75) in #t75 : #t74;
core::num v5 = let final dynamic #t69 = "x" in let final dynamic #t70 = super.{self::Base::[]}(#t69) in #t70.{core::num::==}(null) ? let final dynamic #t71 = self::getNum() in let final dynamic #t72 = super.{self::Base::[]=}(#t69, #t71) in #t71 : #t70;
core::double v6 = let final dynamic #t73 = "x" in let final dynamic #t74 = super.{self::Base::[]}(#t73) in #t74.{core::num::==}(null) ? let final dynamic #t75 = self::getDouble() in let final dynamic #t76 = super.{self::Base::[]=}(#t73, #t75) in #t75 : #t74;
core::double v7 = let final dynamic #t77 = "x" in let final dynamic #t78 = super.{self::Base::[]}(#t77).{core::double::+}(self::getInt()) in let final dynamic #t79 = super.{self::Base::[]=}(#t77, #t78) in #t78;
core::double v8 = let final dynamic #t80 = "x" in let final dynamic #t81 = super.{self::Base::[]}(#t80).{core::double::+}(self::getNum()) in let final dynamic #t82 = super.{self::Base::[]=}(#t80, #t81) in #t81;
core::double v9 = let final dynamic #t83 = "x" in let final dynamic #t84 = super.{self::Base::[]}(#t83).{core::double::+}(self::getDouble()) in let final dynamic #t85 = super.{self::Base::[]=}(#t83, #t84) in #t84;
@ -69,8 +69,8 @@ abstract class Test4 extends self::Base<core::num, core::int> {
method test() → void {
core::int v1 = let final dynamic #t92 = "x" in let final dynamic #t93 = self::getInt() in let final dynamic #t94 = super.{self::Base::[]=}(#t92, #t93) in #t93;
core::num v2 = let final dynamic #t95 = "x" in let final dynamic #t96 = self::getNum() in let final dynamic #t97 = super.{self::Base::[]=}(#t95, #t96) in #t96;
core::int v4 = let final dynamic #t98 = "x" in let final dynamic #t99 = super.{self::Base::[]}(#t98) in #t99.{core::num::==}(null) ?{dynamic} let final dynamic #t100 = self::getInt() in let final dynamic #t101 = super.{self::Base::[]=}(#t98, #t100) in #t100 : #t99;
core::num v5 = let final dynamic #t102 = "x" in let final dynamic #t103 = super.{self::Base::[]}(#t102) in #t103.{core::num::==}(null) ?{dynamic} let final dynamic #t104 = self::getNum() in let final dynamic #t105 = super.{self::Base::[]=}(#t102, #t104) in #t104 : #t103;
core::int v4 = let final dynamic #t98 = "x" in let final dynamic #t99 = super.{self::Base::[]}(#t98) in #t99.{core::num::==}(null) ? let final dynamic #t100 = self::getInt() in let final dynamic #t101 = super.{self::Base::[]=}(#t98, #t100) in #t100 : #t99;
core::num v5 = let final dynamic #t102 = "x" in let final dynamic #t103 = super.{self::Base::[]}(#t102) in #t103.{core::num::==}(null) ? let final dynamic #t104 = self::getNum() in let final dynamic #t105 = super.{self::Base::[]=}(#t102, #t104) in #t104 : #t103;
core::int v7 = let final dynamic #t106 = "x" in let final dynamic #t107 = super.{self::Base::[]}(#t106).{core::num::+}(self::getInt()) in let final dynamic #t108 = super.{self::Base::[]=}(#t106, #t107) in #t107;
core::num v8 = let final dynamic #t109 = "x" in let final dynamic #t110 = super.{self::Base::[]}(#t109).{core::num::+}(self::getNum()) in let final dynamic #t111 = super.{self::Base::[]=}(#t109, #t110) in #t110;
core::int v10 = let final dynamic #t112 = "x" in let final dynamic #t113 = super.{self::Base::[]}(#t112).{core::num::+}(1) in let final dynamic #t114 = super.{self::Base::[]=}(#t112, #t113) in #t113;
@ -85,9 +85,9 @@ abstract class Test5 extends self::Base<core::num, core::num> {
core::int v1 = let final dynamic #t118 = "x" in let final dynamic #t119 = self::getInt() in let final dynamic #t120 = super.{self::Base::[]=}(#t118, #t119) in #t119;
core::num v2 = let final dynamic #t121 = "x" in let final dynamic #t122 = self::getNum() in let final dynamic #t123 = super.{self::Base::[]=}(#t121, #t122) in #t122;
core::double v3 = let final dynamic #t124 = "x" in let final dynamic #t125 = self::getDouble() in let final dynamic #t126 = super.{self::Base::[]=}(#t124, #t125) in #t125;
core::num v4 = let final dynamic #t127 = "x" in let final dynamic #t128 = super.{self::Base::[]}(#t127) in #t128.{core::num::==}(null) ?{dynamic} let final dynamic #t129 = self::getInt() in let final dynamic #t130 = super.{self::Base::[]=}(#t127, #t129) in #t129 : #t128;
core::num v5 = let final dynamic #t131 = "x" in let final dynamic #t132 = super.{self::Base::[]}(#t131) in #t132.{core::num::==}(null) ?{dynamic} let final dynamic #t133 = self::getNum() in let final dynamic #t134 = super.{self::Base::[]=}(#t131, #t133) in #t133 : #t132;
core::num v6 = let final dynamic #t135 = "x" in let final dynamic #t136 = super.{self::Base::[]}(#t135) in #t136.{core::num::==}(null) ?{dynamic} let final dynamic #t137 = self::getDouble() in let final dynamic #t138 = super.{self::Base::[]=}(#t135, #t137) in #t137 : #t136;
core::num v4 = let final dynamic #t127 = "x" in let final dynamic #t128 = super.{self::Base::[]}(#t127) in #t128.{core::num::==}(null) ? let final dynamic #t129 = self::getInt() in let final dynamic #t130 = super.{self::Base::[]=}(#t127, #t129) in #t129 : #t128;
core::num v5 = let final dynamic #t131 = "x" in let final dynamic #t132 = super.{self::Base::[]}(#t131) in #t132.{core::num::==}(null) ? let final dynamic #t133 = self::getNum() in let final dynamic #t134 = super.{self::Base::[]=}(#t131, #t133) in #t133 : #t132;
core::num v6 = let final dynamic #t135 = "x" in let final dynamic #t136 = super.{self::Base::[]}(#t135) in #t136.{core::num::==}(null) ? let final dynamic #t137 = self::getDouble() in let final dynamic #t138 = super.{self::Base::[]=}(#t135, #t137) in #t137 : #t136;
core::num v7 = let final dynamic #t139 = "x" in let final dynamic #t140 = super.{self::Base::[]}(#t139).{core::num::+}(self::getInt()) in let final dynamic #t141 = super.{self::Base::[]=}(#t139, #t140) in #t140;
core::num v8 = let final dynamic #t142 = "x" in let final dynamic #t143 = super.{self::Base::[]}(#t142).{core::num::+}(self::getNum()) in let final dynamic #t144 = super.{self::Base::[]=}(#t142, #t143) in #t143;
core::num v9 = let final dynamic #t145 = "x" in let final dynamic #t146 = super.{self::Base::[]}(#t145).{core::num::+}(self::getDouble()) in let final dynamic #t147 = super.{self::Base::[]=}(#t145, #t146) in #t146;
@ -102,8 +102,8 @@ abstract class Test6 extends self::Base<core::num, core::double> {
method test() → void {
core::num v2 = let final dynamic #t154 = "x" in let final dynamic #t155 = self::getNum() in let final dynamic #t156 = super.{self::Base::[]=}(#t154, #t155) in #t155;
core::double v3 = let final dynamic #t157 = "x" in let final dynamic #t158 = self::getDouble() in let final dynamic #t159 = super.{self::Base::[]=}(#t157, #t158) in #t158;
core::num v5 = let final dynamic #t160 = "x" in let final dynamic #t161 = super.{self::Base::[]}(#t160) in #t161.{core::num::==}(null) ?{dynamic} let final dynamic #t162 = self::getNum() in let final dynamic #t163 = super.{self::Base::[]=}(#t160, #t162) in #t162 : #t161;
core::double v6 = let final dynamic #t164 = "x" in let final dynamic #t165 = super.{self::Base::[]}(#t164) in #t165.{core::num::==}(null) ?{dynamic} let final dynamic #t166 = self::getDouble() in let final dynamic #t167 = super.{self::Base::[]=}(#t164, #t166) in #t166 : #t165;
core::num v5 = let final dynamic #t160 = "x" in let final dynamic #t161 = super.{self::Base::[]}(#t160) in #t161.{core::num::==}(null) ? let final dynamic #t162 = self::getNum() in let final dynamic #t163 = super.{self::Base::[]=}(#t160, #t162) in #t162 : #t161;
core::double v6 = let final dynamic #t164 = "x" in let final dynamic #t165 = super.{self::Base::[]}(#t164) in #t165.{core::num::==}(null) ? let final dynamic #t166 = self::getDouble() in let final dynamic #t167 = super.{self::Base::[]=}(#t164, #t166) in #t166 : #t165;
core::double v7 = let final dynamic #t168 = "x" in let final dynamic #t169 = super.{self::Base::[]}(#t168).{core::double::+}(self::getInt()) in let final dynamic #t170 = super.{self::Base::[]=}(#t168, #t169) in #t169;
core::double v8 = let final dynamic #t171 = "x" in let final dynamic #t172 = super.{self::Base::[]}(#t171).{core::double::+}(self::getNum()) in let final dynamic #t173 = super.{self::Base::[]=}(#t171, #t172) in #t172;
core::double v9 = let final dynamic #t174 = "x" in let final dynamic #t175 = super.{self::Base::[]}(#t174).{core::double::+}(self::getDouble()) in let final dynamic #t176 = super.{self::Base::[]=}(#t174, #t175) in #t175;
@ -118,8 +118,8 @@ abstract class Test7 extends self::Base<core::double, core::int> {
method test() → void {
core::int v1 = let final dynamic #t183 = "x" in let final dynamic #t184 = self::getInt() in let final dynamic #t185 = super.{self::Base::[]=}(#t183, #t184) in #t184;
core::num v2 = let final dynamic #t186 = "x" in let final dynamic #t187 = self::getNum() in let final dynamic #t188 = super.{self::Base::[]=}(#t186, #t187) in #t187;
core::int v4 = let final dynamic #t189 = "x" in let final dynamic #t190 = super.{self::Base::[]}(#t189) in #t190.{core::num::==}(null) ?{dynamic} let final dynamic #t191 = self::getInt() in let final dynamic #t192 = super.{self::Base::[]=}(#t189, #t191) in #t191 : #t190;
core::num v5 = let final dynamic #t193 = "x" in let final dynamic #t194 = super.{self::Base::[]}(#t193) in #t194.{core::num::==}(null) ?{dynamic} let final dynamic #t195 = self::getNum() in let final dynamic #t196 = super.{self::Base::[]=}(#t193, #t195) in #t195 : #t194;
core::int v4 = let final dynamic #t189 = "x" in let final dynamic #t190 = super.{self::Base::[]}(#t189) in #t190.{core::num::==}(null) ? let final dynamic #t191 = self::getInt() in let final dynamic #t192 = super.{self::Base::[]=}(#t189, #t191) in #t191 : #t190;
core::num v5 = let final dynamic #t193 = "x" in let final dynamic #t194 = super.{self::Base::[]}(#t193) in #t194.{core::num::==}(null) ? let final dynamic #t195 = self::getNum() in let final dynamic #t196 = super.{self::Base::[]=}(#t193, #t195) in #t195 : #t194;
core::int v7 = let final dynamic #t197 = "x" in let final dynamic #t198 = super.{self::Base::[]}(#t197).{core::num::+}(self::getInt()) in let final dynamic #t199 = super.{self::Base::[]=}(#t197, #t198) in #t198;
core::num v8 = let final dynamic #t200 = "x" in let final dynamic #t201 = super.{self::Base::[]}(#t200).{core::num::+}(self::getNum()) in let final dynamic #t202 = super.{self::Base::[]=}(#t200, #t201) in #t201;
core::int v10 = let final dynamic #t203 = "x" in let final dynamic #t204 = super.{self::Base::[]}(#t203).{core::num::+}(1) in let final dynamic #t205 = super.{self::Base::[]=}(#t203, #t204) in #t204;
@ -134,9 +134,9 @@ abstract class Test8 extends self::Base<core::double, core::num> {
core::int v1 = let final dynamic #t209 = "x" in let final dynamic #t210 = self::getInt() in let final dynamic #t211 = super.{self::Base::[]=}(#t209, #t210) in #t210;
core::num v2 = let final dynamic #t212 = "x" in let final dynamic #t213 = self::getNum() in let final dynamic #t214 = super.{self::Base::[]=}(#t212, #t213) in #t213;
core::double v3 = let final dynamic #t215 = "x" in let final dynamic #t216 = self::getDouble() in let final dynamic #t217 = super.{self::Base::[]=}(#t215, #t216) in #t216;
core::num v4 = let final dynamic #t218 = "x" in let final dynamic #t219 = super.{self::Base::[]}(#t218) in #t219.{core::num::==}(null) ?{dynamic} let final dynamic #t220 = self::getInt() in let final dynamic #t221 = super.{self::Base::[]=}(#t218, #t220) in #t220 : #t219;
core::num v5 = let final dynamic #t222 = "x" in let final dynamic #t223 = super.{self::Base::[]}(#t222) in #t223.{core::num::==}(null) ?{dynamic} let final dynamic #t224 = self::getNum() in let final dynamic #t225 = super.{self::Base::[]=}(#t222, #t224) in #t224 : #t223;
core::num v6 = let final dynamic #t226 = "x" in let final dynamic #t227 = super.{self::Base::[]}(#t226) in #t227.{core::num::==}(null) ?{dynamic} let final dynamic #t228 = self::getDouble() in let final dynamic #t229 = super.{self::Base::[]=}(#t226, #t228) in #t228 : #t227;
core::num v4 = let final dynamic #t218 = "x" in let final dynamic #t219 = super.{self::Base::[]}(#t218) in #t219.{core::num::==}(null) ? let final dynamic #t220 = self::getInt() in let final dynamic #t221 = super.{self::Base::[]=}(#t218, #t220) in #t220 : #t219;
core::num v5 = let final dynamic #t222 = "x" in let final dynamic #t223 = super.{self::Base::[]}(#t222) in #t223.{core::num::==}(null) ? let final dynamic #t224 = self::getNum() in let final dynamic #t225 = super.{self::Base::[]=}(#t222, #t224) in #t224 : #t223;
core::num v6 = let final dynamic #t226 = "x" in let final dynamic #t227 = super.{self::Base::[]}(#t226) in #t227.{core::num::==}(null) ? let final dynamic #t228 = self::getDouble() in let final dynamic #t229 = super.{self::Base::[]=}(#t226, #t228) in #t228 : #t227;
core::num v7 = let final dynamic #t230 = "x" in let final dynamic #t231 = super.{self::Base::[]}(#t230).{core::num::+}(self::getInt()) in let final dynamic #t232 = super.{self::Base::[]=}(#t230, #t231) in #t231;
core::num v8 = let final dynamic #t233 = "x" in let final dynamic #t234 = super.{self::Base::[]}(#t233).{core::num::+}(self::getNum()) in let final dynamic #t235 = super.{self::Base::[]=}(#t233, #t234) in #t234;
core::num v9 = let final dynamic #t236 = "x" in let final dynamic #t237 = super.{self::Base::[]}(#t236).{core::num::+}(self::getDouble()) in let final dynamic #t238 = super.{self::Base::[]=}(#t236, #t237) in #t237;
@ -151,8 +151,8 @@ abstract class Test9 extends self::Base<core::double, core::double> {
method test() → void {
core::num v2 = let final dynamic #t245 = "x" in let final dynamic #t246 = self::getNum() in let final dynamic #t247 = super.{self::Base::[]=}(#t245, #t246) in #t246;
core::double v3 = let final dynamic #t248 = "x" in let final dynamic #t249 = self::getDouble() in let final dynamic #t250 = super.{self::Base::[]=}(#t248, #t249) in #t249;
core::num v5 = let final dynamic #t251 = "x" in let final dynamic #t252 = super.{self::Base::[]}(#t251) in #t252.{core::num::==}(null) ?{dynamic} let final dynamic #t253 = self::getNum() in let final dynamic #t254 = super.{self::Base::[]=}(#t251, #t253) in #t253 : #t252;
core::double v6 = let final dynamic #t255 = "x" in let final dynamic #t256 = super.{self::Base::[]}(#t255) in #t256.{core::num::==}(null) ?{dynamic} let final dynamic #t257 = self::getDouble() in let final dynamic #t258 = super.{self::Base::[]=}(#t255, #t257) in #t257 : #t256;
core::num v5 = let final dynamic #t251 = "x" in let final dynamic #t252 = super.{self::Base::[]}(#t251) in #t252.{core::num::==}(null) ? let final dynamic #t253 = self::getNum() in let final dynamic #t254 = super.{self::Base::[]=}(#t251, #t253) in #t253 : #t252;
core::double v6 = let final dynamic #t255 = "x" in let final dynamic #t256 = super.{self::Base::[]}(#t255) in #t256.{core::num::==}(null) ? let final dynamic #t257 = self::getDouble() in let final dynamic #t258 = super.{self::Base::[]=}(#t255, #t257) in #t257 : #t256;
core::double v7 = let final dynamic #t259 = "x" in let final dynamic #t260 = super.{self::Base::[]}(#t259).{core::double::+}(self::getInt()) in let final dynamic #t261 = super.{self::Base::[]=}(#t259, #t260) in #t260;
core::double v8 = let final dynamic #t262 = "x" in let final dynamic #t263 = super.{self::Base::[]}(#t262).{core::double::+}(self::getNum()) in let final dynamic #t264 = super.{self::Base::[]=}(#t262, #t263) in #t263;
core::double v9 = let final dynamic #t265 = "x" in let final dynamic #t266 = super.{self::Base::[]}(#t265).{core::double::+}(self::getDouble()) in let final dynamic #t267 = super.{self::Base::[]=}(#t265, #t266) in #t266;

View file

@ -39,14 +39,14 @@ class Test extends core::Object {
operator []=(self::Index i, self::B v) → void {}
method test() → void {
this.[]=(self::f<dynamic>(), self::f<dynamic>());
let final dynamic #t1 = self::f<dynamic>() in this.[](#t1).==(null) ?{dynamic} let final dynamic #t2 = self::f<dynamic>() in let final dynamic #t3 = this.[]=(#t1, #t2) in #t2 : null;
let final dynamic #t1 = self::f<dynamic>() in this.[](#t1).==(null) ? let final dynamic #t2 = self::f<dynamic>() in let final dynamic #t3 = this.[]=(#t1, #t2) in #t2 : null;
let final dynamic #t4 = self::f<dynamic>() in this.[]=(#t4, this.[](#t4).+(self::f<dynamic>()));
let final dynamic #t5 = self::f<dynamic>() in this.[]=(#t5, this.[](#t5).*(self::f<dynamic>()));
let final dynamic #t6 = self::f<dynamic>() in this.[]=(#t6, this.[](#t6).&(self::f<dynamic>()));
let final dynamic #t7 = self::f<dynamic>() in let final dynamic #t8 = this.[](#t7).-(1) in let final dynamic #t9 = this.[]=(#t7, #t8) in #t8;
let final dynamic #t10 = self::f<dynamic>() in this.[]=(#t10, this.[](#t10).-(1));
dynamic v1 = let final dynamic #t11 = self::f<dynamic>() in let final dynamic #t12 = self::f<dynamic>() in let final dynamic #t13 = this.[]=(#t11, #t12) in #t12;
dynamic v2 = let final dynamic #t14 = self::f<dynamic>() in let final dynamic #t15 = this.[](#t14) in #t15.==(null) ?{dynamic} let final dynamic #t16 = self::f<dynamic>() in let final dynamic #t17 = this.[]=(#t14, #t16) in #t16 : #t15;
dynamic v2 = let final dynamic #t14 = self::f<dynamic>() in let final dynamic #t15 = this.[](#t14) in #t15.==(null) ? let final dynamic #t16 = self::f<dynamic>() in let final dynamic #t17 = this.[]=(#t14, #t16) in #t16 : #t15;
dynamic v3 = let final dynamic #t18 = self::f<dynamic>() in let final dynamic #t19 = this.[](#t18).+(self::f<dynamic>()) in let final dynamic #t20 = this.[]=(#t18, #t19) in #t19;
dynamic v4 = let final dynamic #t21 = self::f<dynamic>() in let final dynamic #t22 = this.[](#t21).*(self::f<dynamic>()) in let final dynamic #t23 = this.[]=(#t21, #t22) in #t22;
dynamic v5 = let final dynamic #t24 = self::f<dynamic>() in let final dynamic #t25 = this.[](#t24).&(self::f<dynamic>()) in let final dynamic #t26 = this.[]=(#t24, #t25) in #t25;

View file

@ -39,14 +39,14 @@ class Test extends core::Object {
operator []=(self::Index i, self::B v) → void {}
method test() → void {
this.{self::Test::[]=}(self::f<dynamic>(), self::f<self::B>());
let final dynamic #t1 = self::f<dynamic>() in this.{self::Test::[]}(#t1).{core::Object::==}(null) ?{dynamic} let final dynamic #t2 = self::f<self::B>() in let final dynamic #t3 = this.{self::Test::[]=}(#t1, #t2) in #t2 : null;
let final dynamic #t1 = self::f<dynamic>() in this.{self::Test::[]}(#t1).{core::Object::==}(null) ? let final dynamic #t2 = self::f<self::B>() in let final dynamic #t3 = this.{self::Test::[]=}(#t1, #t2) in #t2 : null;
let final dynamic #t4 = self::f<dynamic>() in this.{self::Test::[]=}(#t4, this.{self::Test::[]}(#t4).{self::B::+}(self::f<dynamic>()));
let final dynamic #t5 = self::f<dynamic>() in this.{self::Test::[]=}(#t5, this.{self::Test::[]}(#t5).{self::B::*}(self::f<dynamic>()));
let final dynamic #t6 = self::f<dynamic>() in this.{self::Test::[]=}(#t6, this.{self::Test::[]}(#t6).{self::B::&}(self::f<dynamic>()));
let final dynamic #t7 = self::f<dynamic>() in let final dynamic #t8 = this.{self::Test::[]}(#t7).{self::B::-}(1) in let final dynamic #t9 = this.{self::Test::[]=}(#t7, #t8) in #t8;
let final dynamic #t10 = self::f<dynamic>() in this.{self::Test::[]=}(#t10, this.{self::Test::[]}(#t10).{self::B::-}(1));
self::B v1 = let final dynamic #t11 = self::f<dynamic>() in let final dynamic #t12 = self::f<self::B>() in let final dynamic #t13 = this.{self::Test::[]=}(#t11, #t12) in #t12;
self::B v2 = let final dynamic #t14 = self::f<dynamic>() in let final dynamic #t15 = this.{self::Test::[]}(#t14) in #t15.{core::Object::==}(null) ?{dynamic} let final dynamic #t16 = self::f<self::B>() in let final dynamic #t17 = this.{self::Test::[]=}(#t14, #t16) in #t16 : #t15;
self::B v2 = let final dynamic #t14 = self::f<dynamic>() in let final dynamic #t15 = this.{self::Test::[]}(#t14) in #t15.{core::Object::==}(null) ? let final dynamic #t16 = self::f<self::B>() in let final dynamic #t17 = this.{self::Test::[]=}(#t14, #t16) in #t16 : #t15;
self::A v3 = let final dynamic #t18 = self::f<dynamic>() in let final dynamic #t19 = this.{self::Test::[]}(#t18).{self::B::+}(self::f<dynamic>()) in let final dynamic #t20 = this.{self::Test::[]=}(#t18, #t19) in #t19;
self::B v4 = let final dynamic #t21 = self::f<dynamic>() in let final dynamic #t22 = this.{self::Test::[]}(#t21).{self::B::*}(self::f<dynamic>()) in let final dynamic #t23 = this.{self::Test::[]=}(#t21, #t22) in #t22;
self::C v5 = let final dynamic #t24 = self::f<dynamic>() in let final dynamic #t25 = this.{self::Test::[]}(#t24).{self::B::&}(self::f<dynamic>()) in let final dynamic #t26 = this.{self::Test::[]=}(#t24, #t25) in #t25;

View file

@ -11,8 +11,8 @@ abstract class Test1 extends core::Object {
method test() → void {
dynamic v1 = let final dynamic #t1 = "x" in let final dynamic #t2 = self::getInt() in let final dynamic #t3 = this.[]=(#t1, #t2) in #t2;
dynamic v2 = let final dynamic #t4 = "x" in let final dynamic #t5 = self::getNum() in let final dynamic #t6 = this.[]=(#t4, #t5) in #t5;
dynamic v4 = let final dynamic #t7 = "x" in let final dynamic #t8 = this.[](#t7) in #t8.==(null) ?{dynamic} let final dynamic #t9 = self::getInt() in let final dynamic #t10 = this.[]=(#t7, #t9) in #t9 : #t8;
dynamic v5 = let final dynamic #t11 = "x" in let final dynamic #t12 = this.[](#t11) in #t12.==(null) ?{dynamic} let final dynamic #t13 = self::getNum() in let final dynamic #t14 = this.[]=(#t11, #t13) in #t13 : #t12;
dynamic v4 = let final dynamic #t7 = "x" in let final dynamic #t8 = this.[](#t7) in #t8.==(null) ? let final dynamic #t9 = self::getInt() in let final dynamic #t10 = this.[]=(#t7, #t9) in #t9 : #t8;
dynamic v5 = let final dynamic #t11 = "x" in let final dynamic #t12 = this.[](#t11) in #t12.==(null) ? let final dynamic #t13 = self::getNum() in let final dynamic #t14 = this.[]=(#t11, #t13) in #t13 : #t12;
dynamic v7 = let final dynamic #t15 = "x" in let final dynamic #t16 = this.[](#t15).+(self::getInt()) in let final dynamic #t17 = this.[]=(#t15, #t16) in #t16;
dynamic v8 = let final dynamic #t18 = "x" in let final dynamic #t19 = this.[](#t18).+(self::getNum()) in let final dynamic #t20 = this.[]=(#t18, #t19) in #t19;
dynamic v10 = let final dynamic #t21 = "x" in let final dynamic #t22 = this.[](#t21).+(1) in let final dynamic #t23 = this.[]=(#t21, #t22) in #t22;
@ -29,9 +29,9 @@ abstract class Test2 extends core::Object {
dynamic v1 = let final dynamic #t27 = "x" in let final dynamic #t28 = self::getInt() in let final dynamic #t29 = this.[]=(#t27, #t28) in #t28;
dynamic v2 = let final dynamic #t30 = "x" in let final dynamic #t31 = self::getNum() in let final dynamic #t32 = this.[]=(#t30, #t31) in #t31;
dynamic v3 = let final dynamic #t33 = "x" in let final dynamic #t34 = self::getDouble() in let final dynamic #t35 = this.[]=(#t33, #t34) in #t34;
dynamic v4 = let final dynamic #t36 = "x" in let final dynamic #t37 = this.[](#t36) in #t37.==(null) ?{dynamic} let final dynamic #t38 = self::getInt() in let final dynamic #t39 = this.[]=(#t36, #t38) in #t38 : #t37;
dynamic v5 = let final dynamic #t40 = "x" in let final dynamic #t41 = this.[](#t40) in #t41.==(null) ?{dynamic} let final dynamic #t42 = self::getNum() in let final dynamic #t43 = this.[]=(#t40, #t42) in #t42 : #t41;
dynamic v6 = let final dynamic #t44 = "x" in let final dynamic #t45 = this.[](#t44) in #t45.==(null) ?{dynamic} let final dynamic #t46 = self::getDouble() in let final dynamic #t47 = this.[]=(#t44, #t46) in #t46 : #t45;
dynamic v4 = let final dynamic #t36 = "x" in let final dynamic #t37 = this.[](#t36) in #t37.==(null) ? let final dynamic #t38 = self::getInt() in let final dynamic #t39 = this.[]=(#t36, #t38) in #t38 : #t37;
dynamic v5 = let final dynamic #t40 = "x" in let final dynamic #t41 = this.[](#t40) in #t41.==(null) ? let final dynamic #t42 = self::getNum() in let final dynamic #t43 = this.[]=(#t40, #t42) in #t42 : #t41;
dynamic v6 = let final dynamic #t44 = "x" in let final dynamic #t45 = this.[](#t44) in #t45.==(null) ? let final dynamic #t46 = self::getDouble() in let final dynamic #t47 = this.[]=(#t44, #t46) in #t46 : #t45;
dynamic v7 = let final dynamic #t48 = "x" in let final dynamic #t49 = this.[](#t48).+(self::getInt()) in let final dynamic #t50 = this.[]=(#t48, #t49) in #t49;
dynamic v8 = let final dynamic #t51 = "x" in let final dynamic #t52 = this.[](#t51).+(self::getNum()) in let final dynamic #t53 = this.[]=(#t51, #t52) in #t52;
dynamic v9 = let final dynamic #t54 = "x" in let final dynamic #t55 = this.[](#t54).+(self::getDouble()) in let final dynamic #t56 = this.[]=(#t54, #t55) in #t55;
@ -48,8 +48,8 @@ abstract class Test3 extends core::Object {
method test() → void {
dynamic v2 = let final dynamic #t63 = "x" in let final dynamic #t64 = self::getNum() in let final dynamic #t65 = this.[]=(#t63, #t64) in #t64;
dynamic v3 = let final dynamic #t66 = "x" in let final dynamic #t67 = self::getDouble() in let final dynamic #t68 = this.[]=(#t66, #t67) in #t67;
dynamic v5 = let final dynamic #t69 = "x" in let final dynamic #t70 = this.[](#t69) in #t70.==(null) ?{dynamic} let final dynamic #t71 = self::getNum() in let final dynamic #t72 = this.[]=(#t69, #t71) in #t71 : #t70;
dynamic v6 = let final dynamic #t73 = "x" in let final dynamic #t74 = this.[](#t73) in #t74.==(null) ?{dynamic} let final dynamic #t75 = self::getDouble() in let final dynamic #t76 = this.[]=(#t73, #t75) in #t75 : #t74;
dynamic v5 = let final dynamic #t69 = "x" in let final dynamic #t70 = this.[](#t69) in #t70.==(null) ? let final dynamic #t71 = self::getNum() in let final dynamic #t72 = this.[]=(#t69, #t71) in #t71 : #t70;
dynamic v6 = let final dynamic #t73 = "x" in let final dynamic #t74 = this.[](#t73) in #t74.==(null) ? let final dynamic #t75 = self::getDouble() in let final dynamic #t76 = this.[]=(#t73, #t75) in #t75 : #t74;
dynamic v7 = let final dynamic #t77 = "x" in let final dynamic #t78 = this.[](#t77).+(self::getInt()) in let final dynamic #t79 = this.[]=(#t77, #t78) in #t78;
dynamic v8 = let final dynamic #t80 = "x" in let final dynamic #t81 = this.[](#t80).+(self::getNum()) in let final dynamic #t82 = this.[]=(#t80, #t81) in #t81;
dynamic v9 = let final dynamic #t83 = "x" in let final dynamic #t84 = this.[](#t83).+(self::getDouble()) in let final dynamic #t85 = this.[]=(#t83, #t84) in #t84;
@ -66,8 +66,8 @@ abstract class Test4 extends core::Object {
method test() → void {
dynamic v1 = let final dynamic #t92 = "x" in let final dynamic #t93 = self::getInt() in let final dynamic #t94 = this.[]=(#t92, #t93) in #t93;
dynamic v2 = let final dynamic #t95 = "x" in let final dynamic #t96 = self::getNum() in let final dynamic #t97 = this.[]=(#t95, #t96) in #t96;
dynamic v4 = let final dynamic #t98 = "x" in let final dynamic #t99 = this.[](#t98) in #t99.==(null) ?{dynamic} let final dynamic #t100 = self::getInt() in let final dynamic #t101 = this.[]=(#t98, #t100) in #t100 : #t99;
dynamic v5 = let final dynamic #t102 = "x" in let final dynamic #t103 = this.[](#t102) in #t103.==(null) ?{dynamic} let final dynamic #t104 = self::getNum() in let final dynamic #t105 = this.[]=(#t102, #t104) in #t104 : #t103;
dynamic v4 = let final dynamic #t98 = "x" in let final dynamic #t99 = this.[](#t98) in #t99.==(null) ? let final dynamic #t100 = self::getInt() in let final dynamic #t101 = this.[]=(#t98, #t100) in #t100 : #t99;
dynamic v5 = let final dynamic #t102 = "x" in let final dynamic #t103 = this.[](#t102) in #t103.==(null) ? let final dynamic #t104 = self::getNum() in let final dynamic #t105 = this.[]=(#t102, #t104) in #t104 : #t103;
dynamic v7 = let final dynamic #t106 = "x" in let final dynamic #t107 = this.[](#t106).+(self::getInt()) in let final dynamic #t108 = this.[]=(#t106, #t107) in #t107;
dynamic v8 = let final dynamic #t109 = "x" in let final dynamic #t110 = this.[](#t109).+(self::getNum()) in let final dynamic #t111 = this.[]=(#t109, #t110) in #t110;
dynamic v10 = let final dynamic #t112 = "x" in let final dynamic #t113 = this.[](#t112).+(1) in let final dynamic #t114 = this.[]=(#t112, #t113) in #t113;
@ -84,9 +84,9 @@ abstract class Test5 extends core::Object {
dynamic v1 = let final dynamic #t118 = "x" in let final dynamic #t119 = self::getInt() in let final dynamic #t120 = this.[]=(#t118, #t119) in #t119;
dynamic v2 = let final dynamic #t121 = "x" in let final dynamic #t122 = self::getNum() in let final dynamic #t123 = this.[]=(#t121, #t122) in #t122;
dynamic v3 = let final dynamic #t124 = "x" in let final dynamic #t125 = self::getDouble() in let final dynamic #t126 = this.[]=(#t124, #t125) in #t125;
dynamic v4 = let final dynamic #t127 = "x" in let final dynamic #t128 = this.[](#t127) in #t128.==(null) ?{dynamic} let final dynamic #t129 = self::getInt() in let final dynamic #t130 = this.[]=(#t127, #t129) in #t129 : #t128;
dynamic v5 = let final dynamic #t131 = "x" in let final dynamic #t132 = this.[](#t131) in #t132.==(null) ?{dynamic} let final dynamic #t133 = self::getNum() in let final dynamic #t134 = this.[]=(#t131, #t133) in #t133 : #t132;
dynamic v6 = let final dynamic #t135 = "x" in let final dynamic #t136 = this.[](#t135) in #t136.==(null) ?{dynamic} let final dynamic #t137 = self::getDouble() in let final dynamic #t138 = this.[]=(#t135, #t137) in #t137 : #t136;
dynamic v4 = let final dynamic #t127 = "x" in let final dynamic #t128 = this.[](#t127) in #t128.==(null) ? let final dynamic #t129 = self::getInt() in let final dynamic #t130 = this.[]=(#t127, #t129) in #t129 : #t128;
dynamic v5 = let final dynamic #t131 = "x" in let final dynamic #t132 = this.[](#t131) in #t132.==(null) ? let final dynamic #t133 = self::getNum() in let final dynamic #t134 = this.[]=(#t131, #t133) in #t133 : #t132;
dynamic v6 = let final dynamic #t135 = "x" in let final dynamic #t136 = this.[](#t135) in #t136.==(null) ? let final dynamic #t137 = self::getDouble() in let final dynamic #t138 = this.[]=(#t135, #t137) in #t137 : #t136;
dynamic v7 = let final dynamic #t139 = "x" in let final dynamic #t140 = this.[](#t139).+(self::getInt()) in let final dynamic #t141 = this.[]=(#t139, #t140) in #t140;
dynamic v8 = let final dynamic #t142 = "x" in let final dynamic #t143 = this.[](#t142).+(self::getNum()) in let final dynamic #t144 = this.[]=(#t142, #t143) in #t143;
dynamic v9 = let final dynamic #t145 = "x" in let final dynamic #t146 = this.[](#t145).+(self::getDouble()) in let final dynamic #t147 = this.[]=(#t145, #t146) in #t146;
@ -103,8 +103,8 @@ abstract class Test6 extends core::Object {
method test() → void {
dynamic v2 = let final dynamic #t154 = "x" in let final dynamic #t155 = self::getNum() in let final dynamic #t156 = this.[]=(#t154, #t155) in #t155;
dynamic v3 = let final dynamic #t157 = "x" in let final dynamic #t158 = self::getDouble() in let final dynamic #t159 = this.[]=(#t157, #t158) in #t158;
dynamic v5 = let final dynamic #t160 = "x" in let final dynamic #t161 = this.[](#t160) in #t161.==(null) ?{dynamic} let final dynamic #t162 = self::getNum() in let final dynamic #t163 = this.[]=(#t160, #t162) in #t162 : #t161;
dynamic v6 = let final dynamic #t164 = "x" in let final dynamic #t165 = this.[](#t164) in #t165.==(null) ?{dynamic} let final dynamic #t166 = self::getDouble() in let final dynamic #t167 = this.[]=(#t164, #t166) in #t166 : #t165;
dynamic v5 = let final dynamic #t160 = "x" in let final dynamic #t161 = this.[](#t160) in #t161.==(null) ? let final dynamic #t162 = self::getNum() in let final dynamic #t163 = this.[]=(#t160, #t162) in #t162 : #t161;
dynamic v6 = let final dynamic #t164 = "x" in let final dynamic #t165 = this.[](#t164) in #t165.==(null) ? let final dynamic #t166 = self::getDouble() in let final dynamic #t167 = this.[]=(#t164, #t166) in #t166 : #t165;
dynamic v7 = let final dynamic #t168 = "x" in let final dynamic #t169 = this.[](#t168).+(self::getInt()) in let final dynamic #t170 = this.[]=(#t168, #t169) in #t169;
dynamic v8 = let final dynamic #t171 = "x" in let final dynamic #t172 = this.[](#t171).+(self::getNum()) in let final dynamic #t173 = this.[]=(#t171, #t172) in #t172;
dynamic v9 = let final dynamic #t174 = "x" in let final dynamic #t175 = this.[](#t174).+(self::getDouble()) in let final dynamic #t176 = this.[]=(#t174, #t175) in #t175;
@ -121,8 +121,8 @@ abstract class Test7 extends core::Object {
method test() → void {
dynamic v1 = let final dynamic #t183 = "x" in let final dynamic #t184 = self::getInt() in let final dynamic #t185 = this.[]=(#t183, #t184) in #t184;
dynamic v2 = let final dynamic #t186 = "x" in let final dynamic #t187 = self::getNum() in let final dynamic #t188 = this.[]=(#t186, #t187) in #t187;
dynamic v4 = let final dynamic #t189 = "x" in let final dynamic #t190 = this.[](#t189) in #t190.==(null) ?{dynamic} let final dynamic #t191 = self::getInt() in let final dynamic #t192 = this.[]=(#t189, #t191) in #t191 : #t190;
dynamic v5 = let final dynamic #t193 = "x" in let final dynamic #t194 = this.[](#t193) in #t194.==(null) ?{dynamic} let final dynamic #t195 = self::getNum() in let final dynamic #t196 = this.[]=(#t193, #t195) in #t195 : #t194;
dynamic v4 = let final dynamic #t189 = "x" in let final dynamic #t190 = this.[](#t189) in #t190.==(null) ? let final dynamic #t191 = self::getInt() in let final dynamic #t192 = this.[]=(#t189, #t191) in #t191 : #t190;
dynamic v5 = let final dynamic #t193 = "x" in let final dynamic #t194 = this.[](#t193) in #t194.==(null) ? let final dynamic #t195 = self::getNum() in let final dynamic #t196 = this.[]=(#t193, #t195) in #t195 : #t194;
dynamic v7 = let final dynamic #t197 = "x" in let final dynamic #t198 = this.[](#t197).+(self::getInt()) in let final dynamic #t199 = this.[]=(#t197, #t198) in #t198;
dynamic v8 = let final dynamic #t200 = "x" in let final dynamic #t201 = this.[](#t200).+(self::getNum()) in let final dynamic #t202 = this.[]=(#t200, #t201) in #t201;
dynamic v10 = let final dynamic #t203 = "x" in let final dynamic #t204 = this.[](#t203).+(1) in let final dynamic #t205 = this.[]=(#t203, #t204) in #t204;
@ -139,9 +139,9 @@ abstract class Test8 extends core::Object {
dynamic v1 = let final dynamic #t209 = "x" in let final dynamic #t210 = self::getInt() in let final dynamic #t211 = this.[]=(#t209, #t210) in #t210;
dynamic v2 = let final dynamic #t212 = "x" in let final dynamic #t213 = self::getNum() in let final dynamic #t214 = this.[]=(#t212, #t213) in #t213;
dynamic v3 = let final dynamic #t215 = "x" in let final dynamic #t216 = self::getDouble() in let final dynamic #t217 = this.[]=(#t215, #t216) in #t216;
dynamic v4 = let final dynamic #t218 = "x" in let final dynamic #t219 = this.[](#t218) in #t219.==(null) ?{dynamic} let final dynamic #t220 = self::getInt() in let final dynamic #t221 = this.[]=(#t218, #t220) in #t220 : #t219;
dynamic v5 = let final dynamic #t222 = "x" in let final dynamic #t223 = this.[](#t222) in #t223.==(null) ?{dynamic} let final dynamic #t224 = self::getNum() in let final dynamic #t225 = this.[]=(#t222, #t224) in #t224 : #t223;
dynamic v6 = let final dynamic #t226 = "x" in let final dynamic #t227 = this.[](#t226) in #t227.==(null) ?{dynamic} let final dynamic #t228 = self::getDouble() in let final dynamic #t229 = this.[]=(#t226, #t228) in #t228 : #t227;
dynamic v4 = let final dynamic #t218 = "x" in let final dynamic #t219 = this.[](#t218) in #t219.==(null) ? let final dynamic #t220 = self::getInt() in let final dynamic #t221 = this.[]=(#t218, #t220) in #t220 : #t219;
dynamic v5 = let final dynamic #t222 = "x" in let final dynamic #t223 = this.[](#t222) in #t223.==(null) ? let final dynamic #t224 = self::getNum() in let final dynamic #t225 = this.[]=(#t222, #t224) in #t224 : #t223;
dynamic v6 = let final dynamic #t226 = "x" in let final dynamic #t227 = this.[](#t226) in #t227.==(null) ? let final dynamic #t228 = self::getDouble() in let final dynamic #t229 = this.[]=(#t226, #t228) in #t228 : #t227;
dynamic v7 = let final dynamic #t230 = "x" in let final dynamic #t231 = this.[](#t230).+(self::getInt()) in let final dynamic #t232 = this.[]=(#t230, #t231) in #t231;
dynamic v8 = let final dynamic #t233 = "x" in let final dynamic #t234 = this.[](#t233).+(self::getNum()) in let final dynamic #t235 = this.[]=(#t233, #t234) in #t234;
dynamic v9 = let final dynamic #t236 = "x" in let final dynamic #t237 = this.[](#t236).+(self::getDouble()) in let final dynamic #t238 = this.[]=(#t236, #t237) in #t237;
@ -158,8 +158,8 @@ abstract class Test9 extends core::Object {
method test() → void {
dynamic v2 = let final dynamic #t245 = "x" in let final dynamic #t246 = self::getNum() in let final dynamic #t247 = this.[]=(#t245, #t246) in #t246;
dynamic v3 = let final dynamic #t248 = "x" in let final dynamic #t249 = self::getDouble() in let final dynamic #t250 = this.[]=(#t248, #t249) in #t249;
dynamic v5 = let final dynamic #t251 = "x" in let final dynamic #t252 = this.[](#t251) in #t252.==(null) ?{dynamic} let final dynamic #t253 = self::getNum() in let final dynamic #t254 = this.[]=(#t251, #t253) in #t253 : #t252;
dynamic v6 = let final dynamic #t255 = "x" in let final dynamic #t256 = this.[](#t255) in #t256.==(null) ?{dynamic} let final dynamic #t257 = self::getDouble() in let final dynamic #t258 = this.[]=(#t255, #t257) in #t257 : #t256;
dynamic v5 = let final dynamic #t251 = "x" in let final dynamic #t252 = this.[](#t251) in #t252.==(null) ? let final dynamic #t253 = self::getNum() in let final dynamic #t254 = this.[]=(#t251, #t253) in #t253 : #t252;
dynamic v6 = let final dynamic #t255 = "x" in let final dynamic #t256 = this.[](#t255) in #t256.==(null) ? let final dynamic #t257 = self::getDouble() in let final dynamic #t258 = this.[]=(#t255, #t257) in #t257 : #t256;
dynamic v7 = let final dynamic #t259 = "x" in let final dynamic #t260 = this.[](#t259).+(self::getInt()) in let final dynamic #t261 = this.[]=(#t259, #t260) in #t260;
dynamic v8 = let final dynamic #t262 = "x" in let final dynamic #t263 = this.[](#t262).+(self::getNum()) in let final dynamic #t264 = this.[]=(#t262, #t263) in #t263;
dynamic v9 = let final dynamic #t265 = "x" in let final dynamic #t266 = this.[](#t265).+(self::getDouble()) in let final dynamic #t267 = this.[]=(#t265, #t266) in #t266;

View file

@ -11,8 +11,8 @@ abstract class Test1 extends core::Object {
method test() → void {
core::int v1 = let final dynamic #t1 = "x" in let final dynamic #t2 = self::getInt() in let final dynamic #t3 = this.{self::Test1::[]=}(#t1, #t2) in #t2;
core::num v2 = let final dynamic #t4 = "x" in let final dynamic #t5 = self::getNum() in let final dynamic #t6 = this.{self::Test1::[]=}(#t4, #t5) in #t5;
core::int v4 = let final dynamic #t7 = "x" in let final dynamic #t8 = this.{self::Test1::[]}(#t7) in #t8.{core::num::==}(null) ?{dynamic} let final dynamic #t9 = self::getInt() in let final dynamic #t10 = this.{self::Test1::[]=}(#t7, #t9) in #t9 : #t8;
core::num v5 = let final dynamic #t11 = "x" in let final dynamic #t12 = this.{self::Test1::[]}(#t11) in #t12.{core::num::==}(null) ?{dynamic} let final dynamic #t13 = self::getNum() in let final dynamic #t14 = this.{self::Test1::[]=}(#t11, #t13) in #t13 : #t12;
core::int v4 = let final dynamic #t7 = "x" in let final dynamic #t8 = this.{self::Test1::[]}(#t7) in #t8.{core::num::==}(null) ? let final dynamic #t9 = self::getInt() in let final dynamic #t10 = this.{self::Test1::[]=}(#t7, #t9) in #t9 : #t8;
core::num v5 = let final dynamic #t11 = "x" in let final dynamic #t12 = this.{self::Test1::[]}(#t11) in #t12.{core::num::==}(null) ? let final dynamic #t13 = self::getNum() in let final dynamic #t14 = this.{self::Test1::[]=}(#t11, #t13) in #t13 : #t12;
core::int v7 = let final dynamic #t15 = "x" in let final dynamic #t16 = this.{self::Test1::[]}(#t15).{core::num::+}(self::getInt()) in let final dynamic #t17 = this.{self::Test1::[]=}(#t15, #t16) in #t16;
core::num v8 = let final dynamic #t18 = "x" in let final dynamic #t19 = this.{self::Test1::[]}(#t18).{core::num::+}(self::getNum()) in let final dynamic #t20 = this.{self::Test1::[]=}(#t18, #t19) in #t19;
core::int v10 = let final dynamic #t21 = "x" in let final dynamic #t22 = this.{self::Test1::[]}(#t21).{core::num::+}(1) in let final dynamic #t23 = this.{self::Test1::[]=}(#t21, #t22) in #t22;
@ -29,9 +29,9 @@ abstract class Test2 extends core::Object {
core::int v1 = let final dynamic #t27 = "x" in let final dynamic #t28 = self::getInt() in let final dynamic #t29 = this.{self::Test2::[]=}(#t27, #t28) in #t28;
core::num v2 = let final dynamic #t30 = "x" in let final dynamic #t31 = self::getNum() in let final dynamic #t32 = this.{self::Test2::[]=}(#t30, #t31) in #t31;
core::double v3 = let final dynamic #t33 = "x" in let final dynamic #t34 = self::getDouble() in let final dynamic #t35 = this.{self::Test2::[]=}(#t33, #t34) in #t34;
core::num v4 = let final dynamic #t36 = "x" in let final dynamic #t37 = this.{self::Test2::[]}(#t36) in #t37.{core::num::==}(null) ?{dynamic} let final dynamic #t38 = self::getInt() in let final dynamic #t39 = this.{self::Test2::[]=}(#t36, #t38) in #t38 : #t37;
core::num v5 = let final dynamic #t40 = "x" in let final dynamic #t41 = this.{self::Test2::[]}(#t40) in #t41.{core::num::==}(null) ?{dynamic} let final dynamic #t42 = self::getNum() in let final dynamic #t43 = this.{self::Test2::[]=}(#t40, #t42) in #t42 : #t41;
core::num v6 = let final dynamic #t44 = "x" in let final dynamic #t45 = this.{self::Test2::[]}(#t44) in #t45.{core::num::==}(null) ?{dynamic} let final dynamic #t46 = self::getDouble() in let final dynamic #t47 = this.{self::Test2::[]=}(#t44, #t46) in #t46 : #t45;
core::num v4 = let final dynamic #t36 = "x" in let final dynamic #t37 = this.{self::Test2::[]}(#t36) in #t37.{core::num::==}(null) ? let final dynamic #t38 = self::getInt() in let final dynamic #t39 = this.{self::Test2::[]=}(#t36, #t38) in #t38 : #t37;
core::num v5 = let final dynamic #t40 = "x" in let final dynamic #t41 = this.{self::Test2::[]}(#t40) in #t41.{core::num::==}(null) ? let final dynamic #t42 = self::getNum() in let final dynamic #t43 = this.{self::Test2::[]=}(#t40, #t42) in #t42 : #t41;
core::num v6 = let final dynamic #t44 = "x" in let final dynamic #t45 = this.{self::Test2::[]}(#t44) in #t45.{core::num::==}(null) ? let final dynamic #t46 = self::getDouble() in let final dynamic #t47 = this.{self::Test2::[]=}(#t44, #t46) in #t46 : #t45;
core::num v7 = let final dynamic #t48 = "x" in let final dynamic #t49 = this.{self::Test2::[]}(#t48).{core::num::+}(self::getInt()) in let final dynamic #t50 = this.{self::Test2::[]=}(#t48, #t49) in #t49;
core::num v8 = let final dynamic #t51 = "x" in let final dynamic #t52 = this.{self::Test2::[]}(#t51).{core::num::+}(self::getNum()) in let final dynamic #t53 = this.{self::Test2::[]=}(#t51, #t52) in #t52;
core::num v9 = let final dynamic #t54 = "x" in let final dynamic #t55 = this.{self::Test2::[]}(#t54).{core::num::+}(self::getDouble()) in let final dynamic #t56 = this.{self::Test2::[]=}(#t54, #t55) in #t55;
@ -48,8 +48,8 @@ abstract class Test3 extends core::Object {
method test() → void {
core::num v2 = let final dynamic #t63 = "x" in let final dynamic #t64 = self::getNum() in let final dynamic #t65 = this.{self::Test3::[]=}(#t63, #t64) in #t64;
core::double v3 = let final dynamic #t66 = "x" in let final dynamic #t67 = self::getDouble() in let final dynamic #t68 = this.{self::Test3::[]=}(#t66, #t67) in #t67;
core::num v5 = let final dynamic #t69 = "x" in let final dynamic #t70 = this.{self::Test3::[]}(#t69) in #t70.{core::num::==}(null) ?{dynamic} let final dynamic #t71 = self::getNum() in let final dynamic #t72 = this.{self::Test3::[]=}(#t69, #t71) in #t71 : #t70;
core::double v6 = let final dynamic #t73 = "x" in let final dynamic #t74 = this.{self::Test3::[]}(#t73) in #t74.{core::num::==}(null) ?{dynamic} let final dynamic #t75 = self::getDouble() in let final dynamic #t76 = this.{self::Test3::[]=}(#t73, #t75) in #t75 : #t74;
core::num v5 = let final dynamic #t69 = "x" in let final dynamic #t70 = this.{self::Test3::[]}(#t69) in #t70.{core::num::==}(null) ? let final dynamic #t71 = self::getNum() in let final dynamic #t72 = this.{self::Test3::[]=}(#t69, #t71) in #t71 : #t70;
core::double v6 = let final dynamic #t73 = "x" in let final dynamic #t74 = this.{self::Test3::[]}(#t73) in #t74.{core::num::==}(null) ? let final dynamic #t75 = self::getDouble() in let final dynamic #t76 = this.{self::Test3::[]=}(#t73, #t75) in #t75 : #t74;
core::double v7 = let final dynamic #t77 = "x" in let final dynamic #t78 = this.{self::Test3::[]}(#t77).{core::double::+}(self::getInt()) in let final dynamic #t79 = this.{self::Test3::[]=}(#t77, #t78) in #t78;
core::double v8 = let final dynamic #t80 = "x" in let final dynamic #t81 = this.{self::Test3::[]}(#t80).{core::double::+}(self::getNum()) in let final dynamic #t82 = this.{self::Test3::[]=}(#t80, #t81) in #t81;
core::double v9 = let final dynamic #t83 = "x" in let final dynamic #t84 = this.{self::Test3::[]}(#t83).{core::double::+}(self::getDouble()) in let final dynamic #t85 = this.{self::Test3::[]=}(#t83, #t84) in #t84;
@ -66,8 +66,8 @@ abstract class Test4 extends core::Object {
method test() → void {
core::int v1 = let final dynamic #t92 = "x" in let final dynamic #t93 = self::getInt() in let final dynamic #t94 = this.{self::Test4::[]=}(#t92, #t93) in #t93;
core::num v2 = let final dynamic #t95 = "x" in let final dynamic #t96 = self::getNum() in let final dynamic #t97 = this.{self::Test4::[]=}(#t95, #t96) in #t96;
core::int v4 = let final dynamic #t98 = "x" in let final dynamic #t99 = this.{self::Test4::[]}(#t98) in #t99.{core::num::==}(null) ?{dynamic} let final dynamic #t100 = self::getInt() in let final dynamic #t101 = this.{self::Test4::[]=}(#t98, #t100) in #t100 : #t99;
core::num v5 = let final dynamic #t102 = "x" in let final dynamic #t103 = this.{self::Test4::[]}(#t102) in #t103.{core::num::==}(null) ?{dynamic} let final dynamic #t104 = self::getNum() in let final dynamic #t105 = this.{self::Test4::[]=}(#t102, #t104) in #t104 : #t103;
core::int v4 = let final dynamic #t98 = "x" in let final dynamic #t99 = this.{self::Test4::[]}(#t98) in #t99.{core::num::==}(null) ? let final dynamic #t100 = self::getInt() in let final dynamic #t101 = this.{self::Test4::[]=}(#t98, #t100) in #t100 : #t99;
core::num v5 = let final dynamic #t102 = "x" in let final dynamic #t103 = this.{self::Test4::[]}(#t102) in #t103.{core::num::==}(null) ? let final dynamic #t104 = self::getNum() in let final dynamic #t105 = this.{self::Test4::[]=}(#t102, #t104) in #t104 : #t103;
core::int v7 = let final dynamic #t106 = "x" in let final dynamic #t107 = this.{self::Test4::[]}(#t106).{core::num::+}(self::getInt()) in let final dynamic #t108 = this.{self::Test4::[]=}(#t106, #t107) in #t107;
core::num v8 = let final dynamic #t109 = "x" in let final dynamic #t110 = this.{self::Test4::[]}(#t109).{core::num::+}(self::getNum()) in let final dynamic #t111 = this.{self::Test4::[]=}(#t109, #t110) in #t110;
core::int v10 = let final dynamic #t112 = "x" in let final dynamic #t113 = this.{self::Test4::[]}(#t112).{core::num::+}(1) in let final dynamic #t114 = this.{self::Test4::[]=}(#t112, #t113) in #t113;
@ -84,9 +84,9 @@ abstract class Test5 extends core::Object {
core::int v1 = let final dynamic #t118 = "x" in let final dynamic #t119 = self::getInt() in let final dynamic #t120 = this.{self::Test5::[]=}(#t118, #t119) in #t119;
core::num v2 = let final dynamic #t121 = "x" in let final dynamic #t122 = self::getNum() in let final dynamic #t123 = this.{self::Test5::[]=}(#t121, #t122) in #t122;
core::double v3 = let final dynamic #t124 = "x" in let final dynamic #t125 = self::getDouble() in let final dynamic #t126 = this.{self::Test5::[]=}(#t124, #t125) in #t125;
core::num v4 = let final dynamic #t127 = "x" in let final dynamic #t128 = this.{self::Test5::[]}(#t127) in #t128.{core::num::==}(null) ?{dynamic} let final dynamic #t129 = self::getInt() in let final dynamic #t130 = this.{self::Test5::[]=}(#t127, #t129) in #t129 : #t128;
core::num v5 = let final dynamic #t131 = "x" in let final dynamic #t132 = this.{self::Test5::[]}(#t131) in #t132.{core::num::==}(null) ?{dynamic} let final dynamic #t133 = self::getNum() in let final dynamic #t134 = this.{self::Test5::[]=}(#t131, #t133) in #t133 : #t132;
core::num v6 = let final dynamic #t135 = "x" in let final dynamic #t136 = this.{self::Test5::[]}(#t135) in #t136.{core::num::==}(null) ?{dynamic} let final dynamic #t137 = self::getDouble() in let final dynamic #t138 = this.{self::Test5::[]=}(#t135, #t137) in #t137 : #t136;
core::num v4 = let final dynamic #t127 = "x" in let final dynamic #t128 = this.{self::Test5::[]}(#t127) in #t128.{core::num::==}(null) ? let final dynamic #t129 = self::getInt() in let final dynamic #t130 = this.{self::Test5::[]=}(#t127, #t129) in #t129 : #t128;
core::num v5 = let final dynamic #t131 = "x" in let final dynamic #t132 = this.{self::Test5::[]}(#t131) in #t132.{core::num::==}(null) ? let final dynamic #t133 = self::getNum() in let final dynamic #t134 = this.{self::Test5::[]=}(#t131, #t133) in #t133 : #t132;
core::num v6 = let final dynamic #t135 = "x" in let final dynamic #t136 = this.{self::Test5::[]}(#t135) in #t136.{core::num::==}(null) ? let final dynamic #t137 = self::getDouble() in let final dynamic #t138 = this.{self::Test5::[]=}(#t135, #t137) in #t137 : #t136;
core::num v7 = let final dynamic #t139 = "x" in let final dynamic #t140 = this.{self::Test5::[]}(#t139).{core::num::+}(self::getInt()) in let final dynamic #t141 = this.{self::Test5::[]=}(#t139, #t140) in #t140;
core::num v8 = let final dynamic #t142 = "x" in let final dynamic #t143 = this.{self::Test5::[]}(#t142).{core::num::+}(self::getNum()) in let final dynamic #t144 = this.{self::Test5::[]=}(#t142, #t143) in #t143;
core::num v9 = let final dynamic #t145 = "x" in let final dynamic #t146 = this.{self::Test5::[]}(#t145).{core::num::+}(self::getDouble()) in let final dynamic #t147 = this.{self::Test5::[]=}(#t145, #t146) in #t146;
@ -103,8 +103,8 @@ abstract class Test6 extends core::Object {
method test() → void {
core::num v2 = let final dynamic #t154 = "x" in let final dynamic #t155 = self::getNum() in let final dynamic #t156 = this.{self::Test6::[]=}(#t154, #t155) in #t155;
core::double v3 = let final dynamic #t157 = "x" in let final dynamic #t158 = self::getDouble() in let final dynamic #t159 = this.{self::Test6::[]=}(#t157, #t158) in #t158;
core::num v5 = let final dynamic #t160 = "x" in let final dynamic #t161 = this.{self::Test6::[]}(#t160) in #t161.{core::num::==}(null) ?{dynamic} let final dynamic #t162 = self::getNum() in let final dynamic #t163 = this.{self::Test6::[]=}(#t160, #t162) in #t162 : #t161;
core::double v6 = let final dynamic #t164 = "x" in let final dynamic #t165 = this.{self::Test6::[]}(#t164) in #t165.{core::num::==}(null) ?{dynamic} let final dynamic #t166 = self::getDouble() in let final dynamic #t167 = this.{self::Test6::[]=}(#t164, #t166) in #t166 : #t165;
core::num v5 = let final dynamic #t160 = "x" in let final dynamic #t161 = this.{self::Test6::[]}(#t160) in #t161.{core::num::==}(null) ? let final dynamic #t162 = self::getNum() in let final dynamic #t163 = this.{self::Test6::[]=}(#t160, #t162) in #t162 : #t161;
core::double v6 = let final dynamic #t164 = "x" in let final dynamic #t165 = this.{self::Test6::[]}(#t164) in #t165.{core::num::==}(null) ? let final dynamic #t166 = self::getDouble() in let final dynamic #t167 = this.{self::Test6::[]=}(#t164, #t166) in #t166 : #t165;
core::double v7 = let final dynamic #t168 = "x" in let final dynamic #t169 = this.{self::Test6::[]}(#t168).{core::double::+}(self::getInt()) in let final dynamic #t170 = this.{self::Test6::[]=}(#t168, #t169) in #t169;
core::double v8 = let final dynamic #t171 = "x" in let final dynamic #t172 = this.{self::Test6::[]}(#t171).{core::double::+}(self::getNum()) in let final dynamic #t173 = this.{self::Test6::[]=}(#t171, #t172) in #t172;
core::double v9 = let final dynamic #t174 = "x" in let final dynamic #t175 = this.{self::Test6::[]}(#t174).{core::double::+}(self::getDouble()) in let final dynamic #t176 = this.{self::Test6::[]=}(#t174, #t175) in #t175;
@ -121,8 +121,8 @@ abstract class Test7 extends core::Object {
method test() → void {
core::int v1 = let final dynamic #t183 = "x" in let final dynamic #t184 = self::getInt() in let final dynamic #t185 = this.{self::Test7::[]=}(#t183, #t184) in #t184;
core::num v2 = let final dynamic #t186 = "x" in let final dynamic #t187 = self::getNum() in let final dynamic #t188 = this.{self::Test7::[]=}(#t186, #t187) in #t187;
core::int v4 = let final dynamic #t189 = "x" in let final dynamic #t190 = this.{self::Test7::[]}(#t189) in #t190.{core::num::==}(null) ?{dynamic} let final dynamic #t191 = self::getInt() in let final dynamic #t192 = this.{self::Test7::[]=}(#t189, #t191) in #t191 : #t190;
core::num v5 = let final dynamic #t193 = "x" in let final dynamic #t194 = this.{self::Test7::[]}(#t193) in #t194.{core::num::==}(null) ?{dynamic} let final dynamic #t195 = self::getNum() in let final dynamic #t196 = this.{self::Test7::[]=}(#t193, #t195) in #t195 : #t194;
core::int v4 = let final dynamic #t189 = "x" in let final dynamic #t190 = this.{self::Test7::[]}(#t189) in #t190.{core::num::==}(null) ? let final dynamic #t191 = self::getInt() in let final dynamic #t192 = this.{self::Test7::[]=}(#t189, #t191) in #t191 : #t190;
core::num v5 = let final dynamic #t193 = "x" in let final dynamic #t194 = this.{self::Test7::[]}(#t193) in #t194.{core::num::==}(null) ? let final dynamic #t195 = self::getNum() in let final dynamic #t196 = this.{self::Test7::[]=}(#t193, #t195) in #t195 : #t194;
core::int v7 = let final dynamic #t197 = "x" in let final dynamic #t198 = this.{self::Test7::[]}(#t197).{core::num::+}(self::getInt()) in let final dynamic #t199 = this.{self::Test7::[]=}(#t197, #t198) in #t198;
core::num v8 = let final dynamic #t200 = "x" in let final dynamic #t201 = this.{self::Test7::[]}(#t200).{core::num::+}(self::getNum()) in let final dynamic #t202 = this.{self::Test7::[]=}(#t200, #t201) in #t201;
core::int v10 = let final dynamic #t203 = "x" in let final dynamic #t204 = this.{self::Test7::[]}(#t203).{core::num::+}(1) in let final dynamic #t205 = this.{self::Test7::[]=}(#t203, #t204) in #t204;
@ -139,9 +139,9 @@ abstract class Test8 extends core::Object {
core::int v1 = let final dynamic #t209 = "x" in let final dynamic #t210 = self::getInt() in let final dynamic #t211 = this.{self::Test8::[]=}(#t209, #t210) in #t210;
core::num v2 = let final dynamic #t212 = "x" in let final dynamic #t213 = self::getNum() in let final dynamic #t214 = this.{self::Test8::[]=}(#t212, #t213) in #t213;
core::double v3 = let final dynamic #t215 = "x" in let final dynamic #t216 = self::getDouble() in let final dynamic #t217 = this.{self::Test8::[]=}(#t215, #t216) in #t216;
core::num v4 = let final dynamic #t218 = "x" in let final dynamic #t219 = this.{self::Test8::[]}(#t218) in #t219.{core::num::==}(null) ?{dynamic} let final dynamic #t220 = self::getInt() in let final dynamic #t221 = this.{self::Test8::[]=}(#t218, #t220) in #t220 : #t219;
core::num v5 = let final dynamic #t222 = "x" in let final dynamic #t223 = this.{self::Test8::[]}(#t222) in #t223.{core::num::==}(null) ?{dynamic} let final dynamic #t224 = self::getNum() in let final dynamic #t225 = this.{self::Test8::[]=}(#t222, #t224) in #t224 : #t223;
core::num v6 = let final dynamic #t226 = "x" in let final dynamic #t227 = this.{self::Test8::[]}(#t226) in #t227.{core::num::==}(null) ?{dynamic} let final dynamic #t228 = self::getDouble() in let final dynamic #t229 = this.{self::Test8::[]=}(#t226, #t228) in #t228 : #t227;
core::num v4 = let final dynamic #t218 = "x" in let final dynamic #t219 = this.{self::Test8::[]}(#t218) in #t219.{core::num::==}(null) ? let final dynamic #t220 = self::getInt() in let final dynamic #t221 = this.{self::Test8::[]=}(#t218, #t220) in #t220 : #t219;
core::num v5 = let final dynamic #t222 = "x" in let final dynamic #t223 = this.{self::Test8::[]}(#t222) in #t223.{core::num::==}(null) ? let final dynamic #t224 = self::getNum() in let final dynamic #t225 = this.{self::Test8::[]=}(#t222, #t224) in #t224 : #t223;
core::num v6 = let final dynamic #t226 = "x" in let final dynamic #t227 = this.{self::Test8::[]}(#t226) in #t227.{core::num::==}(null) ? let final dynamic #t228 = self::getDouble() in let final dynamic #t229 = this.{self::Test8::[]=}(#t226, #t228) in #t228 : #t227;
core::num v7 = let final dynamic #t230 = "x" in let final dynamic #t231 = this.{self::Test8::[]}(#t230).{core::num::+}(self::getInt()) in let final dynamic #t232 = this.{self::Test8::[]=}(#t230, #t231) in #t231;
core::num v8 = let final dynamic #t233 = "x" in let final dynamic #t234 = this.{self::Test8::[]}(#t233).{core::num::+}(self::getNum()) in let final dynamic #t235 = this.{self::Test8::[]=}(#t233, #t234) in #t234;
core::num v9 = let final dynamic #t236 = "x" in let final dynamic #t237 = this.{self::Test8::[]}(#t236).{core::num::+}(self::getDouble()) in let final dynamic #t238 = this.{self::Test8::[]=}(#t236, #t237) in #t237;
@ -158,8 +158,8 @@ abstract class Test9 extends core::Object {
method test() → void {
core::num v2 = let final dynamic #t245 = "x" in let final dynamic #t246 = self::getNum() in let final dynamic #t247 = this.{self::Test9::[]=}(#t245, #t246) in #t246;
core::double v3 = let final dynamic #t248 = "x" in let final dynamic #t249 = self::getDouble() in let final dynamic #t250 = this.{self::Test9::[]=}(#t248, #t249) in #t249;
core::num v5 = let final dynamic #t251 = "x" in let final dynamic #t252 = this.{self::Test9::[]}(#t251) in #t252.{core::num::==}(null) ?{dynamic} let final dynamic #t253 = self::getNum() in let final dynamic #t254 = this.{self::Test9::[]=}(#t251, #t253) in #t253 : #t252;
core::double v6 = let final dynamic #t255 = "x" in let final dynamic #t256 = this.{self::Test9::[]}(#t255) in #t256.{core::num::==}(null) ?{dynamic} let final dynamic #t257 = self::getDouble() in let final dynamic #t258 = this.{self::Test9::[]=}(#t255, #t257) in #t257 : #t256;
core::num v5 = let final dynamic #t251 = "x" in let final dynamic #t252 = this.{self::Test9::[]}(#t251) in #t252.{core::num::==}(null) ? let final dynamic #t253 = self::getNum() in let final dynamic #t254 = this.{self::Test9::[]=}(#t251, #t253) in #t253 : #t252;
core::double v6 = let final dynamic #t255 = "x" in let final dynamic #t256 = this.{self::Test9::[]}(#t255) in #t256.{core::num::==}(null) ? let final dynamic #t257 = self::getDouble() in let final dynamic #t258 = this.{self::Test9::[]=}(#t255, #t257) in #t257 : #t256;
core::double v7 = let final dynamic #t259 = "x" in let final dynamic #t260 = this.{self::Test9::[]}(#t259).{core::double::+}(self::getInt()) in let final dynamic #t261 = this.{self::Test9::[]=}(#t259, #t260) in #t260;
core::double v8 = let final dynamic #t262 = "x" in let final dynamic #t263 = this.{self::Test9::[]}(#t262).{core::double::+}(self::getNum()) in let final dynamic #t264 = this.{self::Test9::[]=}(#t262, #t263) in #t263;
core::double v9 = let final dynamic #t265 = "x" in let final dynamic #t266 = this.{self::Test9::[]}(#t265).{core::double::+}(self::getDouble()) in let final dynamic #t267 = this.{self::Test9::[]=}(#t265, #t266) in #t266;

View file

@ -18,8 +18,8 @@ static method getDouble() → core::double
static method test1(self::Test<core::int, core::int> t) → void {
dynamic v1 = let final dynamic #t1 = t in let final dynamic #t2 = "x" in let final dynamic #t3 = self::getInt() in let final dynamic #t4 = #t1.[]=(#t2, #t3) in #t3;
dynamic v2 = let final dynamic #t5 = t in let final dynamic #t6 = "x" in let final dynamic #t7 = self::getNum() in let final dynamic #t8 = #t5.[]=(#t6, #t7) in #t7;
dynamic v4 = let final dynamic #t9 = t in let final dynamic #t10 = "x" in let final dynamic #t11 = #t9.[](#t10) in #t11.==(null) ?{dynamic} let final dynamic #t12 = self::getInt() in let final dynamic #t13 = #t9.[]=(#t10, #t12) in #t12 : #t11;
dynamic v5 = let final dynamic #t14 = t in let final dynamic #t15 = "x" in let final dynamic #t16 = #t14.[](#t15) in #t16.==(null) ?{dynamic} let final dynamic #t17 = self::getNum() in let final dynamic #t18 = #t14.[]=(#t15, #t17) in #t17 : #t16;
dynamic v4 = let final dynamic #t9 = t in let final dynamic #t10 = "x" in let final dynamic #t11 = #t9.[](#t10) in #t11.==(null) ? let final dynamic #t12 = self::getInt() in let final dynamic #t13 = #t9.[]=(#t10, #t12) in #t12 : #t11;
dynamic v5 = let final dynamic #t14 = t in let final dynamic #t15 = "x" in let final dynamic #t16 = #t14.[](#t15) in #t16.==(null) ? let final dynamic #t17 = self::getNum() in let final dynamic #t18 = #t14.[]=(#t15, #t17) in #t17 : #t16;
dynamic v7 = let final dynamic #t19 = t in let final dynamic #t20 = "x" in let final dynamic #t21 = #t19.[](#t20).+(self::getInt()) in let final dynamic #t22 = #t19.[]=(#t20, #t21) in #t21;
dynamic v8 = let final dynamic #t23 = t in let final dynamic #t24 = "x" in let final dynamic #t25 = #t23.[](#t24).+(self::getNum()) in let final dynamic #t26 = #t23.[]=(#t24, #t25) in #t25;
dynamic v10 = let final dynamic #t27 = t in let final dynamic #t28 = "x" in let final dynamic #t29 = #t27.[](#t28).+(1) in let final dynamic #t30 = #t27.[]=(#t28, #t29) in #t29;
@ -29,9 +29,9 @@ static method test2(self::Test<core::int, core::num> t) → void {
dynamic v1 = let final dynamic #t35 = t in let final dynamic #t36 = "x" in let final dynamic #t37 = self::getInt() in let final dynamic #t38 = #t35.[]=(#t36, #t37) in #t37;
dynamic v2 = let final dynamic #t39 = t in let final dynamic #t40 = "x" in let final dynamic #t41 = self::getNum() in let final dynamic #t42 = #t39.[]=(#t40, #t41) in #t41;
dynamic v3 = let final dynamic #t43 = t in let final dynamic #t44 = "x" in let final dynamic #t45 = self::getDouble() in let final dynamic #t46 = #t43.[]=(#t44, #t45) in #t45;
dynamic v4 = let final dynamic #t47 = t in let final dynamic #t48 = "x" in let final dynamic #t49 = #t47.[](#t48) in #t49.==(null) ?{dynamic} let final dynamic #t50 = self::getInt() in let final dynamic #t51 = #t47.[]=(#t48, #t50) in #t50 : #t49;
dynamic v5 = let final dynamic #t52 = t in let final dynamic #t53 = "x" in let final dynamic #t54 = #t52.[](#t53) in #t54.==(null) ?{dynamic} let final dynamic #t55 = self::getNum() in let final dynamic #t56 = #t52.[]=(#t53, #t55) in #t55 : #t54;
dynamic v6 = let final dynamic #t57 = t in let final dynamic #t58 = "x" in let final dynamic #t59 = #t57.[](#t58) in #t59.==(null) ?{dynamic} let final dynamic #t60 = self::getDouble() in let final dynamic #t61 = #t57.[]=(#t58, #t60) in #t60 : #t59;
dynamic v4 = let final dynamic #t47 = t in let final dynamic #t48 = "x" in let final dynamic #t49 = #t47.[](#t48) in #t49.==(null) ? let final dynamic #t50 = self::getInt() in let final dynamic #t51 = #t47.[]=(#t48, #t50) in #t50 : #t49;
dynamic v5 = let final dynamic #t52 = t in let final dynamic #t53 = "x" in let final dynamic #t54 = #t52.[](#t53) in #t54.==(null) ? let final dynamic #t55 = self::getNum() in let final dynamic #t56 = #t52.[]=(#t53, #t55) in #t55 : #t54;
dynamic v6 = let final dynamic #t57 = t in let final dynamic #t58 = "x" in let final dynamic #t59 = #t57.[](#t58) in #t59.==(null) ? let final dynamic #t60 = self::getDouble() in let final dynamic #t61 = #t57.[]=(#t58, #t60) in #t60 : #t59;
dynamic v7 = let final dynamic #t62 = t in let final dynamic #t63 = "x" in let final dynamic #t64 = #t62.[](#t63).+(self::getInt()) in let final dynamic #t65 = #t62.[]=(#t63, #t64) in #t64;
dynamic v8 = let final dynamic #t66 = t in let final dynamic #t67 = "x" in let final dynamic #t68 = #t66.[](#t67).+(self::getNum()) in let final dynamic #t69 = #t66.[]=(#t67, #t68) in #t68;
dynamic v9 = let final dynamic #t70 = t in let final dynamic #t71 = "x" in let final dynamic #t72 = #t70.[](#t71).+(self::getDouble()) in let final dynamic #t73 = #t70.[]=(#t71, #t72) in #t72;
@ -41,8 +41,8 @@ static method test2(self::Test<core::int, core::num> t) → void {
static method test3(self::Test<core::int, core::double> t) → void {
dynamic v2 = let final dynamic #t82 = t in let final dynamic #t83 = "x" in let final dynamic #t84 = self::getNum() in let final dynamic #t85 = #t82.[]=(#t83, #t84) in #t84;
dynamic v3 = let final dynamic #t86 = t in let final dynamic #t87 = "x" in let final dynamic #t88 = self::getDouble() in let final dynamic #t89 = #t86.[]=(#t87, #t88) in #t88;
dynamic v5 = let final dynamic #t90 = t in let final dynamic #t91 = "x" in let final dynamic #t92 = #t90.[](#t91) in #t92.==(null) ?{dynamic} let final dynamic #t93 = self::getNum() in let final dynamic #t94 = #t90.[]=(#t91, #t93) in #t93 : #t92;
dynamic v6 = let final dynamic #t95 = t in let final dynamic #t96 = "x" in let final dynamic #t97 = #t95.[](#t96) in #t97.==(null) ?{dynamic} let final dynamic #t98 = self::getDouble() in let final dynamic #t99 = #t95.[]=(#t96, #t98) in #t98 : #t97;
dynamic v5 = let final dynamic #t90 = t in let final dynamic #t91 = "x" in let final dynamic #t92 = #t90.[](#t91) in #t92.==(null) ? let final dynamic #t93 = self::getNum() in let final dynamic #t94 = #t90.[]=(#t91, #t93) in #t93 : #t92;
dynamic v6 = let final dynamic #t95 = t in let final dynamic #t96 = "x" in let final dynamic #t97 = #t95.[](#t96) in #t97.==(null) ? let final dynamic #t98 = self::getDouble() in let final dynamic #t99 = #t95.[]=(#t96, #t98) in #t98 : #t97;
dynamic v7 = let final dynamic #t100 = t in let final dynamic #t101 = "x" in let final dynamic #t102 = #t100.[](#t101).+(self::getInt()) in let final dynamic #t103 = #t100.[]=(#t101, #t102) in #t102;
dynamic v8 = let final dynamic #t104 = t in let final dynamic #t105 = "x" in let final dynamic #t106 = #t104.[](#t105).+(self::getNum()) in let final dynamic #t107 = #t104.[]=(#t105, #t106) in #t106;
dynamic v9 = let final dynamic #t108 = t in let final dynamic #t109 = "x" in let final dynamic #t110 = #t108.[](#t109).+(self::getDouble()) in let final dynamic #t111 = #t108.[]=(#t109, #t110) in #t110;
@ -52,8 +52,8 @@ static method test3(self::Test<core::int, core::double> t) → void {
static method test4(self::Test<core::num, core::int> t) → void {
dynamic v1 = let final dynamic #t120 = t in let final dynamic #t121 = "x" in let final dynamic #t122 = self::getInt() in let final dynamic #t123 = #t120.[]=(#t121, #t122) in #t122;
dynamic v2 = let final dynamic #t124 = t in let final dynamic #t125 = "x" in let final dynamic #t126 = self::getNum() in let final dynamic #t127 = #t124.[]=(#t125, #t126) in #t126;
dynamic v4 = let final dynamic #t128 = t in let final dynamic #t129 = "x" in let final dynamic #t130 = #t128.[](#t129) in #t130.==(null) ?{dynamic} let final dynamic #t131 = self::getInt() in let final dynamic #t132 = #t128.[]=(#t129, #t131) in #t131 : #t130;
dynamic v5 = let final dynamic #t133 = t in let final dynamic #t134 = "x" in let final dynamic #t135 = #t133.[](#t134) in #t135.==(null) ?{dynamic} let final dynamic #t136 = self::getNum() in let final dynamic #t137 = #t133.[]=(#t134, #t136) in #t136 : #t135;
dynamic v4 = let final dynamic #t128 = t in let final dynamic #t129 = "x" in let final dynamic #t130 = #t128.[](#t129) in #t130.==(null) ? let final dynamic #t131 = self::getInt() in let final dynamic #t132 = #t128.[]=(#t129, #t131) in #t131 : #t130;
dynamic v5 = let final dynamic #t133 = t in let final dynamic #t134 = "x" in let final dynamic #t135 = #t133.[](#t134) in #t135.==(null) ? let final dynamic #t136 = self::getNum() in let final dynamic #t137 = #t133.[]=(#t134, #t136) in #t136 : #t135;
dynamic v7 = let final dynamic #t138 = t in let final dynamic #t139 = "x" in let final dynamic #t140 = #t138.[](#t139).+(self::getInt()) in let final dynamic #t141 = #t138.[]=(#t139, #t140) in #t140;
dynamic v8 = let final dynamic #t142 = t in let final dynamic #t143 = "x" in let final dynamic #t144 = #t142.[](#t143).+(self::getNum()) in let final dynamic #t145 = #t142.[]=(#t143, #t144) in #t144;
dynamic v10 = let final dynamic #t146 = t in let final dynamic #t147 = "x" in let final dynamic #t148 = #t146.[](#t147).+(1) in let final dynamic #t149 = #t146.[]=(#t147, #t148) in #t148;
@ -63,9 +63,9 @@ static method test5(self::Test<core::num, core::num> t) → void {
dynamic v1 = let final dynamic #t154 = t in let final dynamic #t155 = "x" in let final dynamic #t156 = self::getInt() in let final dynamic #t157 = #t154.[]=(#t155, #t156) in #t156;
dynamic v2 = let final dynamic #t158 = t in let final dynamic #t159 = "x" in let final dynamic #t160 = self::getNum() in let final dynamic #t161 = #t158.[]=(#t159, #t160) in #t160;
dynamic v3 = let final dynamic #t162 = t in let final dynamic #t163 = "x" in let final dynamic #t164 = self::getDouble() in let final dynamic #t165 = #t162.[]=(#t163, #t164) in #t164;
dynamic v4 = let final dynamic #t166 = t in let final dynamic #t167 = "x" in let final dynamic #t168 = #t166.[](#t167) in #t168.==(null) ?{dynamic} let final dynamic #t169 = self::getInt() in let final dynamic #t170 = #t166.[]=(#t167, #t169) in #t169 : #t168;
dynamic v5 = let final dynamic #t171 = t in let final dynamic #t172 = "x" in let final dynamic #t173 = #t171.[](#t172) in #t173.==(null) ?{dynamic} let final dynamic #t174 = self::getNum() in let final dynamic #t175 = #t171.[]=(#t172, #t174) in #t174 : #t173;
dynamic v6 = let final dynamic #t176 = t in let final dynamic #t177 = "x" in let final dynamic #t178 = #t176.[](#t177) in #t178.==(null) ?{dynamic} let final dynamic #t179 = self::getDouble() in let final dynamic #t180 = #t176.[]=(#t177, #t179) in #t179 : #t178;
dynamic v4 = let final dynamic #t166 = t in let final dynamic #t167 = "x" in let final dynamic #t168 = #t166.[](#t167) in #t168.==(null) ? let final dynamic #t169 = self::getInt() in let final dynamic #t170 = #t166.[]=(#t167, #t169) in #t169 : #t168;
dynamic v5 = let final dynamic #t171 = t in let final dynamic #t172 = "x" in let final dynamic #t173 = #t171.[](#t172) in #t173.==(null) ? let final dynamic #t174 = self::getNum() in let final dynamic #t175 = #t171.[]=(#t172, #t174) in #t174 : #t173;
dynamic v6 = let final dynamic #t176 = t in let final dynamic #t177 = "x" in let final dynamic #t178 = #t176.[](#t177) in #t178.==(null) ? let final dynamic #t179 = self::getDouble() in let final dynamic #t180 = #t176.[]=(#t177, #t179) in #t179 : #t178;
dynamic v7 = let final dynamic #t181 = t in let final dynamic #t182 = "x" in let final dynamic #t183 = #t181.[](#t182).+(self::getInt()) in let final dynamic #t184 = #t181.[]=(#t182, #t183) in #t183;
dynamic v8 = let final dynamic #t185 = t in let final dynamic #t186 = "x" in let final dynamic #t187 = #t185.[](#t186).+(self::getNum()) in let final dynamic #t188 = #t185.[]=(#t186, #t187) in #t187;
dynamic v9 = let final dynamic #t189 = t in let final dynamic #t190 = "x" in let final dynamic #t191 = #t189.[](#t190).+(self::getDouble()) in let final dynamic #t192 = #t189.[]=(#t190, #t191) in #t191;
@ -75,8 +75,8 @@ static method test5(self::Test<core::num, core::num> t) → void {
static method test6(self::Test<core::num, core::double> t) → void {
dynamic v2 = let final dynamic #t201 = t in let final dynamic #t202 = "x" in let final dynamic #t203 = self::getNum() in let final dynamic #t204 = #t201.[]=(#t202, #t203) in #t203;
dynamic v3 = let final dynamic #t205 = t in let final dynamic #t206 = "x" in let final dynamic #t207 = self::getDouble() in let final dynamic #t208 = #t205.[]=(#t206, #t207) in #t207;
dynamic v5 = let final dynamic #t209 = t in let final dynamic #t210 = "x" in let final dynamic #t211 = #t209.[](#t210) in #t211.==(null) ?{dynamic} let final dynamic #t212 = self::getNum() in let final dynamic #t213 = #t209.[]=(#t210, #t212) in #t212 : #t211;
dynamic v6 = let final dynamic #t214 = t in let final dynamic #t215 = "x" in let final dynamic #t216 = #t214.[](#t215) in #t216.==(null) ?{dynamic} let final dynamic #t217 = self::getDouble() in let final dynamic #t218 = #t214.[]=(#t215, #t217) in #t217 : #t216;
dynamic v5 = let final dynamic #t209 = t in let final dynamic #t210 = "x" in let final dynamic #t211 = #t209.[](#t210) in #t211.==(null) ? let final dynamic #t212 = self::getNum() in let final dynamic #t213 = #t209.[]=(#t210, #t212) in #t212 : #t211;
dynamic v6 = let final dynamic #t214 = t in let final dynamic #t215 = "x" in let final dynamic #t216 = #t214.[](#t215) in #t216.==(null) ? let final dynamic #t217 = self::getDouble() in let final dynamic #t218 = #t214.[]=(#t215, #t217) in #t217 : #t216;
dynamic v7 = let final dynamic #t219 = t in let final dynamic #t220 = "x" in let final dynamic #t221 = #t219.[](#t220).+(self::getInt()) in let final dynamic #t222 = #t219.[]=(#t220, #t221) in #t221;
dynamic v8 = let final dynamic #t223 = t in let final dynamic #t224 = "x" in let final dynamic #t225 = #t223.[](#t224).+(self::getNum()) in let final dynamic #t226 = #t223.[]=(#t224, #t225) in #t225;
dynamic v9 = let final dynamic #t227 = t in let final dynamic #t228 = "x" in let final dynamic #t229 = #t227.[](#t228).+(self::getDouble()) in let final dynamic #t230 = #t227.[]=(#t228, #t229) in #t229;
@ -86,8 +86,8 @@ static method test6(self::Test<core::num, core::double> t) → void {
static method test7(self::Test<core::double, core::int> t) → void {
dynamic v1 = let final dynamic #t239 = t in let final dynamic #t240 = "x" in let final dynamic #t241 = self::getInt() in let final dynamic #t242 = #t239.[]=(#t240, #t241) in #t241;
dynamic v2 = let final dynamic #t243 = t in let final dynamic #t244 = "x" in let final dynamic #t245 = self::getNum() in let final dynamic #t246 = #t243.[]=(#t244, #t245) in #t245;
dynamic v4 = let final dynamic #t247 = t in let final dynamic #t248 = "x" in let final dynamic #t249 = #t247.[](#t248) in #t249.==(null) ?{dynamic} let final dynamic #t250 = self::getInt() in let final dynamic #t251 = #t247.[]=(#t248, #t250) in #t250 : #t249;
dynamic v5 = let final dynamic #t252 = t in let final dynamic #t253 = "x" in let final dynamic #t254 = #t252.[](#t253) in #t254.==(null) ?{dynamic} let final dynamic #t255 = self::getNum() in let final dynamic #t256 = #t252.[]=(#t253, #t255) in #t255 : #t254;
dynamic v4 = let final dynamic #t247 = t in let final dynamic #t248 = "x" in let final dynamic #t249 = #t247.[](#t248) in #t249.==(null) ? let final dynamic #t250 = self::getInt() in let final dynamic #t251 = #t247.[]=(#t248, #t250) in #t250 : #t249;
dynamic v5 = let final dynamic #t252 = t in let final dynamic #t253 = "x" in let final dynamic #t254 = #t252.[](#t253) in #t254.==(null) ? let final dynamic #t255 = self::getNum() in let final dynamic #t256 = #t252.[]=(#t253, #t255) in #t255 : #t254;
dynamic v7 = let final dynamic #t257 = t in let final dynamic #t258 = "x" in let final dynamic #t259 = #t257.[](#t258).+(self::getInt()) in let final dynamic #t260 = #t257.[]=(#t258, #t259) in #t259;
dynamic v8 = let final dynamic #t261 = t in let final dynamic #t262 = "x" in let final dynamic #t263 = #t261.[](#t262).+(self::getNum()) in let final dynamic #t264 = #t261.[]=(#t262, #t263) in #t263;
dynamic v10 = let final dynamic #t265 = t in let final dynamic #t266 = "x" in let final dynamic #t267 = #t265.[](#t266).+(1) in let final dynamic #t268 = #t265.[]=(#t266, #t267) in #t267;
@ -97,9 +97,9 @@ static method test8(self::Test<core::double, core::num> t) → void {
dynamic v1 = let final dynamic #t273 = t in let final dynamic #t274 = "x" in let final dynamic #t275 = self::getInt() in let final dynamic #t276 = #t273.[]=(#t274, #t275) in #t275;
dynamic v2 = let final dynamic #t277 = t in let final dynamic #t278 = "x" in let final dynamic #t279 = self::getNum() in let final dynamic #t280 = #t277.[]=(#t278, #t279) in #t279;
dynamic v3 = let final dynamic #t281 = t in let final dynamic #t282 = "x" in let final dynamic #t283 = self::getDouble() in let final dynamic #t284 = #t281.[]=(#t282, #t283) in #t283;
dynamic v4 = let final dynamic #t285 = t in let final dynamic #t286 = "x" in let final dynamic #t287 = #t285.[](#t286) in #t287.==(null) ?{dynamic} let final dynamic #t288 = self::getInt() in let final dynamic #t289 = #t285.[]=(#t286, #t288) in #t288 : #t287;
dynamic v5 = let final dynamic #t290 = t in let final dynamic #t291 = "x" in let final dynamic #t292 = #t290.[](#t291) in #t292.==(null) ?{dynamic} let final dynamic #t293 = self::getNum() in let final dynamic #t294 = #t290.[]=(#t291, #t293) in #t293 : #t292;
dynamic v6 = let final dynamic #t295 = t in let final dynamic #t296 = "x" in let final dynamic #t297 = #t295.[](#t296) in #t297.==(null) ?{dynamic} let final dynamic #t298 = self::getDouble() in let final dynamic #t299 = #t295.[]=(#t296, #t298) in #t298 : #t297;
dynamic v4 = let final dynamic #t285 = t in let final dynamic #t286 = "x" in let final dynamic #t287 = #t285.[](#t286) in #t287.==(null) ? let final dynamic #t288 = self::getInt() in let final dynamic #t289 = #t285.[]=(#t286, #t288) in #t288 : #t287;
dynamic v5 = let final dynamic #t290 = t in let final dynamic #t291 = "x" in let final dynamic #t292 = #t290.[](#t291) in #t292.==(null) ? let final dynamic #t293 = self::getNum() in let final dynamic #t294 = #t290.[]=(#t291, #t293) in #t293 : #t292;
dynamic v6 = let final dynamic #t295 = t in let final dynamic #t296 = "x" in let final dynamic #t297 = #t295.[](#t296) in #t297.==(null) ? let final dynamic #t298 = self::getDouble() in let final dynamic #t299 = #t295.[]=(#t296, #t298) in #t298 : #t297;
dynamic v7 = let final dynamic #t300 = t in let final dynamic #t301 = "x" in let final dynamic #t302 = #t300.[](#t301).+(self::getInt()) in let final dynamic #t303 = #t300.[]=(#t301, #t302) in #t302;
dynamic v8 = let final dynamic #t304 = t in let final dynamic #t305 = "x" in let final dynamic #t306 = #t304.[](#t305).+(self::getNum()) in let final dynamic #t307 = #t304.[]=(#t305, #t306) in #t306;
dynamic v9 = let final dynamic #t308 = t in let final dynamic #t309 = "x" in let final dynamic #t310 = #t308.[](#t309).+(self::getDouble()) in let final dynamic #t311 = #t308.[]=(#t309, #t310) in #t310;
@ -109,8 +109,8 @@ static method test8(self::Test<core::double, core::num> t) → void {
static method test9(self::Test<core::double, core::double> t) → void {
dynamic v2 = let final dynamic #t320 = t in let final dynamic #t321 = "x" in let final dynamic #t322 = self::getNum() in let final dynamic #t323 = #t320.[]=(#t321, #t322) in #t322;
dynamic v3 = let final dynamic #t324 = t in let final dynamic #t325 = "x" in let final dynamic #t326 = self::getDouble() in let final dynamic #t327 = #t324.[]=(#t325, #t326) in #t326;
dynamic v5 = let final dynamic #t328 = t in let final dynamic #t329 = "x" in let final dynamic #t330 = #t328.[](#t329) in #t330.==(null) ?{dynamic} let final dynamic #t331 = self::getNum() in let final dynamic #t332 = #t328.[]=(#t329, #t331) in #t331 : #t330;
dynamic v6 = let final dynamic #t333 = t in let final dynamic #t334 = "x" in let final dynamic #t335 = #t333.[](#t334) in #t335.==(null) ?{dynamic} let final dynamic #t336 = self::getDouble() in let final dynamic #t337 = #t333.[]=(#t334, #t336) in #t336 : #t335;
dynamic v5 = let final dynamic #t328 = t in let final dynamic #t329 = "x" in let final dynamic #t330 = #t328.[](#t329) in #t330.==(null) ? let final dynamic #t331 = self::getNum() in let final dynamic #t332 = #t328.[]=(#t329, #t331) in #t331 : #t330;
dynamic v6 = let final dynamic #t333 = t in let final dynamic #t334 = "x" in let final dynamic #t335 = #t333.[](#t334) in #t335.==(null) ? let final dynamic #t336 = self::getDouble() in let final dynamic #t337 = #t333.[]=(#t334, #t336) in #t336 : #t335;
dynamic v7 = let final dynamic #t338 = t in let final dynamic #t339 = "x" in let final dynamic #t340 = #t338.[](#t339).+(self::getInt()) in let final dynamic #t341 = #t338.[]=(#t339, #t340) in #t340;
dynamic v8 = let final dynamic #t342 = t in let final dynamic #t343 = "x" in let final dynamic #t344 = #t342.[](#t343).+(self::getNum()) in let final dynamic #t345 = #t342.[]=(#t343, #t344) in #t344;
dynamic v9 = let final dynamic #t346 = t in let final dynamic #t347 = "x" in let final dynamic #t348 = #t346.[](#t347).+(self::getDouble()) in let final dynamic #t349 = #t346.[]=(#t347, #t348) in #t348;

View file

@ -18,8 +18,8 @@ static method getDouble() → core::double
static method test1(self::Test<core::int, core::int> t) → void {
core::int v1 = let final dynamic #t1 = t in let final dynamic #t2 = "x" in let final dynamic #t3 = self::getInt() in let final dynamic #t4 = #t1.{self::Test::[]=}(#t2, #t3) in #t3;
core::num v2 = let final dynamic #t5 = t in let final dynamic #t6 = "x" in let final dynamic #t7 = self::getNum() in let final dynamic #t8 = #t5.{self::Test::[]=}(#t6, #t7) in #t7;
core::int v4 = let final dynamic #t9 = t in let final dynamic #t10 = "x" in let final dynamic #t11 = #t9.{self::Test::[]}(#t10) in #t11.{core::num::==}(null) ?{dynamic} let final dynamic #t12 = self::getInt() in let final dynamic #t13 = #t9.{self::Test::[]=}(#t10, #t12) in #t12 : #t11;
core::num v5 = let final dynamic #t14 = t in let final dynamic #t15 = "x" in let final dynamic #t16 = #t14.{self::Test::[]}(#t15) in #t16.{core::num::==}(null) ?{dynamic} let final dynamic #t17 = self::getNum() in let final dynamic #t18 = #t14.{self::Test::[]=}(#t15, #t17) in #t17 : #t16;
core::int v4 = let final dynamic #t9 = t in let final dynamic #t10 = "x" in let final dynamic #t11 = #t9.{self::Test::[]}(#t10) in #t11.{core::num::==}(null) ? let final dynamic #t12 = self::getInt() in let final dynamic #t13 = #t9.{self::Test::[]=}(#t10, #t12) in #t12 : #t11;
core::num v5 = let final dynamic #t14 = t in let final dynamic #t15 = "x" in let final dynamic #t16 = #t14.{self::Test::[]}(#t15) in #t16.{core::num::==}(null) ? let final dynamic #t17 = self::getNum() in let final dynamic #t18 = #t14.{self::Test::[]=}(#t15, #t17) in #t17 : #t16;
core::int v7 = let final dynamic #t19 = t in let final dynamic #t20 = "x" in let final dynamic #t21 = #t19.{self::Test::[]}(#t20).{core::num::+}(self::getInt()) in let final dynamic #t22 = #t19.{self::Test::[]=}(#t20, #t21) in #t21;
core::num v8 = let final dynamic #t23 = t in let final dynamic #t24 = "x" in let final dynamic #t25 = #t23.{self::Test::[]}(#t24).{core::num::+}(self::getNum()) in let final dynamic #t26 = #t23.{self::Test::[]=}(#t24, #t25) in #t25;
core::int v10 = let final dynamic #t27 = t in let final dynamic #t28 = "x" in let final dynamic #t29 = #t27.{self::Test::[]}(#t28).{core::num::+}(1) in let final dynamic #t30 = #t27.{self::Test::[]=}(#t28, #t29) in #t29;
@ -29,9 +29,9 @@ static method test2(self::Test<core::int, core::num> t) → void {
core::int v1 = let final dynamic #t35 = t in let final dynamic #t36 = "x" in let final dynamic #t37 = self::getInt() in let final dynamic #t38 = #t35.{self::Test::[]=}(#t36, #t37) in #t37;
core::num v2 = let final dynamic #t39 = t in let final dynamic #t40 = "x" in let final dynamic #t41 = self::getNum() in let final dynamic #t42 = #t39.{self::Test::[]=}(#t40, #t41) in #t41;
core::double v3 = let final dynamic #t43 = t in let final dynamic #t44 = "x" in let final dynamic #t45 = self::getDouble() in let final dynamic #t46 = #t43.{self::Test::[]=}(#t44, #t45) in #t45;
core::num v4 = let final dynamic #t47 = t in let final dynamic #t48 = "x" in let final dynamic #t49 = #t47.{self::Test::[]}(#t48) in #t49.{core::num::==}(null) ?{dynamic} let final dynamic #t50 = self::getInt() in let final dynamic #t51 = #t47.{self::Test::[]=}(#t48, #t50) in #t50 : #t49;
core::num v5 = let final dynamic #t52 = t in let final dynamic #t53 = "x" in let final dynamic #t54 = #t52.{self::Test::[]}(#t53) in #t54.{core::num::==}(null) ?{dynamic} let final dynamic #t55 = self::getNum() in let final dynamic #t56 = #t52.{self::Test::[]=}(#t53, #t55) in #t55 : #t54;
core::num v6 = let final dynamic #t57 = t in let final dynamic #t58 = "x" in let final dynamic #t59 = #t57.{self::Test::[]}(#t58) in #t59.{core::num::==}(null) ?{dynamic} let final dynamic #t60 = self::getDouble() in let final dynamic #t61 = #t57.{self::Test::[]=}(#t58, #t60) in #t60 : #t59;
core::num v4 = let final dynamic #t47 = t in let final dynamic #t48 = "x" in let final dynamic #t49 = #t47.{self::Test::[]}(#t48) in #t49.{core::num::==}(null) ? let final dynamic #t50 = self::getInt() in let final dynamic #t51 = #t47.{self::Test::[]=}(#t48, #t50) in #t50 : #t49;
core::num v5 = let final dynamic #t52 = t in let final dynamic #t53 = "x" in let final dynamic #t54 = #t52.{self::Test::[]}(#t53) in #t54.{core::num::==}(null) ? let final dynamic #t55 = self::getNum() in let final dynamic #t56 = #t52.{self::Test::[]=}(#t53, #t55) in #t55 : #t54;
core::num v6 = let final dynamic #t57 = t in let final dynamic #t58 = "x" in let final dynamic #t59 = #t57.{self::Test::[]}(#t58) in #t59.{core::num::==}(null) ? let final dynamic #t60 = self::getDouble() in let final dynamic #t61 = #t57.{self::Test::[]=}(#t58, #t60) in #t60 : #t59;
core::num v7 = let final dynamic #t62 = t in let final dynamic #t63 = "x" in let final dynamic #t64 = #t62.{self::Test::[]}(#t63).{core::num::+}(self::getInt()) in let final dynamic #t65 = #t62.{self::Test::[]=}(#t63, #t64) in #t64;
core::num v8 = let final dynamic #t66 = t in let final dynamic #t67 = "x" in let final dynamic #t68 = #t66.{self::Test::[]}(#t67).{core::num::+}(self::getNum()) in let final dynamic #t69 = #t66.{self::Test::[]=}(#t67, #t68) in #t68;
core::num v9 = let final dynamic #t70 = t in let final dynamic #t71 = "x" in let final dynamic #t72 = #t70.{self::Test::[]}(#t71).{core::num::+}(self::getDouble()) in let final dynamic #t73 = #t70.{self::Test::[]=}(#t71, #t72) in #t72;
@ -41,8 +41,8 @@ static method test2(self::Test<core::int, core::num> t) → void {
static method test3(self::Test<core::int, core::double> t) → void {
core::num v2 = let final dynamic #t82 = t in let final dynamic #t83 = "x" in let final dynamic #t84 = self::getNum() in let final dynamic #t85 = #t82.{self::Test::[]=}(#t83, #t84) in #t84;
core::double v3 = let final dynamic #t86 = t in let final dynamic #t87 = "x" in let final dynamic #t88 = self::getDouble() in let final dynamic #t89 = #t86.{self::Test::[]=}(#t87, #t88) in #t88;
core::num v5 = let final dynamic #t90 = t in let final dynamic #t91 = "x" in let final dynamic #t92 = #t90.{self::Test::[]}(#t91) in #t92.{core::num::==}(null) ?{dynamic} let final dynamic #t93 = self::getNum() in let final dynamic #t94 = #t90.{self::Test::[]=}(#t91, #t93) in #t93 : #t92;
core::double v6 = let final dynamic #t95 = t in let final dynamic #t96 = "x" in let final dynamic #t97 = #t95.{self::Test::[]}(#t96) in #t97.{core::num::==}(null) ?{dynamic} let final dynamic #t98 = self::getDouble() in let final dynamic #t99 = #t95.{self::Test::[]=}(#t96, #t98) in #t98 : #t97;
core::num v5 = let final dynamic #t90 = t in let final dynamic #t91 = "x" in let final dynamic #t92 = #t90.{self::Test::[]}(#t91) in #t92.{core::num::==}(null) ? let final dynamic #t93 = self::getNum() in let final dynamic #t94 = #t90.{self::Test::[]=}(#t91, #t93) in #t93 : #t92;
core::double v6 = let final dynamic #t95 = t in let final dynamic #t96 = "x" in let final dynamic #t97 = #t95.{self::Test::[]}(#t96) in #t97.{core::num::==}(null) ? let final dynamic #t98 = self::getDouble() in let final dynamic #t99 = #t95.{self::Test::[]=}(#t96, #t98) in #t98 : #t97;
core::double v7 = let final dynamic #t100 = t in let final dynamic #t101 = "x" in let final dynamic #t102 = #t100.{self::Test::[]}(#t101).{core::double::+}(self::getInt()) in let final dynamic #t103 = #t100.{self::Test::[]=}(#t101, #t102) in #t102;
core::double v8 = let final dynamic #t104 = t in let final dynamic #t105 = "x" in let final dynamic #t106 = #t104.{self::Test::[]}(#t105).{core::double::+}(self::getNum()) in let final dynamic #t107 = #t104.{self::Test::[]=}(#t105, #t106) in #t106;
core::double v9 = let final dynamic #t108 = t in let final dynamic #t109 = "x" in let final dynamic #t110 = #t108.{self::Test::[]}(#t109).{core::double::+}(self::getDouble()) in let final dynamic #t111 = #t108.{self::Test::[]=}(#t109, #t110) in #t110;
@ -52,8 +52,8 @@ static method test3(self::Test<core::int, core::double> t) → void {
static method test4(self::Test<core::num, core::int> t) → void {
core::int v1 = let final dynamic #t120 = t in let final dynamic #t121 = "x" in let final dynamic #t122 = self::getInt() in let final dynamic #t123 = #t120.{self::Test::[]=}(#t121, #t122) in #t122;
core::num v2 = let final dynamic #t124 = t in let final dynamic #t125 = "x" in let final dynamic #t126 = self::getNum() in let final dynamic #t127 = #t124.{self::Test::[]=}(#t125, #t126) in #t126;
core::int v4 = let final dynamic #t128 = t in let final dynamic #t129 = "x" in let final dynamic #t130 = #t128.{self::Test::[]}(#t129) in #t130.{core::num::==}(null) ?{dynamic} let final dynamic #t131 = self::getInt() in let final dynamic #t132 = #t128.{self::Test::[]=}(#t129, #t131) in #t131 : #t130;
core::num v5 = let final dynamic #t133 = t in let final dynamic #t134 = "x" in let final dynamic #t135 = #t133.{self::Test::[]}(#t134) in #t135.{core::num::==}(null) ?{dynamic} let final dynamic #t136 = self::getNum() in let final dynamic #t137 = #t133.{self::Test::[]=}(#t134, #t136) in #t136 : #t135;
core::int v4 = let final dynamic #t128 = t in let final dynamic #t129 = "x" in let final dynamic #t130 = #t128.{self::Test::[]}(#t129) in #t130.{core::num::==}(null) ? let final dynamic #t131 = self::getInt() in let final dynamic #t132 = #t128.{self::Test::[]=}(#t129, #t131) in #t131 : #t130;
core::num v5 = let final dynamic #t133 = t in let final dynamic #t134 = "x" in let final dynamic #t135 = #t133.{self::Test::[]}(#t134) in #t135.{core::num::==}(null) ? let final dynamic #t136 = self::getNum() in let final dynamic #t137 = #t133.{self::Test::[]=}(#t134, #t136) in #t136 : #t135;
core::int v7 = let final dynamic #t138 = t in let final dynamic #t139 = "x" in let final dynamic #t140 = #t138.{self::Test::[]}(#t139).{core::num::+}(self::getInt()) in let final dynamic #t141 = #t138.{self::Test::[]=}(#t139, #t140) in #t140;
core::num v8 = let final dynamic #t142 = t in let final dynamic #t143 = "x" in let final dynamic #t144 = #t142.{self::Test::[]}(#t143).{core::num::+}(self::getNum()) in let final dynamic #t145 = #t142.{self::Test::[]=}(#t143, #t144) in #t144;
core::int v10 = let final dynamic #t146 = t in let final dynamic #t147 = "x" in let final dynamic #t148 = #t146.{self::Test::[]}(#t147).{core::num::+}(1) in let final dynamic #t149 = #t146.{self::Test::[]=}(#t147, #t148) in #t148;
@ -63,9 +63,9 @@ static method test5(self::Test<core::num, core::num> t) → void {
core::int v1 = let final dynamic #t154 = t in let final dynamic #t155 = "x" in let final dynamic #t156 = self::getInt() in let final dynamic #t157 = #t154.{self::Test::[]=}(#t155, #t156) in #t156;
core::num v2 = let final dynamic #t158 = t in let final dynamic #t159 = "x" in let final dynamic #t160 = self::getNum() in let final dynamic #t161 = #t158.{self::Test::[]=}(#t159, #t160) in #t160;
core::double v3 = let final dynamic #t162 = t in let final dynamic #t163 = "x" in let final dynamic #t164 = self::getDouble() in let final dynamic #t165 = #t162.{self::Test::[]=}(#t163, #t164) in #t164;
core::num v4 = let final dynamic #t166 = t in let final dynamic #t167 = "x" in let final dynamic #t168 = #t166.{self::Test::[]}(#t167) in #t168.{core::num::==}(null) ?{dynamic} let final dynamic #t169 = self::getInt() in let final dynamic #t170 = #t166.{self::Test::[]=}(#t167, #t169) in #t169 : #t168;
core::num v5 = let final dynamic #t171 = t in let final dynamic #t172 = "x" in let final dynamic #t173 = #t171.{self::Test::[]}(#t172) in #t173.{core::num::==}(null) ?{dynamic} let final dynamic #t174 = self::getNum() in let final dynamic #t175 = #t171.{self::Test::[]=}(#t172, #t174) in #t174 : #t173;
core::num v6 = let final dynamic #t176 = t in let final dynamic #t177 = "x" in let final dynamic #t178 = #t176.{self::Test::[]}(#t177) in #t178.{core::num::==}(null) ?{dynamic} let final dynamic #t179 = self::getDouble() in let final dynamic #t180 = #t176.{self::Test::[]=}(#t177, #t179) in #t179 : #t178;
core::num v4 = let final dynamic #t166 = t in let final dynamic #t167 = "x" in let final dynamic #t168 = #t166.{self::Test::[]}(#t167) in #t168.{core::num::==}(null) ? let final dynamic #t169 = self::getInt() in let final dynamic #t170 = #t166.{self::Test::[]=}(#t167, #t169) in #t169 : #t168;
core::num v5 = let final dynamic #t171 = t in let final dynamic #t172 = "x" in let final dynamic #t173 = #t171.{self::Test::[]}(#t172) in #t173.{core::num::==}(null) ? let final dynamic #t174 = self::getNum() in let final dynamic #t175 = #t171.{self::Test::[]=}(#t172, #t174) in #t174 : #t173;
core::num v6 = let final dynamic #t176 = t in let final dynamic #t177 = "x" in let final dynamic #t178 = #t176.{self::Test::[]}(#t177) in #t178.{core::num::==}(null) ? let final dynamic #t179 = self::getDouble() in let final dynamic #t180 = #t176.{self::Test::[]=}(#t177, #t179) in #t179 : #t178;
core::num v7 = let final dynamic #t181 = t in let final dynamic #t182 = "x" in let final dynamic #t183 = #t181.{self::Test::[]}(#t182).{core::num::+}(self::getInt()) in let final dynamic #t184 = #t181.{self::Test::[]=}(#t182, #t183) in #t183;
core::num v8 = let final dynamic #t185 = t in let final dynamic #t186 = "x" in let final dynamic #t187 = #t185.{self::Test::[]}(#t186).{core::num::+}(self::getNum()) in let final dynamic #t188 = #t185.{self::Test::[]=}(#t186, #t187) in #t187;
core::num v9 = let final dynamic #t189 = t in let final dynamic #t190 = "x" in let final dynamic #t191 = #t189.{self::Test::[]}(#t190).{core::num::+}(self::getDouble()) in let final dynamic #t192 = #t189.{self::Test::[]=}(#t190, #t191) in #t191;
@ -75,8 +75,8 @@ static method test5(self::Test<core::num, core::num> t) → void {
static method test6(self::Test<core::num, core::double> t) → void {
core::num v2 = let final dynamic #t201 = t in let final dynamic #t202 = "x" in let final dynamic #t203 = self::getNum() in let final dynamic #t204 = #t201.{self::Test::[]=}(#t202, #t203) in #t203;
core::double v3 = let final dynamic #t205 = t in let final dynamic #t206 = "x" in let final dynamic #t207 = self::getDouble() in let final dynamic #t208 = #t205.{self::Test::[]=}(#t206, #t207) in #t207;
core::num v5 = let final dynamic #t209 = t in let final dynamic #t210 = "x" in let final dynamic #t211 = #t209.{self::Test::[]}(#t210) in #t211.{core::num::==}(null) ?{dynamic} let final dynamic #t212 = self::getNum() in let final dynamic #t213 = #t209.{self::Test::[]=}(#t210, #t212) in #t212 : #t211;
core::double v6 = let final dynamic #t214 = t in let final dynamic #t215 = "x" in let final dynamic #t216 = #t214.{self::Test::[]}(#t215) in #t216.{core::num::==}(null) ?{dynamic} let final dynamic #t217 = self::getDouble() in let final dynamic #t218 = #t214.{self::Test::[]=}(#t215, #t217) in #t217 : #t216;
core::num v5 = let final dynamic #t209 = t in let final dynamic #t210 = "x" in let final dynamic #t211 = #t209.{self::Test::[]}(#t210) in #t211.{core::num::==}(null) ? let final dynamic #t212 = self::getNum() in let final dynamic #t213 = #t209.{self::Test::[]=}(#t210, #t212) in #t212 : #t211;
core::double v6 = let final dynamic #t214 = t in let final dynamic #t215 = "x" in let final dynamic #t216 = #t214.{self::Test::[]}(#t215) in #t216.{core::num::==}(null) ? let final dynamic #t217 = self::getDouble() in let final dynamic #t218 = #t214.{self::Test::[]=}(#t215, #t217) in #t217 : #t216;
core::double v7 = let final dynamic #t219 = t in let final dynamic #t220 = "x" in let final dynamic #t221 = #t219.{self::Test::[]}(#t220).{core::double::+}(self::getInt()) in let final dynamic #t222 = #t219.{self::Test::[]=}(#t220, #t221) in #t221;
core::double v8 = let final dynamic #t223 = t in let final dynamic #t224 = "x" in let final dynamic #t225 = #t223.{self::Test::[]}(#t224).{core::double::+}(self::getNum()) in let final dynamic #t226 = #t223.{self::Test::[]=}(#t224, #t225) in #t225;
core::double v9 = let final dynamic #t227 = t in let final dynamic #t228 = "x" in let final dynamic #t229 = #t227.{self::Test::[]}(#t228).{core::double::+}(self::getDouble()) in let final dynamic #t230 = #t227.{self::Test::[]=}(#t228, #t229) in #t229;
@ -86,8 +86,8 @@ static method test6(self::Test<core::num, core::double> t) → void {
static method test7(self::Test<core::double, core::int> t) → void {
core::int v1 = let final dynamic #t239 = t in let final dynamic #t240 = "x" in let final dynamic #t241 = self::getInt() in let final dynamic #t242 = #t239.{self::Test::[]=}(#t240, #t241) in #t241;
core::num v2 = let final dynamic #t243 = t in let final dynamic #t244 = "x" in let final dynamic #t245 = self::getNum() in let final dynamic #t246 = #t243.{self::Test::[]=}(#t244, #t245) in #t245;
core::int v4 = let final dynamic #t247 = t in let final dynamic #t248 = "x" in let final dynamic #t249 = #t247.{self::Test::[]}(#t248) in #t249.{core::num::==}(null) ?{dynamic} let final dynamic #t250 = self::getInt() in let final dynamic #t251 = #t247.{self::Test::[]=}(#t248, #t250) in #t250 : #t249;
core::num v5 = let final dynamic #t252 = t in let final dynamic #t253 = "x" in let final dynamic #t254 = #t252.{self::Test::[]}(#t253) in #t254.{core::num::==}(null) ?{dynamic} let final dynamic #t255 = self::getNum() in let final dynamic #t256 = #t252.{self::Test::[]=}(#t253, #t255) in #t255 : #t254;
core::int v4 = let final dynamic #t247 = t in let final dynamic #t248 = "x" in let final dynamic #t249 = #t247.{self::Test::[]}(#t248) in #t249.{core::num::==}(null) ? let final dynamic #t250 = self::getInt() in let final dynamic #t251 = #t247.{self::Test::[]=}(#t248, #t250) in #t250 : #t249;
core::num v5 = let final dynamic #t252 = t in let final dynamic #t253 = "x" in let final dynamic #t254 = #t252.{self::Test::[]}(#t253) in #t254.{core::num::==}(null) ? let final dynamic #t255 = self::getNum() in let final dynamic #t256 = #t252.{self::Test::[]=}(#t253, #t255) in #t255 : #t254;
core::int v7 = let final dynamic #t257 = t in let final dynamic #t258 = "x" in let final dynamic #t259 = #t257.{self::Test::[]}(#t258).{core::num::+}(self::getInt()) in let final dynamic #t260 = #t257.{self::Test::[]=}(#t258, #t259) in #t259;
core::num v8 = let final dynamic #t261 = t in let final dynamic #t262 = "x" in let final dynamic #t263 = #t261.{self::Test::[]}(#t262).{core::num::+}(self::getNum()) in let final dynamic #t264 = #t261.{self::Test::[]=}(#t262, #t263) in #t263;
core::int v10 = let final dynamic #t265 = t in let final dynamic #t266 = "x" in let final dynamic #t267 = #t265.{self::Test::[]}(#t266).{core::num::+}(1) in let final dynamic #t268 = #t265.{self::Test::[]=}(#t266, #t267) in #t267;
@ -97,9 +97,9 @@ static method test8(self::Test<core::double, core::num> t) → void {
core::int v1 = let final dynamic #t273 = t in let final dynamic #t274 = "x" in let final dynamic #t275 = self::getInt() in let final dynamic #t276 = #t273.{self::Test::[]=}(#t274, #t275) in #t275;
core::num v2 = let final dynamic #t277 = t in let final dynamic #t278 = "x" in let final dynamic #t279 = self::getNum() in let final dynamic #t280 = #t277.{self::Test::[]=}(#t278, #t279) in #t279;
core::double v3 = let final dynamic #t281 = t in let final dynamic #t282 = "x" in let final dynamic #t283 = self::getDouble() in let final dynamic #t284 = #t281.{self::Test::[]=}(#t282, #t283) in #t283;
core::num v4 = let final dynamic #t285 = t in let final dynamic #t286 = "x" in let final dynamic #t287 = #t285.{self::Test::[]}(#t286) in #t287.{core::num::==}(null) ?{dynamic} let final dynamic #t288 = self::getInt() in let final dynamic #t289 = #t285.{self::Test::[]=}(#t286, #t288) in #t288 : #t287;
core::num v5 = let final dynamic #t290 = t in let final dynamic #t291 = "x" in let final dynamic #t292 = #t290.{self::Test::[]}(#t291) in #t292.{core::num::==}(null) ?{dynamic} let final dynamic #t293 = self::getNum() in let final dynamic #t294 = #t290.{self::Test::[]=}(#t291, #t293) in #t293 : #t292;
core::num v6 = let final dynamic #t295 = t in let final dynamic #t296 = "x" in let final dynamic #t297 = #t295.{self::Test::[]}(#t296) in #t297.{core::num::==}(null) ?{dynamic} let final dynamic #t298 = self::getDouble() in let final dynamic #t299 = #t295.{self::Test::[]=}(#t296, #t298) in #t298 : #t297;
core::num v4 = let final dynamic #t285 = t in let final dynamic #t286 = "x" in let final dynamic #t287 = #t285.{self::Test::[]}(#t286) in #t287.{core::num::==}(null) ? let final dynamic #t288 = self::getInt() in let final dynamic #t289 = #t285.{self::Test::[]=}(#t286, #t288) in #t288 : #t287;
core::num v5 = let final dynamic #t290 = t in let final dynamic #t291 = "x" in let final dynamic #t292 = #t290.{self::Test::[]}(#t291) in #t292.{core::num::==}(null) ? let final dynamic #t293 = self::getNum() in let final dynamic #t294 = #t290.{self::Test::[]=}(#t291, #t293) in #t293 : #t292;
core::num v6 = let final dynamic #t295 = t in let final dynamic #t296 = "x" in let final dynamic #t297 = #t295.{self::Test::[]}(#t296) in #t297.{core::num::==}(null) ? let final dynamic #t298 = self::getDouble() in let final dynamic #t299 = #t295.{self::Test::[]=}(#t296, #t298) in #t298 : #t297;
core::num v7 = let final dynamic #t300 = t in let final dynamic #t301 = "x" in let final dynamic #t302 = #t300.{self::Test::[]}(#t301).{core::num::+}(self::getInt()) in let final dynamic #t303 = #t300.{self::Test::[]=}(#t301, #t302) in #t302;
core::num v8 = let final dynamic #t304 = t in let final dynamic #t305 = "x" in let final dynamic #t306 = #t304.{self::Test::[]}(#t305).{core::num::+}(self::getNum()) in let final dynamic #t307 = #t304.{self::Test::[]=}(#t305, #t306) in #t306;
core::num v9 = let final dynamic #t308 = t in let final dynamic #t309 = "x" in let final dynamic #t310 = #t308.{self::Test::[]}(#t309).{core::num::+}(self::getDouble()) in let final dynamic #t311 = #t308.{self::Test::[]=}(#t309, #t310) in #t310;
@ -109,8 +109,8 @@ static method test8(self::Test<core::double, core::num> t) → void {
static method test9(self::Test<core::double, core::double> t) → void {
core::num v2 = let final dynamic #t320 = t in let final dynamic #t321 = "x" in let final dynamic #t322 = self::getNum() in let final dynamic #t323 = #t320.{self::Test::[]=}(#t321, #t322) in #t322;
core::double v3 = let final dynamic #t324 = t in let final dynamic #t325 = "x" in let final dynamic #t326 = self::getDouble() in let final dynamic #t327 = #t324.{self::Test::[]=}(#t325, #t326) in #t326;
core::num v5 = let final dynamic #t328 = t in let final dynamic #t329 = "x" in let final dynamic #t330 = #t328.{self::Test::[]}(#t329) in #t330.{core::num::==}(null) ?{dynamic} let final dynamic #t331 = self::getNum() in let final dynamic #t332 = #t328.{self::Test::[]=}(#t329, #t331) in #t331 : #t330;
core::double v6 = let final dynamic #t333 = t in let final dynamic #t334 = "x" in let final dynamic #t335 = #t333.{self::Test::[]}(#t334) in #t335.{core::num::==}(null) ?{dynamic} let final dynamic #t336 = self::getDouble() in let final dynamic #t337 = #t333.{self::Test::[]=}(#t334, #t336) in #t336 : #t335;
core::num v5 = let final dynamic #t328 = t in let final dynamic #t329 = "x" in let final dynamic #t330 = #t328.{self::Test::[]}(#t329) in #t330.{core::num::==}(null) ? let final dynamic #t331 = self::getNum() in let final dynamic #t332 = #t328.{self::Test::[]=}(#t329, #t331) in #t331 : #t330;
core::double v6 = let final dynamic #t333 = t in let final dynamic #t334 = "x" in let final dynamic #t335 = #t333.{self::Test::[]}(#t334) in #t335.{core::num::==}(null) ? let final dynamic #t336 = self::getDouble() in let final dynamic #t337 = #t333.{self::Test::[]=}(#t334, #t336) in #t336 : #t335;
core::double v7 = let final dynamic #t338 = t in let final dynamic #t339 = "x" in let final dynamic #t340 = #t338.{self::Test::[]}(#t339).{core::double::+}(self::getInt()) in let final dynamic #t341 = #t338.{self::Test::[]=}(#t339, #t340) in #t340;
core::double v8 = let final dynamic #t342 = t in let final dynamic #t343 = "x" in let final dynamic #t344 = #t342.{self::Test::[]}(#t343).{core::double::+}(self::getNum()) in let final dynamic #t345 = #t342.{self::Test::[]=}(#t343, #t344) in #t344;
core::double v9 = let final dynamic #t346 = t in let final dynamic #t347 = "x" in let final dynamic #t348 = #t346.{self::Test::[]}(#t347).{core::double::+}(self::getDouble()) in let final dynamic #t349 = #t346.{self::Test::[]=}(#t347, #t348) in #t348;

View file

@ -30,14 +30,14 @@ static method f<T extends core::Object>() → self::f::T
static method test() → void {
self::B local;
local = self::f<dynamic>();
local.==(null) ?{dynamic} local = self::f<dynamic>() : null;
local.==(null) ? local = self::f<dynamic>() : null;
local = local.+(self::f<dynamic>());
local = local.*(self::f<dynamic>());
local = local.&(self::f<dynamic>());
local = local.-(1);
local = local.-(1);
dynamic v1 = local = self::f<dynamic>();
dynamic v2 = let final dynamic #t1 = local in #t1.==(null) ?{dynamic} local = self::f<dynamic>() : #t1;
dynamic v2 = let final dynamic #t1 = local in #t1.==(null) ? local = self::f<dynamic>() : #t1;
dynamic v3 = local = local.+(self::f<dynamic>());
dynamic v4 = local = local.*(self::f<dynamic>());
dynamic v5 = local = local.&(self::f<dynamic>());

View file

@ -30,14 +30,14 @@ static method f<T extends core::Object>() → self::f::T
static method test() → void {
self::B local;
local = self::f<self::B>();
local.{core::Object::==}(null) ?{dynamic} local = self::f<self::B>() : null;
local.{core::Object::==}(null) ? local = self::f<self::B>() : null;
local = local.{self::B::+}(self::f<dynamic>());
local = local.{self::B::*}(self::f<dynamic>());
local = local.{self::B::&}(self::f<dynamic>());
local = local.{self::B::-}(1);
local = local.{self::B::-}(1);
self::B v1 = local = self::f<self::B>();
self::B v2 = let final dynamic #t1 = local in #t1.{core::Object::==}(null) ?{dynamic} local = self::f<self::B>() : #t1;
self::B v2 = let final dynamic #t1 = local in #t1.{core::Object::==}(null) ? local = self::f<self::B>() : #t1;
self::A v3 = local = local.{self::B::+}(self::f<dynamic>());
self::B v4 = local = local.{self::B::*}(self::f<dynamic>());
self::C v5 = local = local.{self::B::&}(self::f<dynamic>());

View file

@ -11,8 +11,8 @@ static method getDouble() → core::double
static method test1(core::int t) → void {
dynamic v1 = t = self::getInt();
dynamic v2 = t = self::getNum();
dynamic v4 = let final dynamic #t1 = t in #t1.==(null) ?{dynamic} t = self::getInt() : #t1;
dynamic v5 = let final dynamic #t2 = t in #t2.==(null) ?{dynamic} t = self::getNum() : #t2;
dynamic v4 = let final dynamic #t1 = t in #t1.==(null) ? t = self::getInt() : #t1;
dynamic v5 = let final dynamic #t2 = t in #t2.==(null) ? t = self::getNum() : #t2;
dynamic v7 = t = t.+(self::getInt());
dynamic v8 = t = t.+(self::getNum());
dynamic v10 = t = t.+(1);
@ -22,9 +22,9 @@ static method test2(core::num t) → void {
dynamic v1 = t = self::getInt();
dynamic v2 = t = self::getNum();
dynamic v3 = t = self::getDouble();
dynamic v4 = let final dynamic #t5 = t in #t5.==(null) ?{dynamic} t = self::getInt() : #t5;
dynamic v5 = let final dynamic #t6 = t in #t6.==(null) ?{dynamic} t = self::getNum() : #t6;
dynamic v6 = let final dynamic #t7 = t in #t7.==(null) ?{dynamic} t = self::getDouble() : #t7;
dynamic v4 = let final dynamic #t5 = t in #t5.==(null) ? t = self::getInt() : #t5;
dynamic v5 = let final dynamic #t6 = t in #t6.==(null) ? t = self::getNum() : #t6;
dynamic v6 = let final dynamic #t7 = t in #t7.==(null) ? t = self::getDouble() : #t7;
dynamic v7 = t = t.+(self::getInt());
dynamic v8 = t = t.+(self::getNum());
dynamic v9 = t = t.+(self::getDouble());
@ -34,8 +34,8 @@ static method test2(core::num t) → void {
static method test3(core::double t) → void {
dynamic v2 = t = self::getNum();
dynamic v3 = t = self::getDouble();
dynamic v5 = let final dynamic #t10 = t in #t10.==(null) ?{dynamic} t = self::getNum() : #t10;
dynamic v6 = let final dynamic #t11 = t in #t11.==(null) ?{dynamic} t = self::getDouble() : #t11;
dynamic v5 = let final dynamic #t10 = t in #t10.==(null) ? t = self::getNum() : #t10;
dynamic v6 = let final dynamic #t11 = t in #t11.==(null) ? t = self::getDouble() : #t11;
dynamic v7 = t = t.+(self::getInt());
dynamic v8 = t = t.+(self::getNum());
dynamic v9 = t = t.+(self::getDouble());

View file

@ -11,8 +11,8 @@ static method getDouble() → core::double
static method test1(core::int t) → void {
core::int v1 = t = self::getInt();
core::num v2 = t = self::getNum();
core::int v4 = let final dynamic #t1 = t in #t1.{core::num::==}(null) ?{dynamic} t = self::getInt() : #t1;
core::num v5 = let final dynamic #t2 = t in #t2.{core::num::==}(null) ?{dynamic} t = self::getNum() : #t2;
core::int v4 = let final dynamic #t1 = t in #t1.{core::num::==}(null) ? t = self::getInt() : #t1;
core::num v5 = let final dynamic #t2 = t in #t2.{core::num::==}(null) ? t = self::getNum() : #t2;
core::int v7 = t = t.{core::num::+}(self::getInt());
core::num v8 = t = t.{core::num::+}(self::getNum());
core::int v10 = t = t.{core::num::+}(1);
@ -22,9 +22,9 @@ static method test2(core::num t) → void {
core::int v1 = t = self::getInt();
core::num v2 = t = self::getNum();
core::double v3 = t = self::getDouble();
core::num v4 = let final dynamic #t5 = t in #t5.{core::num::==}(null) ?{dynamic} t = self::getInt() : #t5;
core::num v5 = let final dynamic #t6 = t in #t6.{core::num::==}(null) ?{dynamic} t = self::getNum() : #t6;
core::num v6 = let final dynamic #t7 = t in #t7.{core::num::==}(null) ?{dynamic} t = self::getDouble() : #t7;
core::num v4 = let final dynamic #t5 = t in #t5.{core::num::==}(null) ? t = self::getInt() : #t5;
core::num v5 = let final dynamic #t6 = t in #t6.{core::num::==}(null) ? t = self::getNum() : #t6;
core::num v6 = let final dynamic #t7 = t in #t7.{core::num::==}(null) ? t = self::getDouble() : #t7;
core::num v7 = t = t.{core::num::+}(self::getInt());
core::num v8 = t = t.{core::num::+}(self::getNum());
core::num v9 = t = t.{core::num::+}(self::getDouble());
@ -34,8 +34,8 @@ static method test2(core::num t) → void {
static method test3(core::double t) → void {
core::num v2 = t = self::getNum();
core::double v3 = t = self::getDouble();
core::num v5 = let final dynamic #t10 = t in #t10.{core::num::==}(null) ?{dynamic} t = self::getNum() : #t10;
core::double v6 = let final dynamic #t11 = t in #t11.{core::num::==}(null) ?{dynamic} t = self::getDouble() : #t11;
core::num v5 = let final dynamic #t10 = t in #t10.{core::num::==}(null) ? t = self::getNum() : #t10;
core::double v6 = let final dynamic #t11 = t in #t11.{core::num::==}(null) ? t = self::getDouble() : #t11;
core::double v7 = t = t.{core::double::+}(self::getInt());
core::double v8 = t = t.{core::double::+}(self::getNum());
core::double v9 = t = t.{core::double::+}(self::getDouble());

View file

@ -32,14 +32,14 @@ class Test extends core::Object {
;
static method test(self::Test t) → void {
t.member = self::f<dynamic>();
let final dynamic #t1 = t in #t1.member.==(null) ?{dynamic} #t1.member = self::f<dynamic>() : null;
let final dynamic #t1 = t in #t1.member.==(null) ? #t1.member = self::f<dynamic>() : null;
let final dynamic #t2 = t in #t2.member = #t2.member.+(self::f<dynamic>());
let final dynamic #t3 = t in #t3.member = #t3.member.*(self::f<dynamic>());
let final dynamic #t4 = t in #t4.member = #t4.member.&(self::f<dynamic>());
let final dynamic #t5 = t in #t5.member = #t5.member.-(1);
let final dynamic #t6 = t in #t6.member = #t6.member.-(1);
dynamic v1 = t.member = self::f<dynamic>();
dynamic v2 = let final dynamic #t7 = t in let final dynamic #t8 = #t7.member in #t8.==(null) ?{dynamic} #t7.member = self::f<dynamic>() : #t8;
dynamic v2 = let final dynamic #t7 = t in let final dynamic #t8 = #t7.member in #t8.==(null) ? #t7.member = self::f<dynamic>() : #t8;
dynamic v3 = let final dynamic #t9 = t in #t9.member = #t9.member.+(self::f<dynamic>());
dynamic v4 = let final dynamic #t10 = t in #t10.member = #t10.member.*(self::f<dynamic>());
dynamic v5 = let final dynamic #t11 = t in #t11.member = #t11.member.&(self::f<dynamic>());

View file

@ -32,14 +32,14 @@ class Test extends core::Object {
;
static method test(self::Test t) → void {
t.{self::Test::member} = self::f<self::B>();
let final dynamic #t1 = t in #t1.{self::Test::member}.{core::Object::==}(null) ?{dynamic} #t1.{self::Test::member} = self::f<self::B>() : null;
let final dynamic #t1 = t in #t1.{self::Test::member}.{core::Object::==}(null) ? #t1.{self::Test::member} = self::f<self::B>() : null;
let final dynamic #t2 = t in #t2.{self::Test::member} = #t2.{self::Test::member}.{self::B::+}(self::f<dynamic>());
let final dynamic #t3 = t in #t3.{self::Test::member} = #t3.{self::Test::member}.{self::B::*}(self::f<dynamic>());
let final dynamic #t4 = t in #t4.{self::Test::member} = #t4.{self::Test::member}.{self::B::&}(self::f<dynamic>());
let final dynamic #t5 = t in #t5.{self::Test::member} = #t5.{self::Test::member}.{self::B::-}(1);
let final dynamic #t6 = t in #t6.{self::Test::member} = #t6.{self::Test::member}.{self::B::-}(1);
self::B v1 = t.{self::Test::member} = self::f<self::B>();
self::B v2 = let final dynamic #t7 = t in let final dynamic #t8 = #t7.{self::Test::member} in #t8.{core::Object::==}(null) ?{dynamic} #t7.{self::Test::member} = self::f<self::B>() : #t8;
self::B v2 = let final dynamic #t7 = t in let final dynamic #t8 = #t7.{self::Test::member} in #t8.{core::Object::==}(null) ? #t7.{self::Test::member} = self::f<self::B>() : #t8;
self::A v3 = let final dynamic #t9 = t in #t9.{self::Test::member} = #t9.{self::Test::member}.{self::B::+}(self::f<dynamic>());
self::B v4 = let final dynamic #t10 = t in #t10.{self::Test::member} = #t10.{self::Test::member}.{self::B::*}(self::f<dynamic>());
self::C v5 = let final dynamic #t11 = t in #t11.{self::Test::member} = #t11.{self::Test::member}.{self::B::&}(self::f<dynamic>());

View file

@ -31,20 +31,20 @@ class Test extends core::Object {
: super core::Object::•()
;
static method test(self::Test t) → void {
let final dynamic #t1 = t in #t1.==(null) ?{dynamic} null : #t1.member = self::f<dynamic>();
let final dynamic #t2 = t in #t2.==(null) ?{dynamic} null : #t2.member.==(null) ?{dynamic} #t2.member = self::f<dynamic>() : null;
let final dynamic #t3 = t in #t3.==(null) ?{dynamic} null : #t3.member = #t3.member.+(self::f<dynamic>());
let final dynamic #t4 = t in #t4.==(null) ?{dynamic} null : #t4.member = #t4.member.*(self::f<dynamic>());
let final dynamic #t5 = t in #t5.==(null) ?{dynamic} null : #t5.member = #t5.member.&(self::f<dynamic>());
let final dynamic #t6 = t in #t6.==(null) ?{dynamic} null : #t6.member = #t6.member.-(1);
let final dynamic #t7 = t in #t7.==(null) ?{dynamic} null : #t7.member = #t7.member.-(1);
dynamic v1 = let final dynamic #t8 = t in #t8.==(null) ?{dynamic} null : #t8.member = self::f<dynamic>();
dynamic v2 = let final dynamic #t9 = t in #t9.==(null) ?{dynamic} null : let final dynamic #t10 = #t9.member in #t10.==(null) ?{dynamic} #t9.member = self::f<dynamic>() : #t10;
dynamic v3 = let final dynamic #t11 = t in #t11.==(null) ?{dynamic} null : #t11.member = #t11.member.+(self::f<dynamic>());
dynamic v4 = let final dynamic #t12 = t in #t12.==(null) ?{dynamic} null : #t12.member = #t12.member.*(self::f<dynamic>());
dynamic v5 = let final dynamic #t13 = t in #t13.==(null) ?{dynamic} null : #t13.member = #t13.member.&(self::f<dynamic>());
dynamic v6 = let final dynamic #t14 = t in #t14.==(null) ?{dynamic} null : #t14.member = #t14.member.-(1);
dynamic v7 = let final dynamic #t15 = t in #t15.==(null) ?{dynamic} null : let final dynamic #t16 = #t15.member in let final dynamic #t17 = #t15.member = #t16.-(1) in #t16;
let final dynamic #t1 = t in #t1.==(null) ? null : #t1.member = self::f<dynamic>();
let final dynamic #t2 = t in #t2.==(null) ? null : #t2.member.==(null) ? #t2.member = self::f<dynamic>() : null;
let final dynamic #t3 = t in #t3.==(null) ? null : #t3.member = #t3.member.+(self::f<dynamic>());
let final dynamic #t4 = t in #t4.==(null) ? null : #t4.member = #t4.member.*(self::f<dynamic>());
let final dynamic #t5 = t in #t5.==(null) ? null : #t5.member = #t5.member.&(self::f<dynamic>());
let final dynamic #t6 = t in #t6.==(null) ? null : #t6.member = #t6.member.-(1);
let final dynamic #t7 = t in #t7.==(null) ? null : #t7.member = #t7.member.-(1);
dynamic v1 = let final dynamic #t8 = t in #t8.==(null) ? null : #t8.member = self::f<dynamic>();
dynamic v2 = let final dynamic #t9 = t in #t9.==(null) ? null : let final dynamic #t10 = #t9.member in #t10.==(null) ? #t9.member = self::f<dynamic>() : #t10;
dynamic v3 = let final dynamic #t11 = t in #t11.==(null) ? null : #t11.member = #t11.member.+(self::f<dynamic>());
dynamic v4 = let final dynamic #t12 = t in #t12.==(null) ? null : #t12.member = #t12.member.*(self::f<dynamic>());
dynamic v5 = let final dynamic #t13 = t in #t13.==(null) ? null : #t13.member = #t13.member.&(self::f<dynamic>());
dynamic v6 = let final dynamic #t14 = t in #t14.==(null) ? null : #t14.member = #t14.member.-(1);
dynamic v7 = let final dynamic #t15 = t in #t15.==(null) ? null : let final dynamic #t16 = #t15.member in let final dynamic #t17 = #t15.member = #t16.-(1) in #t16;
}
}
static method f<T extends core::Object>() → self::f::T

View file

@ -31,20 +31,20 @@ class Test extends core::Object {
: super core::Object::•()
;
static method test(self::Test t) → void {
let final dynamic #t1 = t in #t1.==(null) ?{dynamic} null : #t1.{self::Test::member} = self::f<self::B>();
let final dynamic #t2 = t in #t2.==(null) ?{dynamic} null : #t2.{self::Test::member}.{core::Object::==}(null) ?{dynamic} #t2.{self::Test::member} = self::f<self::B>() : null;
let final dynamic #t3 = t in #t3.==(null) ?{dynamic} null : #t3.{self::Test::member} = #t3.{self::Test::member}.{self::B::+}(self::f<dynamic>());
let final dynamic #t4 = t in #t4.==(null) ?{dynamic} null : #t4.{self::Test::member} = #t4.{self::Test::member}.{self::B::*}(self::f<dynamic>());
let final dynamic #t5 = t in #t5.==(null) ?{dynamic} null : #t5.{self::Test::member} = #t5.{self::Test::member}.{self::B::&}(self::f<dynamic>());
let final dynamic #t6 = t in #t6.==(null) ?{dynamic} null : #t6.{self::Test::member} = #t6.{self::Test::member}.{self::B::-}(1);
let final dynamic #t7 = t in #t7.==(null) ?{dynamic} null : #t7.{self::Test::member} = #t7.{self::Test::member}.{self::B::-}(1);
self::B v1 = let final dynamic #t8 = t in #t8.==(null) ?{dynamic} null : #t8.{self::Test::member} = self::f<self::B>();
self::B v2 = let final dynamic #t9 = t in #t9.==(null) ?{dynamic} null : let final dynamic #t10 = #t9.{self::Test::member} in #t10.{core::Object::==}(null) ?{dynamic} #t9.{self::Test::member} = self::f<self::B>() : #t10;
self::A v3 = let final dynamic #t11 = t in #t11.==(null) ?{dynamic} null : #t11.{self::Test::member} = #t11.{self::Test::member}.{self::B::+}(self::f<dynamic>());
self::B v4 = let final dynamic #t12 = t in #t12.==(null) ?{dynamic} null : #t12.{self::Test::member} = #t12.{self::Test::member}.{self::B::*}(self::f<dynamic>());
self::C v5 = let final dynamic #t13 = t in #t13.==(null) ?{dynamic} null : #t13.{self::Test::member} = #t13.{self::Test::member}.{self::B::&}(self::f<dynamic>());
self::B v6 = let final dynamic #t14 = t in #t14.==(null) ?{dynamic} null : #t14.{self::Test::member} = #t14.{self::Test::member}.{self::B::-}(1);
self::B v7 = let final dynamic #t15 = t in #t15.==(null) ?{dynamic} null : let final dynamic #t16 = #t15.{self::Test::member} in let final dynamic #t17 = #t15.{self::Test::member} = #t16.{self::B::-}(1) in #t16;
let final dynamic #t1 = t in #t1.==(null) ? null : #t1.{self::Test::member} = self::f<self::B>();
let final dynamic #t2 = t in #t2.==(null) ? null : #t2.{self::Test::member}.{core::Object::==}(null) ? #t2.{self::Test::member} = self::f<self::B>() : null;
let final dynamic #t3 = t in #t3.==(null) ? null : #t3.{self::Test::member} = #t3.{self::Test::member}.{self::B::+}(self::f<dynamic>());
let final dynamic #t4 = t in #t4.==(null) ? null : #t4.{self::Test::member} = #t4.{self::Test::member}.{self::B::*}(self::f<dynamic>());
let final dynamic #t5 = t in #t5.==(null) ? null : #t5.{self::Test::member} = #t5.{self::Test::member}.{self::B::&}(self::f<dynamic>());
let final dynamic #t6 = t in #t6.==(null) ? null : #t6.{self::Test::member} = #t6.{self::Test::member}.{self::B::-}(1);
let final dynamic #t7 = t in #t7.==(null) ? null : #t7.{self::Test::member} = #t7.{self::Test::member}.{self::B::-}(1);
self::B v1 = let final dynamic #t8 = t in #t8.==(null) ? null : #t8.{self::Test::member} = self::f<self::B>();
self::B v2 = let final dynamic #t9 = t in #t9.==(null) ? null : let final dynamic #t10 = #t9.{self::Test::member} in #t10.{core::Object::==}(null) ? #t9.{self::Test::member} = self::f<self::B>() : #t10;
self::A v3 = let final dynamic #t11 = t in #t11.==(null) ? null : #t11.{self::Test::member} = #t11.{self::Test::member}.{self::B::+}(self::f<dynamic>());
self::B v4 = let final dynamic #t12 = t in #t12.==(null) ? null : #t12.{self::Test::member} = #t12.{self::Test::member}.{self::B::*}(self::f<dynamic>());
self::C v5 = let final dynamic #t13 = t in #t13.==(null) ? null : #t13.{self::Test::member} = #t13.{self::Test::member}.{self::B::&}(self::f<dynamic>());
self::B v6 = let final dynamic #t14 = t in #t14.==(null) ? null : #t14.{self::Test::member} = #t14.{self::Test::member}.{self::B::-}(1);
self::B v7 = let final dynamic #t15 = t in #t15.==(null) ? null : let final dynamic #t16 = #t15.{self::Test::member} in let final dynamic #t17 = #t15.{self::Test::member} = #t16.{self::B::-}(1) in #t16;
}
}
static method f<T extends core::Object>() → self::f::T

View file

@ -8,14 +8,14 @@ class Test1 extends core::Object {
: super core::Object::•()
;
static method test(self::Test1 t) → void {
dynamic v1 = let final dynamic #t1 = t in #t1.==(null) ?{dynamic} null : #t1.prop = self::getInt();
dynamic v2 = let final dynamic #t2 = t in #t2.==(null) ?{dynamic} null : #t2.prop = self::getNum();
dynamic v4 = let final dynamic #t3 = t in #t3.==(null) ?{dynamic} null : let final dynamic #t4 = #t3.prop in #t4.==(null) ?{dynamic} #t3.prop = self::getInt() : #t4;
dynamic v5 = let final dynamic #t5 = t in #t5.==(null) ?{dynamic} null : let final dynamic #t6 = #t5.prop in #t6.==(null) ?{dynamic} #t5.prop = self::getNum() : #t6;
dynamic v7 = let final dynamic #t7 = t in #t7.==(null) ?{dynamic} null : #t7.prop = #t7.prop.+(self::getInt());
dynamic v8 = let final dynamic #t8 = t in #t8.==(null) ?{dynamic} null : #t8.prop = #t8.prop.+(self::getNum());
dynamic v10 = let final dynamic #t9 = t in #t9.==(null) ?{dynamic} null : #t9.prop = #t9.prop.+(1);
dynamic v11 = let final dynamic #t10 = t in #t10.==(null) ?{dynamic} null : let final dynamic #t11 = #t10.prop in let final dynamic #t12 = #t10.prop = #t11.+(1) in #t11;
dynamic v1 = let final dynamic #t1 = t in #t1.==(null) ? null : #t1.prop = self::getInt();
dynamic v2 = let final dynamic #t2 = t in #t2.==(null) ? null : #t2.prop = self::getNum();
dynamic v4 = let final dynamic #t3 = t in #t3.==(null) ? null : let final dynamic #t4 = #t3.prop in #t4.==(null) ? #t3.prop = self::getInt() : #t4;
dynamic v5 = let final dynamic #t5 = t in #t5.==(null) ? null : let final dynamic #t6 = #t5.prop in #t6.==(null) ? #t5.prop = self::getNum() : #t6;
dynamic v7 = let final dynamic #t7 = t in #t7.==(null) ? null : #t7.prop = #t7.prop.+(self::getInt());
dynamic v8 = let final dynamic #t8 = t in #t8.==(null) ? null : #t8.prop = #t8.prop.+(self::getNum());
dynamic v10 = let final dynamic #t9 = t in #t9.==(null) ? null : #t9.prop = #t9.prop.+(1);
dynamic v11 = let final dynamic #t10 = t in #t10.==(null) ? null : let final dynamic #t11 = #t10.prop in let final dynamic #t12 = #t10.prop = #t11.+(1) in #t11;
}
}
class Test2 extends core::Object {
@ -24,17 +24,17 @@ class Test2 extends core::Object {
: super core::Object::•()
;
static method test(self::Test2 t) → void {
dynamic v1 = let final dynamic #t13 = t in #t13.==(null) ?{dynamic} null : #t13.prop = self::getInt();
dynamic v2 = let final dynamic #t14 = t in #t14.==(null) ?{dynamic} null : #t14.prop = self::getNum();
dynamic v3 = let final dynamic #t15 = t in #t15.==(null) ?{dynamic} null : #t15.prop = self::getDouble();
dynamic v4 = let final dynamic #t16 = t in #t16.==(null) ?{dynamic} null : let final dynamic #t17 = #t16.prop in #t17.==(null) ?{dynamic} #t16.prop = self::getInt() : #t17;
dynamic v5 = let final dynamic #t18 = t in #t18.==(null) ?{dynamic} null : let final dynamic #t19 = #t18.prop in #t19.==(null) ?{dynamic} #t18.prop = self::getNum() : #t19;
dynamic v6 = let final dynamic #t20 = t in #t20.==(null) ?{dynamic} null : let final dynamic #t21 = #t20.prop in #t21.==(null) ?{dynamic} #t20.prop = self::getDouble() : #t21;
dynamic v7 = let final dynamic #t22 = t in #t22.==(null) ?{dynamic} null : #t22.prop = #t22.prop.+(self::getInt());
dynamic v8 = let final dynamic #t23 = t in #t23.==(null) ?{dynamic} null : #t23.prop = #t23.prop.+(self::getNum());
dynamic v9 = let final dynamic #t24 = t in #t24.==(null) ?{dynamic} null : #t24.prop = #t24.prop.+(self::getDouble());
dynamic v10 = let final dynamic #t25 = t in #t25.==(null) ?{dynamic} null : #t25.prop = #t25.prop.+(1);
dynamic v11 = let final dynamic #t26 = t in #t26.==(null) ?{dynamic} null : let final dynamic #t27 = #t26.prop in let final dynamic #t28 = #t26.prop = #t27.+(1) in #t27;
dynamic v1 = let final dynamic #t13 = t in #t13.==(null) ? null : #t13.prop = self::getInt();
dynamic v2 = let final dynamic #t14 = t in #t14.==(null) ? null : #t14.prop = self::getNum();
dynamic v3 = let final dynamic #t15 = t in #t15.==(null) ? null : #t15.prop = self::getDouble();
dynamic v4 = let final dynamic #t16 = t in #t16.==(null) ? null : let final dynamic #t17 = #t16.prop in #t17.==(null) ? #t16.prop = self::getInt() : #t17;
dynamic v5 = let final dynamic #t18 = t in #t18.==(null) ? null : let final dynamic #t19 = #t18.prop in #t19.==(null) ? #t18.prop = self::getNum() : #t19;
dynamic v6 = let final dynamic #t20 = t in #t20.==(null) ? null : let final dynamic #t21 = #t20.prop in #t21.==(null) ? #t20.prop = self::getDouble() : #t21;
dynamic v7 = let final dynamic #t22 = t in #t22.==(null) ? null : #t22.prop = #t22.prop.+(self::getInt());
dynamic v8 = let final dynamic #t23 = t in #t23.==(null) ? null : #t23.prop = #t23.prop.+(self::getNum());
dynamic v9 = let final dynamic #t24 = t in #t24.==(null) ? null : #t24.prop = #t24.prop.+(self::getDouble());
dynamic v10 = let final dynamic #t25 = t in #t25.==(null) ? null : #t25.prop = #t25.prop.+(1);
dynamic v11 = let final dynamic #t26 = t in #t26.==(null) ? null : let final dynamic #t27 = #t26.prop in let final dynamic #t28 = #t26.prop = #t27.+(1) in #t27;
}
}
class Test3 extends core::Object {
@ -43,15 +43,15 @@ class Test3 extends core::Object {
: super core::Object::•()
;
static method test3(self::Test3 t) → void {
dynamic v2 = let final dynamic #t29 = t in #t29.==(null) ?{dynamic} null : #t29.prop = self::getNum();
dynamic v3 = let final dynamic #t30 = t in #t30.==(null) ?{dynamic} null : #t30.prop = self::getDouble();
dynamic v5 = let final dynamic #t31 = t in #t31.==(null) ?{dynamic} null : let final dynamic #t32 = #t31.prop in #t32.==(null) ?{dynamic} #t31.prop = self::getNum() : #t32;
dynamic v6 = let final dynamic #t33 = t in #t33.==(null) ?{dynamic} null : let final dynamic #t34 = #t33.prop in #t34.==(null) ?{dynamic} #t33.prop = self::getDouble() : #t34;
dynamic v7 = let final dynamic #t35 = t in #t35.==(null) ?{dynamic} null : #t35.prop = #t35.prop.+(self::getInt());
dynamic v8 = let final dynamic #t36 = t in #t36.==(null) ?{dynamic} null : #t36.prop = #t36.prop.+(self::getNum());
dynamic v9 = let final dynamic #t37 = t in #t37.==(null) ?{dynamic} null : #t37.prop = #t37.prop.+(self::getDouble());
dynamic v10 = let final dynamic #t38 = t in #t38.==(null) ?{dynamic} null : #t38.prop = #t38.prop.+(1);
dynamic v11 = let final dynamic #t39 = t in #t39.==(null) ?{dynamic} null : let final dynamic #t40 = #t39.prop in let final dynamic #t41 = #t39.prop = #t40.+(1) in #t40;
dynamic v2 = let final dynamic #t29 = t in #t29.==(null) ? null : #t29.prop = self::getNum();
dynamic v3 = let final dynamic #t30 = t in #t30.==(null) ? null : #t30.prop = self::getDouble();
dynamic v5 = let final dynamic #t31 = t in #t31.==(null) ? null : let final dynamic #t32 = #t31.prop in #t32.==(null) ? #t31.prop = self::getNum() : #t32;
dynamic v6 = let final dynamic #t33 = t in #t33.==(null) ? null : let final dynamic #t34 = #t33.prop in #t34.==(null) ? #t33.prop = self::getDouble() : #t34;
dynamic v7 = let final dynamic #t35 = t in #t35.==(null) ? null : #t35.prop = #t35.prop.+(self::getInt());
dynamic v8 = let final dynamic #t36 = t in #t36.==(null) ? null : #t36.prop = #t36.prop.+(self::getNum());
dynamic v9 = let final dynamic #t37 = t in #t37.==(null) ? null : #t37.prop = #t37.prop.+(self::getDouble());
dynamic v10 = let final dynamic #t38 = t in #t38.==(null) ? null : #t38.prop = #t38.prop.+(1);
dynamic v11 = let final dynamic #t39 = t in #t39.==(null) ? null : let final dynamic #t40 = #t39.prop in let final dynamic #t41 = #t39.prop = #t40.+(1) in #t40;
}
}
static method getInt() → core::int

View file

@ -8,14 +8,14 @@ class Test1 extends core::Object {
: super core::Object::•()
;
static method test(self::Test1 t) → void {
core::int v1 = let final dynamic #t1 = t in #t1.==(null) ?{dynamic} null : #t1.{self::Test1::prop} = self::getInt();
core::num v2 = let final dynamic #t2 = t in #t2.==(null) ?{dynamic} null : #t2.{self::Test1::prop} = self::getNum();
core::int v4 = let final dynamic #t3 = t in #t3.==(null) ?{dynamic} null : let final dynamic #t4 = #t3.{self::Test1::prop} in #t4.{core::num::==}(null) ?{dynamic} #t3.{self::Test1::prop} = self::getInt() : #t4;
core::num v5 = let final dynamic #t5 = t in #t5.==(null) ?{dynamic} null : let final dynamic #t6 = #t5.{self::Test1::prop} in #t6.{core::num::==}(null) ?{dynamic} #t5.{self::Test1::prop} = self::getNum() : #t6;
core::int v7 = let final dynamic #t7 = t in #t7.==(null) ?{dynamic} null : #t7.{self::Test1::prop} = #t7.{self::Test1::prop}.{core::num::+}(self::getInt());
core::num v8 = let final dynamic #t8 = t in #t8.==(null) ?{dynamic} null : #t8.{self::Test1::prop} = #t8.{self::Test1::prop}.{core::num::+}(self::getNum());
core::int v10 = let final dynamic #t9 = t in #t9.==(null) ?{dynamic} null : #t9.{self::Test1::prop} = #t9.{self::Test1::prop}.{core::num::+}(1);
core::int v11 = let final dynamic #t10 = t in #t10.==(null) ?{dynamic} null : let final dynamic #t11 = #t10.{self::Test1::prop} in let final dynamic #t12 = #t10.{self::Test1::prop} = #t11.{core::num::+}(1) in #t11;
core::int v1 = let final dynamic #t1 = t in #t1.==(null) ? null : #t1.{self::Test1::prop} = self::getInt();
core::num v2 = let final dynamic #t2 = t in #t2.==(null) ? null : #t2.{self::Test1::prop} = self::getNum();
core::int v4 = let final dynamic #t3 = t in #t3.==(null) ? null : let final dynamic #t4 = #t3.{self::Test1::prop} in #t4.{core::num::==}(null) ? #t3.{self::Test1::prop} = self::getInt() : #t4;
core::num v5 = let final dynamic #t5 = t in #t5.==(null) ? null : let final dynamic #t6 = #t5.{self::Test1::prop} in #t6.{core::num::==}(null) ? #t5.{self::Test1::prop} = self::getNum() : #t6;
core::int v7 = let final dynamic #t7 = t in #t7.==(null) ? null : #t7.{self::Test1::prop} = #t7.{self::Test1::prop}.{core::num::+}(self::getInt());
core::num v8 = let final dynamic #t8 = t in #t8.==(null) ? null : #t8.{self::Test1::prop} = #t8.{self::Test1::prop}.{core::num::+}(self::getNum());
core::int v10 = let final dynamic #t9 = t in #t9.==(null) ? null : #t9.{self::Test1::prop} = #t9.{self::Test1::prop}.{core::num::+}(1);
core::int v11 = let final dynamic #t10 = t in #t10.==(null) ? null : let final dynamic #t11 = #t10.{self::Test1::prop} in let final dynamic #t12 = #t10.{self::Test1::prop} = #t11.{core::num::+}(1) in #t11;
}
}
class Test2 extends core::Object {
@ -24,17 +24,17 @@ class Test2 extends core::Object {
: super core::Object::•()
;
static method test(self::Test2 t) → void {
core::int v1 = let final dynamic #t13 = t in #t13.==(null) ?{dynamic} null : #t13.{self::Test2::prop} = self::getInt();
core::num v2 = let final dynamic #t14 = t in #t14.==(null) ?{dynamic} null : #t14.{self::Test2::prop} = self::getNum();
core::double v3 = let final dynamic #t15 = t in #t15.==(null) ?{dynamic} null : #t15.{self::Test2::prop} = self::getDouble();
core::num v4 = let final dynamic #t16 = t in #t16.==(null) ?{dynamic} null : let final dynamic #t17 = #t16.{self::Test2::prop} in #t17.{core::num::==}(null) ?{dynamic} #t16.{self::Test2::prop} = self::getInt() : #t17;
core::num v5 = let final dynamic #t18 = t in #t18.==(null) ?{dynamic} null : let final dynamic #t19 = #t18.{self::Test2::prop} in #t19.{core::num::==}(null) ?{dynamic} #t18.{self::Test2::prop} = self::getNum() : #t19;
core::num v6 = let final dynamic #t20 = t in #t20.==(null) ?{dynamic} null : let final dynamic #t21 = #t20.{self::Test2::prop} in #t21.{core::num::==}(null) ?{dynamic} #t20.{self::Test2::prop} = self::getDouble() : #t21;
core::num v7 = let final dynamic #t22 = t in #t22.==(null) ?{dynamic} null : #t22.{self::Test2::prop} = #t22.{self::Test2::prop}.{core::num::+}(self::getInt());
core::num v8 = let final dynamic #t23 = t in #t23.==(null) ?{dynamic} null : #t23.{self::Test2::prop} = #t23.{self::Test2::prop}.{core::num::+}(self::getNum());
core::num v9 = let final dynamic #t24 = t in #t24.==(null) ?{dynamic} null : #t24.{self::Test2::prop} = #t24.{self::Test2::prop}.{core::num::+}(self::getDouble());
core::num v10 = let final dynamic #t25 = t in #t25.==(null) ?{dynamic} null : #t25.{self::Test2::prop} = #t25.{self::Test2::prop}.{core::num::+}(1);
core::num v11 = let final dynamic #t26 = t in #t26.==(null) ?{dynamic} null : let final dynamic #t27 = #t26.{self::Test2::prop} in let final dynamic #t28 = #t26.{self::Test2::prop} = #t27.{core::num::+}(1) in #t27;
core::int v1 = let final dynamic #t13 = t in #t13.==(null) ? null : #t13.{self::Test2::prop} = self::getInt();
core::num v2 = let final dynamic #t14 = t in #t14.==(null) ? null : #t14.{self::Test2::prop} = self::getNum();
core::double v3 = let final dynamic #t15 = t in #t15.==(null) ? null : #t15.{self::Test2::prop} = self::getDouble();
core::num v4 = let final dynamic #t16 = t in #t16.==(null) ? null : let final dynamic #t17 = #t16.{self::Test2::prop} in #t17.{core::num::==}(null) ? #t16.{self::Test2::prop} = self::getInt() : #t17;
core::num v5 = let final dynamic #t18 = t in #t18.==(null) ? null : let final dynamic #t19 = #t18.{self::Test2::prop} in #t19.{core::num::==}(null) ? #t18.{self::Test2::prop} = self::getNum() : #t19;
core::num v6 = let final dynamic #t20 = t in #t20.==(null) ? null : let final dynamic #t21 = #t20.{self::Test2::prop} in #t21.{core::num::==}(null) ? #t20.{self::Test2::prop} = self::getDouble() : #t21;
core::num v7 = let final dynamic #t22 = t in #t22.==(null) ? null : #t22.{self::Test2::prop} = #t22.{self::Test2::prop}.{core::num::+}(self::getInt());
core::num v8 = let final dynamic #t23 = t in #t23.==(null) ? null : #t23.{self::Test2::prop} = #t23.{self::Test2::prop}.{core::num::+}(self::getNum());
core::num v9 = let final dynamic #t24 = t in #t24.==(null) ? null : #t24.{self::Test2::prop} = #t24.{self::Test2::prop}.{core::num::+}(self::getDouble());
core::num v10 = let final dynamic #t25 = t in #t25.==(null) ? null : #t25.{self::Test2::prop} = #t25.{self::Test2::prop}.{core::num::+}(1);
core::num v11 = let final dynamic #t26 = t in #t26.==(null) ? null : let final dynamic #t27 = #t26.{self::Test2::prop} in let final dynamic #t28 = #t26.{self::Test2::prop} = #t27.{core::num::+}(1) in #t27;
}
}
class Test3 extends core::Object {
@ -43,15 +43,15 @@ class Test3 extends core::Object {
: super core::Object::•()
;
static method test3(self::Test3 t) → void {
core::num v2 = let final dynamic #t29 = t in #t29.==(null) ?{dynamic} null : #t29.{self::Test3::prop} = self::getNum();
core::double v3 = let final dynamic #t30 = t in #t30.==(null) ?{dynamic} null : #t30.{self::Test3::prop} = self::getDouble();
core::num v5 = let final dynamic #t31 = t in #t31.==(null) ?{dynamic} null : let final dynamic #t32 = #t31.{self::Test3::prop} in #t32.{core::num::==}(null) ?{dynamic} #t31.{self::Test3::prop} = self::getNum() : #t32;
core::double v6 = let final dynamic #t33 = t in #t33.==(null) ?{dynamic} null : let final dynamic #t34 = #t33.{self::Test3::prop} in #t34.{core::num::==}(null) ?{dynamic} #t33.{self::Test3::prop} = self::getDouble() : #t34;
core::double v7 = let final dynamic #t35 = t in #t35.==(null) ?{dynamic} null : #t35.{self::Test3::prop} = #t35.{self::Test3::prop}.{core::double::+}(self::getInt());
core::double v8 = let final dynamic #t36 = t in #t36.==(null) ?{dynamic} null : #t36.{self::Test3::prop} = #t36.{self::Test3::prop}.{core::double::+}(self::getNum());
core::double v9 = let final dynamic #t37 = t in #t37.==(null) ?{dynamic} null : #t37.{self::Test3::prop} = #t37.{self::Test3::prop}.{core::double::+}(self::getDouble());
core::double v10 = let final dynamic #t38 = t in #t38.==(null) ?{dynamic} null : #t38.{self::Test3::prop} = #t38.{self::Test3::prop}.{core::double::+}(1);
core::double v11 = let final dynamic #t39 = t in #t39.==(null) ?{dynamic} null : let final dynamic #t40 = #t39.{self::Test3::prop} in let final dynamic #t41 = #t39.{self::Test3::prop} = #t40.{core::double::+}(1) in #t40;
core::num v2 = let final dynamic #t29 = t in #t29.==(null) ? null : #t29.{self::Test3::prop} = self::getNum();
core::double v3 = let final dynamic #t30 = t in #t30.==(null) ? null : #t30.{self::Test3::prop} = self::getDouble();
core::num v5 = let final dynamic #t31 = t in #t31.==(null) ? null : let final dynamic #t32 = #t31.{self::Test3::prop} in #t32.{core::num::==}(null) ? #t31.{self::Test3::prop} = self::getNum() : #t32;
core::double v6 = let final dynamic #t33 = t in #t33.==(null) ? null : let final dynamic #t34 = #t33.{self::Test3::prop} in #t34.{core::num::==}(null) ? #t33.{self::Test3::prop} = self::getDouble() : #t34;
core::double v7 = let final dynamic #t35 = t in #t35.==(null) ? null : #t35.{self::Test3::prop} = #t35.{self::Test3::prop}.{core::double::+}(self::getInt());
core::double v8 = let final dynamic #t36 = t in #t36.==(null) ? null : #t36.{self::Test3::prop} = #t36.{self::Test3::prop}.{core::double::+}(self::getNum());
core::double v9 = let final dynamic #t37 = t in #t37.==(null) ? null : #t37.{self::Test3::prop} = #t37.{self::Test3::prop}.{core::double::+}(self::getDouble());
core::double v10 = let final dynamic #t38 = t in #t38.==(null) ? null : #t38.{self::Test3::prop} = #t38.{self::Test3::prop}.{core::double::+}(1);
core::double v11 = let final dynamic #t39 = t in #t39.==(null) ? null : let final dynamic #t40 = #t39.{self::Test3::prop} in let final dynamic #t41 = #t39.{self::Test3::prop} = #t40.{core::double::+}(1) in #t40;
}
}
static method getInt() → core::int

View file

@ -37,14 +37,14 @@ class Test extends self::Base {
;
method test() → void {
super.member = self::f<dynamic>();
super.member.==(null) ?{dynamic} super.member = self::f<dynamic>() : null;
super.member.==(null) ? super.member = self::f<dynamic>() : null;
super.member = super.member.+(self::f<dynamic>());
super.member = super.member.*(self::f<dynamic>());
super.member = super.member.&(self::f<dynamic>());
super.member = super.member.-(1);
super.member = super.member.-(1);
dynamic v1 = super.member = self::f<dynamic>();
dynamic v2 = let final dynamic #t1 = super.member in #t1.==(null) ?{dynamic} super.member = self::f<dynamic>() : #t1;
dynamic v2 = let final dynamic #t1 = super.member in #t1.==(null) ? super.member = self::f<dynamic>() : #t1;
dynamic v3 = super.member = super.member.+(self::f<dynamic>());
dynamic v4 = super.member = super.member.*(self::f<dynamic>());
dynamic v5 = super.member = super.member.&(self::f<dynamic>());

View file

@ -37,14 +37,14 @@ class Test extends self::Base {
;
method test() → void {
super.{self::Base::member} = self::f<self::B>();
super.{self::Base::member}.{core::Object::==}(null) ?{dynamic} super.{self::Base::member} = self::f<self::B>() : null;
super.{self::Base::member}.{core::Object::==}(null) ? super.{self::Base::member} = self::f<self::B>() : null;
super.{self::Base::member} = super.{self::Base::member}.{self::B::+}(self::f<dynamic>());
super.{self::Base::member} = super.{self::Base::member}.{self::B::*}(self::f<dynamic>());
super.{self::Base::member} = super.{self::Base::member}.{self::B::&}(self::f<dynamic>());
super.{self::Base::member} = super.{self::Base::member}.{self::B::-}(1);
super.{self::Base::member} = super.{self::Base::member}.{self::B::-}(1);
self::B v1 = super.{self::Base::member} = self::f<self::B>();
self::B v2 = let final dynamic #t1 = super.{self::Base::member} in #t1.{core::Object::==}(null) ?{dynamic} super.{self::Base::member} = self::f<self::B>() : #t1;
self::B v2 = let final dynamic #t1 = super.{self::Base::member} in #t1.{core::Object::==}(null) ? super.{self::Base::member} = self::f<self::B>() : #t1;
self::A v3 = super.{self::Base::member} = super.{self::Base::member}.{self::B::+}(self::f<dynamic>());
self::B v4 = super.{self::Base::member} = super.{self::Base::member}.{self::B::*}(self::f<dynamic>());
self::C v5 = super.{self::Base::member} = super.{self::Base::member}.{self::B::&}(self::f<dynamic>());

View file

@ -17,8 +17,8 @@ class Test1 extends self::Base {
method test() → void {
dynamic v1 = super.intProp = self::getInt();
dynamic v2 = super.intProp = self::getNum();
dynamic v4 = let final dynamic #t1 = super.intProp in #t1.==(null) ?{dynamic} super.intProp = self::getInt() : #t1;
dynamic v5 = let final dynamic #t2 = super.intProp in #t2.==(null) ?{dynamic} super.intProp = self::getNum() : #t2;
dynamic v4 = let final dynamic #t1 = super.intProp in #t1.==(null) ? super.intProp = self::getInt() : #t1;
dynamic v5 = let final dynamic #t2 = super.intProp in #t2.==(null) ? super.intProp = self::getNum() : #t2;
dynamic v7 = super.intProp = super.intProp.+(self::getInt());
dynamic v8 = super.intProp = super.intProp.+(self::getNum());
dynamic v10 = super.intProp = super.intProp.+(1);
@ -33,9 +33,9 @@ class Test2 extends self::Base {
dynamic v1 = super.numProp = self::getInt();
dynamic v2 = super.numProp = self::getNum();
dynamic v3 = super.numProp = self::getDouble();
dynamic v4 = let final dynamic #t5 = super.numProp in #t5.==(null) ?{dynamic} super.numProp = self::getInt() : #t5;
dynamic v5 = let final dynamic #t6 = super.numProp in #t6.==(null) ?{dynamic} super.numProp = self::getNum() : #t6;
dynamic v6 = let final dynamic #t7 = super.numProp in #t7.==(null) ?{dynamic} super.numProp = self::getDouble() : #t7;
dynamic v4 = let final dynamic #t5 = super.numProp in #t5.==(null) ? super.numProp = self::getInt() : #t5;
dynamic v5 = let final dynamic #t6 = super.numProp in #t6.==(null) ? super.numProp = self::getNum() : #t6;
dynamic v6 = let final dynamic #t7 = super.numProp in #t7.==(null) ? super.numProp = self::getDouble() : #t7;
dynamic v7 = super.numProp = super.numProp.+(self::getInt());
dynamic v8 = super.numProp = super.numProp.+(self::getNum());
dynamic v9 = super.numProp = super.numProp.+(self::getDouble());
@ -50,8 +50,8 @@ class Test3 extends self::Base {
method test3() → void {
dynamic v2 = super.doubleProp = self::getNum();
dynamic v3 = super.doubleProp = self::getDouble();
dynamic v5 = let final dynamic #t10 = super.doubleProp in #t10.==(null) ?{dynamic} super.doubleProp = self::getNum() : #t10;
dynamic v6 = let final dynamic #t11 = super.doubleProp in #t11.==(null) ?{dynamic} super.doubleProp = self::getDouble() : #t11;
dynamic v5 = let final dynamic #t10 = super.doubleProp in #t10.==(null) ? super.doubleProp = self::getNum() : #t10;
dynamic v6 = let final dynamic #t11 = super.doubleProp in #t11.==(null) ? super.doubleProp = self::getDouble() : #t11;
dynamic v7 = super.doubleProp = super.doubleProp.+(self::getInt());
dynamic v8 = super.doubleProp = super.doubleProp.+(self::getNum());
dynamic v9 = super.doubleProp = super.doubleProp.+(self::getDouble());

View file

@ -17,8 +17,8 @@ class Test1 extends self::Base {
method test() → void {
core::int v1 = super.{self::Base::intProp} = self::getInt();
core::num v2 = super.{self::Base::intProp} = self::getNum();
core::int v4 = let final dynamic #t1 = super.{self::Base::intProp} in #t1.{core::num::==}(null) ?{dynamic} super.{self::Base::intProp} = self::getInt() : #t1;
core::num v5 = let final dynamic #t2 = super.{self::Base::intProp} in #t2.{core::num::==}(null) ?{dynamic} super.{self::Base::intProp} = self::getNum() : #t2;
core::int v4 = let final dynamic #t1 = super.{self::Base::intProp} in #t1.{core::num::==}(null) ? super.{self::Base::intProp} = self::getInt() : #t1;
core::num v5 = let final dynamic #t2 = super.{self::Base::intProp} in #t2.{core::num::==}(null) ? super.{self::Base::intProp} = self::getNum() : #t2;
core::int v7 = super.{self::Base::intProp} = super.{self::Base::intProp}.{core::num::+}(self::getInt());
core::num v8 = super.{self::Base::intProp} = super.{self::Base::intProp}.{core::num::+}(self::getNum());
core::int v10 = super.{self::Base::intProp} = super.{self::Base::intProp}.{core::num::+}(1);
@ -33,9 +33,9 @@ class Test2 extends self::Base {
core::int v1 = super.{self::Base::numProp} = self::getInt();
core::num v2 = super.{self::Base::numProp} = self::getNum();
core::double v3 = super.{self::Base::numProp} = self::getDouble();
core::num v4 = let final dynamic #t5 = super.{self::Base::numProp} in #t5.{core::num::==}(null) ?{dynamic} super.{self::Base::numProp} = self::getInt() : #t5;
core::num v5 = let final dynamic #t6 = super.{self::Base::numProp} in #t6.{core::num::==}(null) ?{dynamic} super.{self::Base::numProp} = self::getNum() : #t6;
core::num v6 = let final dynamic #t7 = super.{self::Base::numProp} in #t7.{core::num::==}(null) ?{dynamic} super.{self::Base::numProp} = self::getDouble() : #t7;
core::num v4 = let final dynamic #t5 = super.{self::Base::numProp} in #t5.{core::num::==}(null) ? super.{self::Base::numProp} = self::getInt() : #t5;
core::num v5 = let final dynamic #t6 = super.{self::Base::numProp} in #t6.{core::num::==}(null) ? super.{self::Base::numProp} = self::getNum() : #t6;
core::num v6 = let final dynamic #t7 = super.{self::Base::numProp} in #t7.{core::num::==}(null) ? super.{self::Base::numProp} = self::getDouble() : #t7;
core::num v7 = super.{self::Base::numProp} = super.{self::Base::numProp}.{core::num::+}(self::getInt());
core::num v8 = super.{self::Base::numProp} = super.{self::Base::numProp}.{core::num::+}(self::getNum());
core::num v9 = super.{self::Base::numProp} = super.{self::Base::numProp}.{core::num::+}(self::getDouble());
@ -50,8 +50,8 @@ class Test3 extends self::Base {
method test3() → void {
core::num v2 = super.{self::Base::doubleProp} = self::getNum();
core::double v3 = super.{self::Base::doubleProp} = self::getDouble();
core::num v5 = let final dynamic #t10 = super.{self::Base::doubleProp} in #t10.{core::num::==}(null) ?{dynamic} super.{self::Base::doubleProp} = self::getNum() : #t10;
core::double v6 = let final dynamic #t11 = super.{self::Base::doubleProp} in #t11.{core::num::==}(null) ?{dynamic} super.{self::Base::doubleProp} = self::getDouble() : #t11;
core::num v5 = let final dynamic #t10 = super.{self::Base::doubleProp} in #t10.{core::num::==}(null) ? super.{self::Base::doubleProp} = self::getNum() : #t10;
core::double v6 = let final dynamic #t11 = super.{self::Base::doubleProp} in #t11.{core::num::==}(null) ? super.{self::Base::doubleProp} = self::getDouble() : #t11;
core::double v7 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.{core::double::+}(self::getInt());
core::double v8 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.{core::double::+}(self::getNum());
core::double v9 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.{core::double::+}(self::getDouble());

View file

@ -10,8 +10,8 @@ class Test1 extends core::Object {
static method test(self::Test1 t) → void {
dynamic v1 = t.prop = self::getInt();
dynamic v2 = t.prop = self::getNum();
dynamic v4 = let final dynamic #t1 = t in let final dynamic #t2 = #t1.prop in #t2.==(null) ?{dynamic} #t1.prop = self::getInt() : #t2;
dynamic v5 = let final dynamic #t3 = t in let final dynamic #t4 = #t3.prop in #t4.==(null) ?{dynamic} #t3.prop = self::getNum() : #t4;
dynamic v4 = let final dynamic #t1 = t in let final dynamic #t2 = #t1.prop in #t2.==(null) ? #t1.prop = self::getInt() : #t2;
dynamic v5 = let final dynamic #t3 = t in let final dynamic #t4 = #t3.prop in #t4.==(null) ? #t3.prop = self::getNum() : #t4;
dynamic v7 = let final dynamic #t5 = t in #t5.prop = #t5.prop.+(self::getInt());
dynamic v8 = let final dynamic #t6 = t in #t6.prop = #t6.prop.+(self::getNum());
dynamic v10 = let final dynamic #t7 = t in #t7.prop = #t7.prop.+(1);
@ -27,9 +27,9 @@ class Test2 extends core::Object {
dynamic v1 = t.prop = self::getInt();
dynamic v2 = t.prop = self::getNum();
dynamic v3 = t.prop = self::getDouble();
dynamic v4 = let final dynamic #t11 = t in let final dynamic #t12 = #t11.prop in #t12.==(null) ?{dynamic} #t11.prop = self::getInt() : #t12;
dynamic v5 = let final dynamic #t13 = t in let final dynamic #t14 = #t13.prop in #t14.==(null) ?{dynamic} #t13.prop = self::getNum() : #t14;
dynamic v6 = let final dynamic #t15 = t in let final dynamic #t16 = #t15.prop in #t16.==(null) ?{dynamic} #t15.prop = self::getDouble() : #t16;
dynamic v4 = let final dynamic #t11 = t in let final dynamic #t12 = #t11.prop in #t12.==(null) ? #t11.prop = self::getInt() : #t12;
dynamic v5 = let final dynamic #t13 = t in let final dynamic #t14 = #t13.prop in #t14.==(null) ? #t13.prop = self::getNum() : #t14;
dynamic v6 = let final dynamic #t15 = t in let final dynamic #t16 = #t15.prop in #t16.==(null) ? #t15.prop = self::getDouble() : #t16;
dynamic v7 = let final dynamic #t17 = t in #t17.prop = #t17.prop.+(self::getInt());
dynamic v8 = let final dynamic #t18 = t in #t18.prop = #t18.prop.+(self::getNum());
dynamic v9 = let final dynamic #t19 = t in #t19.prop = #t19.prop.+(self::getDouble());
@ -45,8 +45,8 @@ class Test3 extends core::Object {
static method test3(self::Test3 t) → void {
dynamic v2 = t.prop = self::getNum();
dynamic v3 = t.prop = self::getDouble();
dynamic v5 = let final dynamic #t24 = t in let final dynamic #t25 = #t24.prop in #t25.==(null) ?{dynamic} #t24.prop = self::getNum() : #t25;
dynamic v6 = let final dynamic #t26 = t in let final dynamic #t27 = #t26.prop in #t27.==(null) ?{dynamic} #t26.prop = self::getDouble() : #t27;
dynamic v5 = let final dynamic #t24 = t in let final dynamic #t25 = #t24.prop in #t25.==(null) ? #t24.prop = self::getNum() : #t25;
dynamic v6 = let final dynamic #t26 = t in let final dynamic #t27 = #t26.prop in #t27.==(null) ? #t26.prop = self::getDouble() : #t27;
dynamic v7 = let final dynamic #t28 = t in #t28.prop = #t28.prop.+(self::getInt());
dynamic v8 = let final dynamic #t29 = t in #t29.prop = #t29.prop.+(self::getNum());
dynamic v9 = let final dynamic #t30 = t in #t30.prop = #t30.prop.+(self::getDouble());

View file

@ -10,8 +10,8 @@ class Test1 extends core::Object {
static method test(self::Test1 t) → void {
core::int v1 = t.{self::Test1::prop} = self::getInt();
core::num v2 = t.{self::Test1::prop} = self::getNum();
core::int v4 = let final dynamic #t1 = t in let final dynamic #t2 = #t1.{self::Test1::prop} in #t2.{core::num::==}(null) ?{dynamic} #t1.{self::Test1::prop} = self::getInt() : #t2;
core::num v5 = let final dynamic #t3 = t in let final dynamic #t4 = #t3.{self::Test1::prop} in #t4.{core::num::==}(null) ?{dynamic} #t3.{self::Test1::prop} = self::getNum() : #t4;
core::int v4 = let final dynamic #t1 = t in let final dynamic #t2 = #t1.{self::Test1::prop} in #t2.{core::num::==}(null) ? #t1.{self::Test1::prop} = self::getInt() : #t2;
core::num v5 = let final dynamic #t3 = t in let final dynamic #t4 = #t3.{self::Test1::prop} in #t4.{core::num::==}(null) ? #t3.{self::Test1::prop} = self::getNum() : #t4;
core::int v7 = let final dynamic #t5 = t in #t5.{self::Test1::prop} = #t5.{self::Test1::prop}.{core::num::+}(self::getInt());
core::num v8 = let final dynamic #t6 = t in #t6.{self::Test1::prop} = #t6.{self::Test1::prop}.{core::num::+}(self::getNum());
core::int v10 = let final dynamic #t7 = t in #t7.{self::Test1::prop} = #t7.{self::Test1::prop}.{core::num::+}(1);
@ -27,9 +27,9 @@ class Test2 extends core::Object {
core::int v1 = t.{self::Test2::prop} = self::getInt();
core::num v2 = t.{self::Test2::prop} = self::getNum();
core::double v3 = t.{self::Test2::prop} = self::getDouble();
core::num v4 = let final dynamic #t11 = t in let final dynamic #t12 = #t11.{self::Test2::prop} in #t12.{core::num::==}(null) ?{dynamic} #t11.{self::Test2::prop} = self::getInt() : #t12;
core::num v5 = let final dynamic #t13 = t in let final dynamic #t14 = #t13.{self::Test2::prop} in #t14.{core::num::==}(null) ?{dynamic} #t13.{self::Test2::prop} = self::getNum() : #t14;
core::num v6 = let final dynamic #t15 = t in let final dynamic #t16 = #t15.{self::Test2::prop} in #t16.{core::num::==}(null) ?{dynamic} #t15.{self::Test2::prop} = self::getDouble() : #t16;
core::num v4 = let final dynamic #t11 = t in let final dynamic #t12 = #t11.{self::Test2::prop} in #t12.{core::num::==}(null) ? #t11.{self::Test2::prop} = self::getInt() : #t12;
core::num v5 = let final dynamic #t13 = t in let final dynamic #t14 = #t13.{self::Test2::prop} in #t14.{core::num::==}(null) ? #t13.{self::Test2::prop} = self::getNum() : #t14;
core::num v6 = let final dynamic #t15 = t in let final dynamic #t16 = #t15.{self::Test2::prop} in #t16.{core::num::==}(null) ? #t15.{self::Test2::prop} = self::getDouble() : #t16;
core::num v7 = let final dynamic #t17 = t in #t17.{self::Test2::prop} = #t17.{self::Test2::prop}.{core::num::+}(self::getInt());
core::num v8 = let final dynamic #t18 = t in #t18.{self::Test2::prop} = #t18.{self::Test2::prop}.{core::num::+}(self::getNum());
core::num v9 = let final dynamic #t19 = t in #t19.{self::Test2::prop} = #t19.{self::Test2::prop}.{core::num::+}(self::getDouble());
@ -45,8 +45,8 @@ class Test3 extends core::Object {
static method test3(self::Test3 t) → void {
core::num v2 = t.{self::Test3::prop} = self::getNum();
core::double v3 = t.{self::Test3::prop} = self::getDouble();
core::num v5 = let final dynamic #t24 = t in let final dynamic #t25 = #t24.{self::Test3::prop} in #t25.{core::num::==}(null) ?{dynamic} #t24.{self::Test3::prop} = self::getNum() : #t25;
core::double v6 = let final dynamic #t26 = t in let final dynamic #t27 = #t26.{self::Test3::prop} in #t27.{core::num::==}(null) ?{dynamic} #t26.{self::Test3::prop} = self::getDouble() : #t27;
core::num v5 = let final dynamic #t24 = t in let final dynamic #t25 = #t24.{self::Test3::prop} in #t25.{core::num::==}(null) ? #t24.{self::Test3::prop} = self::getNum() : #t25;
core::double v6 = let final dynamic #t26 = t in let final dynamic #t27 = #t26.{self::Test3::prop} in #t27.{core::num::==}(null) ? #t26.{self::Test3::prop} = self::getDouble() : #t27;
core::double v7 = let final dynamic #t28 = t in #t28.{self::Test3::prop} = #t28.{self::Test3::prop}.{core::double::+}(self::getInt());
core::double v8 = let final dynamic #t29 = t in #t29.{self::Test3::prop} = #t29.{self::Test3::prop}.{core::double::+}(self::getNum());
core::double v9 = let final dynamic #t30 = t in #t30.{self::Test3::prop} = #t30.{self::Test3::prop}.{core::double::+}(self::getDouble());

View file

@ -31,14 +31,14 @@ static method f<T extends core::Object>() → self::f::T
return null;
static method test_topLevelVariable() → void {
self::topLevelVariable = self::f<dynamic>();
self::topLevelVariable.==(null) ?{dynamic} self::topLevelVariable = self::f<dynamic>() : null;
self::topLevelVariable.==(null) ? self::topLevelVariable = self::f<dynamic>() : null;
self::topLevelVariable = self::topLevelVariable.+(self::f<dynamic>());
self::topLevelVariable = self::topLevelVariable.*(self::f<dynamic>());
self::topLevelVariable = self::topLevelVariable.&(self::f<dynamic>());
self::topLevelVariable = self::topLevelVariable.-(1);
self::topLevelVariable = self::topLevelVariable.-(1);
dynamic v1 = self::topLevelVariable = self::f<dynamic>();
dynamic v2 = let final dynamic #t1 = self::topLevelVariable in #t1.==(null) ?{dynamic} self::topLevelVariable = self::f<dynamic>() : #t1;
dynamic v2 = let final dynamic #t1 = self::topLevelVariable in #t1.==(null) ? self::topLevelVariable = self::f<dynamic>() : #t1;
dynamic v3 = self::topLevelVariable = self::topLevelVariable.+(self::f<dynamic>());
dynamic v4 = self::topLevelVariable = self::topLevelVariable.*(self::f<dynamic>());
dynamic v5 = self::topLevelVariable = self::topLevelVariable.&(self::f<dynamic>());
@ -47,14 +47,14 @@ static method test_topLevelVariable() → void {
}
static method test_staticVariable() → void {
self::B::staticVariable = self::f<dynamic>();
self::B::staticVariable.==(null) ?{dynamic} self::B::staticVariable = self::f<dynamic>() : null;
self::B::staticVariable.==(null) ? self::B::staticVariable = self::f<dynamic>() : null;
self::B::staticVariable = self::B::staticVariable.+(self::f<dynamic>());
self::B::staticVariable = self::B::staticVariable.*(self::f<dynamic>());
self::B::staticVariable = self::B::staticVariable.&(self::f<dynamic>());
self::B::staticVariable = self::B::staticVariable.-(1);
self::B::staticVariable = self::B::staticVariable.-(1);
dynamic v1 = self::B::staticVariable = self::f<dynamic>();
dynamic v2 = let final dynamic #t4 = self::B::staticVariable in #t4.==(null) ?{dynamic} self::B::staticVariable = self::f<dynamic>() : #t4;
dynamic v2 = let final dynamic #t4 = self::B::staticVariable in #t4.==(null) ? self::B::staticVariable = self::f<dynamic>() : #t4;
dynamic v3 = self::B::staticVariable = self::B::staticVariable.+(self::f<dynamic>());
dynamic v4 = self::B::staticVariable = self::B::staticVariable.*(self::f<dynamic>());
dynamic v5 = self::B::staticVariable = self::B::staticVariable.&(self::f<dynamic>());

View file

@ -31,14 +31,14 @@ static method f<T extends core::Object>() → self::f::T
return null;
static method test_topLevelVariable() → void {
self::topLevelVariable = self::f<self::B>();
self::topLevelVariable.{core::Object::==}(null) ?{dynamic} self::topLevelVariable = self::f<self::B>() : null;
self::topLevelVariable.{core::Object::==}(null) ? self::topLevelVariable = self::f<self::B>() : null;
self::topLevelVariable = self::topLevelVariable.{self::B::+}(self::f<dynamic>());
self::topLevelVariable = self::topLevelVariable.{self::B::*}(self::f<dynamic>());
self::topLevelVariable = self::topLevelVariable.{self::B::&}(self::f<dynamic>());
self::topLevelVariable = self::topLevelVariable.{self::B::-}(1);
self::topLevelVariable = self::topLevelVariable.{self::B::-}(1);
self::B v1 = self::topLevelVariable = self::f<self::B>();
self::B v2 = let final dynamic #t1 = self::topLevelVariable in #t1.{core::Object::==}(null) ?{dynamic} self::topLevelVariable = self::f<self::B>() : #t1;
self::B v2 = let final dynamic #t1 = self::topLevelVariable in #t1.{core::Object::==}(null) ? self::topLevelVariable = self::f<self::B>() : #t1;
self::A v3 = self::topLevelVariable = self::topLevelVariable.{self::B::+}(self::f<dynamic>());
self::B v4 = self::topLevelVariable = self::topLevelVariable.{self::B::*}(self::f<dynamic>());
self::C v5 = self::topLevelVariable = self::topLevelVariable.{self::B::&}(self::f<dynamic>());
@ -47,14 +47,14 @@ static method test_topLevelVariable() → void {
}
static method test_staticVariable() → void {
self::B::staticVariable = self::f<self::B>();
self::B::staticVariable.{core::Object::==}(null) ?{dynamic} self::B::staticVariable = self::f<self::B>() : null;
self::B::staticVariable.{core::Object::==}(null) ? self::B::staticVariable = self::f<self::B>() : null;
self::B::staticVariable = self::B::staticVariable.{self::B::+}(self::f<dynamic>());
self::B::staticVariable = self::B::staticVariable.{self::B::*}(self::f<dynamic>());
self::B::staticVariable = self::B::staticVariable.{self::B::&}(self::f<dynamic>());
self::B::staticVariable = self::B::staticVariable.{self::B::-}(1);
self::B::staticVariable = self::B::staticVariable.{self::B::-}(1);
self::B v1 = self::B::staticVariable = self::f<self::B>();
self::B v2 = let final dynamic #t4 = self::B::staticVariable in #t4.{core::Object::==}(null) ?{dynamic} self::B::staticVariable = self::f<self::B>() : #t4;
self::B v2 = let final dynamic #t4 = self::B::staticVariable in #t4.{core::Object::==}(null) ? self::B::staticVariable = self::f<self::B>() : #t4;
self::A v3 = self::B::staticVariable = self::B::staticVariable.{self::B::+}(self::f<dynamic>());
self::B v4 = self::B::staticVariable = self::B::staticVariable.{self::B::*}(self::f<dynamic>());
self::C v5 = self::B::staticVariable = self::B::staticVariable.{self::B::&}(self::f<dynamic>());

View file

@ -14,8 +14,8 @@ static method getDouble() → core::double
static method test1() → void {
dynamic v1 = self::topLevelInt = self::getInt();
dynamic v2 = self::topLevelInt = self::getNum();
dynamic v4 = let final dynamic #t1 = self::topLevelInt in #t1.==(null) ?{dynamic} self::topLevelInt = self::getInt() : #t1;
dynamic v5 = let final dynamic #t2 = self::topLevelInt in #t2.==(null) ?{dynamic} self::topLevelInt = self::getNum() : #t2;
dynamic v4 = let final dynamic #t1 = self::topLevelInt in #t1.==(null) ? self::topLevelInt = self::getInt() : #t1;
dynamic v5 = let final dynamic #t2 = self::topLevelInt in #t2.==(null) ? self::topLevelInt = self::getNum() : #t2;
dynamic v7 = self::topLevelInt = self::topLevelInt.+(self::getInt());
dynamic v8 = self::topLevelInt = self::topLevelInt.+(self::getNum());
dynamic v10 = self::topLevelInt = self::topLevelInt.+(1);
@ -25,9 +25,9 @@ static method test2() → void {
dynamic v1 = self::topLevelNum = self::getInt();
dynamic v2 = self::topLevelNum = self::getNum();
dynamic v3 = self::topLevelNum = self::getDouble();
dynamic v4 = let final dynamic #t5 = self::topLevelNum in #t5.==(null) ?{dynamic} self::topLevelNum = self::getInt() : #t5;
dynamic v5 = let final dynamic #t6 = self::topLevelNum in #t6.==(null) ?{dynamic} self::topLevelNum = self::getNum() : #t6;
dynamic v6 = let final dynamic #t7 = self::topLevelNum in #t7.==(null) ?{dynamic} self::topLevelNum = self::getDouble() : #t7;
dynamic v4 = let final dynamic #t5 = self::topLevelNum in #t5.==(null) ? self::topLevelNum = self::getInt() : #t5;
dynamic v5 = let final dynamic #t6 = self::topLevelNum in #t6.==(null) ? self::topLevelNum = self::getNum() : #t6;
dynamic v6 = let final dynamic #t7 = self::topLevelNum in #t7.==(null) ? self::topLevelNum = self::getDouble() : #t7;
dynamic v7 = self::topLevelNum = self::topLevelNum.+(self::getInt());
dynamic v8 = self::topLevelNum = self::topLevelNum.+(self::getNum());
dynamic v9 = self::topLevelNum = self::topLevelNum.+(self::getDouble());
@ -37,8 +37,8 @@ static method test2() → void {
static method test3() → void {
dynamic v2 = self::topLevelDouble = self::getNum();
dynamic v3 = self::topLevelDouble = self::getDouble();
dynamic v5 = let final dynamic #t10 = self::topLevelDouble in #t10.==(null) ?{dynamic} self::topLevelDouble = self::getNum() : #t10;
dynamic v6 = let final dynamic #t11 = self::topLevelDouble in #t11.==(null) ?{dynamic} self::topLevelDouble = self::getDouble() : #t11;
dynamic v5 = let final dynamic #t10 = self::topLevelDouble in #t10.==(null) ? self::topLevelDouble = self::getNum() : #t10;
dynamic v6 = let final dynamic #t11 = self::topLevelDouble in #t11.==(null) ? self::topLevelDouble = self::getDouble() : #t11;
dynamic v7 = self::topLevelDouble = self::topLevelDouble.+(self::getInt());
dynamic v8 = self::topLevelDouble = self::topLevelDouble.+(self::getNum());
dynamic v9 = self::topLevelDouble = self::topLevelDouble.+(self::getDouble());

View file

@ -14,8 +14,8 @@ static method getDouble() → core::double
static method test1() → void {
core::int v1 = self::topLevelInt = self::getInt();
core::num v2 = self::topLevelInt = self::getNum();
core::int v4 = let final dynamic #t1 = self::topLevelInt in #t1.{core::num::==}(null) ?{dynamic} self::topLevelInt = self::getInt() : #t1;
core::num v5 = let final dynamic #t2 = self::topLevelInt in #t2.{core::num::==}(null) ?{dynamic} self::topLevelInt = self::getNum() : #t2;
core::int v4 = let final dynamic #t1 = self::topLevelInt in #t1.{core::num::==}(null) ? self::topLevelInt = self::getInt() : #t1;
core::num v5 = let final dynamic #t2 = self::topLevelInt in #t2.{core::num::==}(null) ? self::topLevelInt = self::getNum() : #t2;
core::int v7 = self::topLevelInt = self::topLevelInt.{core::num::+}(self::getInt());
core::num v8 = self::topLevelInt = self::topLevelInt.{core::num::+}(self::getNum());
core::int v10 = self::topLevelInt = self::topLevelInt.{core::num::+}(1);
@ -25,9 +25,9 @@ static method test2() → void {
core::int v1 = self::topLevelNum = self::getInt();
core::num v2 = self::topLevelNum = self::getNum();
core::double v3 = self::topLevelNum = self::getDouble();
core::num v4 = let final dynamic #t5 = self::topLevelNum in #t5.{core::num::==}(null) ?{dynamic} self::topLevelNum = self::getInt() : #t5;
core::num v5 = let final dynamic #t6 = self::topLevelNum in #t6.{core::num::==}(null) ?{dynamic} self::topLevelNum = self::getNum() : #t6;
core::num v6 = let final dynamic #t7 = self::topLevelNum in #t7.{core::num::==}(null) ?{dynamic} self::topLevelNum = self::getDouble() : #t7;
core::num v4 = let final dynamic #t5 = self::topLevelNum in #t5.{core::num::==}(null) ? self::topLevelNum = self::getInt() : #t5;
core::num v5 = let final dynamic #t6 = self::topLevelNum in #t6.{core::num::==}(null) ? self::topLevelNum = self::getNum() : #t6;
core::num v6 = let final dynamic #t7 = self::topLevelNum in #t7.{core::num::==}(null) ? self::topLevelNum = self::getDouble() : #t7;
core::num v7 = self::topLevelNum = self::topLevelNum.{core::num::+}(self::getInt());
core::num v8 = self::topLevelNum = self::topLevelNum.{core::num::+}(self::getNum());
core::num v9 = self::topLevelNum = self::topLevelNum.{core::num::+}(self::getDouble());
@ -37,8 +37,8 @@ static method test2() → void {
static method test3() → void {
core::num v2 = self::topLevelDouble = self::getNum();
core::double v3 = self::topLevelDouble = self::getDouble();
core::num v5 = let final dynamic #t10 = self::topLevelDouble in #t10.{core::num::==}(null) ?{dynamic} self::topLevelDouble = self::getNum() : #t10;
core::double v6 = let final dynamic #t11 = self::topLevelDouble in #t11.{core::num::==}(null) ?{dynamic} self::topLevelDouble = self::getDouble() : #t11;
core::num v5 = let final dynamic #t10 = self::topLevelDouble in #t10.{core::num::==}(null) ? self::topLevelDouble = self::getNum() : #t10;
core::double v6 = let final dynamic #t11 = self::topLevelDouble in #t11.{core::num::==}(null) ? self::topLevelDouble = self::getDouble() : #t11;
core::double v7 = self::topLevelDouble = self::topLevelDouble.{core::double::+}(self::getInt());
core::double v8 = self::topLevelDouble = self::topLevelDouble.{core::double::+}(self::getNum());
core::double v9 = self::topLevelDouble = self::topLevelDouble.{core::double::+}(self::getDouble());

View file

@ -10,6 +10,6 @@ class C extends core::Object {
return null;
}
static method g(self::C c) → dynamic {
dynamic x = let final self::C #t1 = c in #t1.==(null) ?{dynamic} null : #t1.f();
dynamic x = let final dynamic #t1 = c in #t1.==(null) ? null : #t1.f();
}
static method main() → dynamic {}

View file

@ -9,6 +9,6 @@ class C extends core::Object {
;
}
static method f(self::C c) → void {
dynamic x = let final self::C #t1 = c in #t1.==(null) ?{dynamic} null : #t1.x;
dynamic x = let final dynamic #t1 = c in #t1.==(null) ? null : #t1.x;
}
static method main() → dynamic {}

View file

@ -28,5 +28,5 @@ class D extends self::C {
}
static field dynamic a = new self::A::•();
static field dynamic x = self::a.b.c;
static field dynamic y = let final dynamic #t1 = self::a.b in let final dynamic #t2 = #t1.c in #t2.==(null) ?{dynamic} #t1.c = new self::D::•() : #t2;
static field dynamic y = let final dynamic #t1 = self::a.b in let final dynamic #t2 = #t1.c in #t2.==(null) ? #t1.c = new self::D::•() : #t2;
static method main() → dynamic {}

View file

@ -28,5 +28,5 @@ class D extends self::C {
}
static field self::A a = new self::A::•();
static field self::C x = self::a.{self::A::b}.{self::B::c};
static field self::C y = let final dynamic #t1 = self::a.{self::A::b} in let final dynamic #t2 = #t1.{self::B::c} in #t2.{core::Object::==}(null) ?{dynamic} #t1.{self::B::c} = new self::D::•() : #t2;
static field self::C y = let final dynamic #t1 = self::a.{self::A::b} in let final dynamic #t2 = #t1.{self::B::c} in #t2.{core::Object::==}(null) ? #t1.{self::B::c} = new self::D::•() : #t2;
static method main() → dynamic {}

View file

@ -26,5 +26,5 @@ class D extends self::C {
}
static field dynamic a = new self::A::•();
static field dynamic x = self::a.b.c;
static field dynamic y = let final dynamic #t1 = self::a.b in let final dynamic #t2 = #t1.c in #t2.==(null) ?{dynamic} #t1.c = new self::D::•() : #t2;
static field dynamic y = let final dynamic #t1 = self::a.b in let final dynamic #t2 = #t1.c in #t2.==(null) ? #t1.c = new self::D::•() : #t2;
static method main() → dynamic {}

View file

@ -26,5 +26,5 @@ class D extends self::C {
}
static field self::A a = new self::A::•();
static field self::C x = self::a.{self::A::b}.{self::B::c};
static field self::C y = let final dynamic #t1 = self::a.{self::A::b} in let final dynamic #t2 = #t1.{self::B::c} in #t2.{core::Object::==}(null) ?{dynamic} #t1.{self::B::c} = new self::D::•() : #t2;
static field self::C y = let final dynamic #t1 = self::a.{self::A::b} in let final dynamic #t2 = #t1.{self::B::c} in #t2.{core::Object::==}(null) ? #t1.{self::B::c} = new self::D::•() : #t2;
static method main() → dynamic {}

View file

@ -2,7 +2,7 @@ library test;
import self as self;
import "dart:core" as core;
static field dynamic x = () → dynamic => self::f() ?{dynamic} self::y : self::z;
static field dynamic x = () → dynamic => self::f() ? self::y : self::z;
static field dynamic y = () → dynamic => self::x;
static field dynamic z = () → dynamic => self::x;
static method f() → core::bool

View file

@ -53,8 +53,8 @@ class DynamicReceiver2 extends core::Object {
static method staticMethod() → dynamic {
return "sdfg";
}
external static abstract method externalStatic() → core::bool;
external static abstract method createBar() → self::Bar;
external static method externalStatic() → core::bool;
external static method createBar() → self::Bar;
static method stringArgument(dynamic x) → dynamic {}
static method intArgument(dynamic x) → dynamic {}
static method makeDynamicCall(dynamic receiver) → void {

View file

@ -11,12 +11,12 @@ class Foo extends core::Object {
}
static method main() → dynamic {
self::Foo foo = new self::Foo::•();
let final dynamic #t1 = foo in #t1.==(null) ?{dynamic} null : #t1.field = 5;
let final dynamic #t1 = foo in #t1.==(null) ? null : #t1.field = 5;
self::Foo::staticField = 5;
let final dynamic #t2 = foo in #t2.field.==(null) ?{dynamic} #t2.field = 5 : null;
self::Foo::staticField.==(null) ?{dynamic} self::Foo::staticField = 5 : null;
let final dynamic #t3 = foo in #t3.==(null) ?{dynamic} null : #t3.field.==(null) ?{dynamic} #t3.field = 5 : null;
self::Foo::staticField.==(null) ?{dynamic} self::Foo::staticField = 5 : null;
core::int intValue = let final dynamic #t4 = foo.field in #t4.==(null) ?{core::int} 6 : #t4;
core::num numValue = let final dynamic #t5 = foo.field in #t5.==(null) ?{core::num} 4.5 : #t5;
let final dynamic #t2 = foo in #t2.field.==(null) ? #t2.field = 5 : null;
self::Foo::staticField.==(null) ? self::Foo::staticField = 5 : null;
let final dynamic #t3 = foo in #t3.==(null) ? null : #t3.field.==(null) ? #t3.field = 5 : null;
self::Foo::staticField.==(null) ? self::Foo::staticField = 5 : null;
core::int intValue = let final dynamic #t4 = foo.field in #t4.==(null) ? 6 : #t4;
core::num numValue = let final dynamic #t5 = foo.field in #t5.==(null) ? 4.5 : #t5;
}

View file

@ -6,7 +6,7 @@ class Foo extends core::Object {
constructor •() → void
: super core::Object::•()
;
method method(dynamic x, [dynamic y = null, dynamic z = null]) → dynamic {
method method(dynamic x, [dynamic y, dynamic z]) → dynamic {
return "string";
}
}
@ -14,34 +14,34 @@ abstract class External extends core::Object {
constructor •() → void
: super core::Object::•()
;
abstract method externalMethod(core::int x, [core::int y = null, core::int z = null]) → core::String;
abstract method externalMethod(core::int x, [core::int y, core::int z]) → core::String;
abstract method listen(self::Listener listener) → void;
}
abstract class Listener extends core::Object {
constructor •() → void
: super core::Object::•()
;
abstract method event(core::String input, [core::int x = null, core::int y = null]) → void;
abstract method event(core::String input, [core::int x, core::int y]) → void;
}
class TestListener extends self::Listener {
constructor •() → void
: super self::Listener::•()
;
method event(dynamic input, [dynamic x = null, dynamic y = null]) → void {}
method event(dynamic input, [dynamic x, dynamic y]) → void {}
}
class ExtendedListener extends self::Listener {
constructor •() → void
: super self::Listener::•()
;
method event(dynamic input, [dynamic x = null, dynamic y = null, dynamic z = null]) → void {}
method event(dynamic input, [dynamic x, dynamic y, dynamic z]) → void {}
}
class InvalidListener extends core::Object {
constructor •() → void
: super core::Object::•()
;
method event(dynamic input, [dynamic x = null]) → void {}
method event(dynamic input, [dynamic x]) → void {}
}
external static abstract method createExternal() → self::External;
external static method createExternal() → self::External;
static method main() → dynamic {
dynamic foo = new self::Foo::•();
dynamic string1 = foo.method(1);

View file

@ -29,7 +29,7 @@ class Sub extends self::Base {
}
}
static method main(core::List<core::String> args) → dynamic {
dynamic object = args.length.==(0) ?{self::Base} new self::Base::•() : new self::Sub::•();
dynamic object = args.length.==(0) ? new self::Base::•() : new self::Sub::•();
dynamic a = object.method();
core::print(a);
}

View file

@ -4,8 +4,7 @@ import "dart:core" as core;
class C extends core::Object {
const constructor •() → void
: final dynamic #t1 = const core::_ConstantExpressionError::•()._throw(new core::_CompileTimeError::•("pkg/front_end/testcases/rasta/bad_constructor_redirection.dart:6:20: Error: Method not found: 'x'.\n const C() : this.x(1);\n ^"))
;
: invalid-initializer;
const constructor x() → void
: super core::Object::•()
;

View file

@ -1,5 +1,17 @@
library;
import self as self;
import "dart:core" as core;
static method main() → dynamic
throw "pkg/front_end/testcases/rasta/bad_default_constructor.dart: Error: A has no constructor that takes no arguments.";
class A extends core::Object {
constructor •(dynamic x) → dynamic
: super core::Object::•()
;
}
class B extends self::A {
constructor •() → self::B
: invalid-initializer;
}
static method main() → dynamic {
new self::B::•();
invalid-expression;
}

View file

@ -9,7 +9,7 @@ class A extends core::Object {
}
class B extends self::A {
const constructor •() → void
: final dynamic #t1 = const core::_ConstantExpressionError::•()._throw(new core::_CompileTimeError::•("pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart:10:15: Error: Method not found: 'super.'.\n const B() : super();\n ^"))
: invalid-initializer
;
}
static method main() → dynamic {

View file

@ -3,13 +3,13 @@ import self as self;
import "dart:core" as core;
class A extends core::Object {
constructor •(dynamic x) → void
: final dynamic #t1 = const core::_ConstantExpressionError::•()._throw(new core::_CompileTimeError::•("pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart:6:10: Error: 'x' isn't an instance field of this class.\n A(this.x);\n ^"))
constructor •(dynamic x) → dynamic
: invalid-initializer, super core::Object::•()
;
}
class B extends self::A {
const constructor •() → void
: final dynamic #t2 = const core::_ConstantExpressionError::•()._throw(new core::_CompileTimeError::•("pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart:10:9: Error: The unnamed constructor in 'A' requires arguments.\n const B();\n ^"))
const constructor •() → dynamic
: invalid-initializer
;
}
static method main() → dynamic {

View file

@ -3,15 +3,14 @@ import self as self;
import "dart:core" as core;
class Foo extends core::Object {
constructor •() → void
constructor •() → dynamic
: super core::Object::•()
const core::_ConstantExpressionError::•()._throw(new core::_CompileTimeError::•("pkg/front_end/testcases/rasta/bad_redirection.dart:6:11: Error: Can't return from a constructor.\n Foo() = Bar;\n ^"));
invalid-statement;
}
class Bar extends self::Foo {
static factory •() → self::Bar
return null;
}
const field dynamic #errors = const <dynamic>["pkg/front_end/testcases/rasta/bad_redirection.dart:6:9: Error: Expected a function body or '=>'.\n Foo() = Bar;\n ^"]/* from null */;
static method main() → dynamic {
new self::Foo::•();
}

View file

@ -4,7 +4,7 @@ import "dart:core" as core;
class C extends core::Object {
constructor •() → void
: final dynamic #t1 = const core::_ConstantExpressionError::•()._throw(new core::_CompileTimeError::•("pkg/front_end/testcases/rasta/bad_setter_initializer.dart:6:15: Error: 'field' isn't an instance field of this class.\n C() : field = null;\n ^"))
: final dynamic #t1 = throw new core::_CompileTimeError::•("pkg/front_end/test/fasta/rasta/bad_setter_initializer.dart:6:9: \u0027[31mError: Can't use field here.\u0027[0m"), super core::Object::•()
;
set field(dynamic value) → dynamic {}
}

View file

@ -1,5 +1,7 @@
library;
import self as self;
import "dart:core" as core;
static method main() → dynamic
throw "Error: Incomplete escape sequence.";
static method main() → dynamic {
core::print(invalid-expression);
}

View file

@ -3,7 +3,7 @@ import self as self;
import "dart:core" as core;
static method main() → dynamic {
const core::_ConstantExpressionError::•()._throw(new core::_CompileTimeError::•("pkg/front_end/testcases/rasta/breaking_bad.dart:6:3: Error: No target of break.\n break;\n ^"));
throw new core::_CompileTimeError::•("pkg/front_end/test/fasta/rasta/breaking_bad.dart:6:3: \u0027[31mError: No target of break.\u0027[0m");
#L1:
break #L1;
}

View file

@ -3,29 +3,24 @@ import self as self;
import "dart:core" as core;
class A extends core::Object {
constructor •() → void
: super core::Object::•()
;
constructor •() → self::A
: invalid-initializer;
}
class B extends core::Object {
constructor •() → void
: super core::Object::•()
;
constructor •() → self::B
: invalid-initializer;
}
class C extends core::Object {
constructor •() → void
: super core::Object::•()
;
constructor •() → dynamic
: invalid-initializer;
}
class D extends core::Object {
static field dynamic _redirecting# = <dynamic>[self::D::•];
static factory •() → self::D
let dynamic #redirecting_factory = "Missing" in invalid-expression;
invalid-statement;
}
const field dynamic #errors = const <dynamic>["pkg/front_end/testcases/rasta/class_hierarchy.dart:9:7: Error: The type 'Missing' can't be mixed in.\nclass C = Object with Missing;\n ^", "pkg/front_end/testcases/rasta/class_hierarchy.dart: Error: The type 'Missing' can't be used as supertype.", "pkg/front_end/testcases/rasta/class_hierarchy.dart: Error: The type 'Missing' can't be used as supertype.", "pkg/front_end/testcases/rasta/class_hierarchy.dart: Error: The type 'Missing' can't be used as supertype.", "pkg/front_end/testcases/rasta/class_hierarchy.dart: Error: The type 'Missing' can't be used as supertype."]/* from null */;
static method main() → void {
new self::A::•();
new self::B::•();
new self::C::•();
throw new core::NoSuchMethodError::_withType(null, #Missing, 32, <dynamic>[].toList(growable: false), <dynamic, dynamic>{}, null);
invalid-expression.call();
}

View file

@ -2,8 +2,7 @@ library;
import self as self;
import "dart:core" as core;
const field dynamic #errors = const <dynamic>["pkg/front_end/testcases/rasta/deferred_load.dart:8:7: Error: Deferred loading isn't implemented yet.\n lib.loadLibrary;\n ^", "pkg/front_end/testcases/rasta/deferred_load.dart:9:7: Error: Deferred loading isn't implemented yet.\n lib.loadLibrary();\n ^"]/* from null */;
static method main() → dynamic {
const core::_ConstantExpressionError::•()._throw(new core::_CompileTimeError::•("pkg/front_end/testcases/rasta/deferred_load.dart:8:7: Error: Deferred loading isn't implemented yet.\n lib.loadLibrary;\n ^"));
const core::_ConstantExpressionError::•()._throw(new core::_CompileTimeError::•("pkg/front_end/testcases/rasta/deferred_load.dart:9:7: Error: Deferred loading isn't implemented yet.\n lib.loadLibrary();\n ^")).call();
throw new core::NoSuchMethodError::•(null, #loadLibrary, <dynamic>[], <dynamic, dynamic>{}, null);
throw new core::NoSuchMethodError::•(null, #lib.loadLibrary, <dynamic>[], <dynamic, dynamic>{}, null);
}

View file

@ -8,12 +8,20 @@ class Mixin extends core::Object {
: super core::Object::•()
;
}
abstract class Object&Mixin = core::Object with self::Mixin {
}
abstract class Object&Mixin&Mixin = self::Object&Mixin with self::Mixin {
}
class A extends self::Object&Mixin&Mixin {
abstract class Object&Mixin extends core::Object implements self::Mixin {
field dynamic field = null;
constructor •() → void
: super core::Object::•()
;
}
abstract class Object&Mixin&Mixin extends self::Object&Mixin implements self::Mixin {
field dynamic field = null;
constructor •() → void
: super self::Object&Mixin::•()
;
}
class A extends self::Object&Mixin&Mixin {
constructor •() → void
: super self::Object&Mixin&Mixin::•()
;
}

View file

@ -3,5 +3,5 @@ import self as self;
import "dart:core" as core;
static method main() → dynamic {
let final dynamic #t1 = const core::_ConstantExpressionError::•()._throw(new core::_CompileTimeError::•("pkg/front_end/testcases/rasta/issue_000031.dart: Error: A library can't be used as an expression.")) in let final dynamic #t2 = #t1.toString() in #t1;
let final dynamic #t1 = throw new core::_CompileTimeError::•("pkg/front_end/test/fasta/rasta/issue_000031.dart: \u0027[31mError: A library can't be used as an expression.\u0027[0m") in let final dynamic #t2 = #t1.toString() in #t1;
}

View file

@ -1,5 +1,10 @@
library;
import self as self;
import "dart:core" as core;
class C extends core::Object {
constructor •() → self::C
: super core::Object::•();
}
static method main() → dynamic
throw "pkg/front_end/testcases/rasta/issue_000032.dart:6:4: Error: Can't find '>' to match '<'.\n C<\n ^";
invalid-statement;

View file

@ -4,7 +4,7 @@ import "dart:core" as core;
class C extends core::Object {
const constructor •() → void
: final dynamic #t1 = const core::_ConstantExpressionError::•()._throw(new core::_CompileTimeError::•("pkg/front_end/testcases/rasta/issue_000034.dart:6:20: Error: Can't use x here.\n const C() : this.x;\n ^"))
: final dynamic #t1 = throw new core::_CompileTimeError::•("pkg/front_end/test/fasta/rasta/issue_000034.dart:6:15: \u0027[31mError: Can't use x here.\u0027[0m"), super core::Object::•()
;
}
static method main() → dynamic {

View file

@ -8,4 +8,3 @@ class C extends core::Object {
;
abstract method æøC() → dynamic;
}
const field dynamic #errors = const <dynamic>["pkg/front_end/testcases/rasta/issue_000035.dart:5:10: Error: The non-ASCII character '\u0230' (U+00e6) can't be used in identifiers, only in strings and comments.\nTry using an US-ASCII letter, a digit, '_' (an underscore), or '\$' (a dollar sign).\nclass C {\u0230\u0248C();}\n ^", "pkg/front_end/testcases/rasta/issue_000035.dart:5:11: Error: The non-ASCII character '\u0248' (U+00f8) can't be used in identifiers, only in strings and comments.\nTry using an US-ASCII letter, a digit, '_' (an underscore), or '\$' (a dollar sign).\nclass C {\u0230\u0248C();}\n ^"]/* from null */;

View file

@ -7,4 +7,3 @@ class C extends core::Object {
: super core::Object::•()
;
}
const field dynamic #errors = const <dynamic>["pkg/front_end/testcases/rasta/issue_000035a.dart:5:9: Error: The non-ASCII space character U+2028 can only be used in strings and comments.\nclass C{\u8232\u8232C();}\n ^", "pkg/front_end/testcases/rasta/issue_000035a.dart:5:10: Error: The non-ASCII space character U+2028 can only be used in strings and comments.\nclass C{\u8232\u8232C();}\n ^"]/* from null */;

View file

@ -2,4 +2,4 @@ library;
import self as self;
static method main() → dynamic
throw "pkg/front_end/testcases/rasta/issue_000036.dart:5:14: Error: Expected an expression, but got '-'.\nmain() => a. - 5;\n ^";
invalid-statement;

View file

@ -1,5 +1,13 @@
library;
import self as self;
import "dart:core" as core;
static method main() → dynamic
throw "pkg/front_end/testcases/rasta/issue_000039.dart:10:3: Error: Expected an expression, but got '}'.\n }\n ^";
class A extends core::Object {
field dynamic a;
constructor •() → dynamic
: invalid-initializer;
}
class B extends self::A {
constructor •() → self::B
: super self::A::•();
}

View file

@ -3,14 +3,12 @@ import self as self;
import "dart:core" as core;
class C extends core::Object {
constructor •() → void
: super core::Object::•()
;
constructor •() → self::C
: super core::Object::•();
method test() → dynamic {
self::use(const core::_ConstantExpressionError::•()._throw(new core::_CompileTimeError::•("pkg/front_end/testcases/rasta/issue_000041.dart:7:10: Error: Can't use `super` as an expression.\n use(+super);\n ^")));
self::use(invalid-expression);
}
}
const field dynamic #errors = const <dynamic>["pkg/front_end/testcases/rasta/issue_000041.dart:7:9: Error: '+' is not a prefix operator. \n use(+super);\n ^"]/* from null */;
static method use(dynamic _) → dynamic
return null;
static method main() → dynamic {

View file

@ -3,25 +3,23 @@ import self as self;
import "dart:core" as core;
class C extends core::Object {
static field dynamic _redirecting# = <dynamic>[self::C::good];
const constructor constant() → void
const constructor constant() → dynamic
: super core::Object::•()
;
constructor missingFactoryKeyword() → void
constructor missingFactoryKeyword() → dynamic
: super core::Object::•()
const core::_ConstantExpressionError::•()._throw(new core::_CompileTimeError::•("pkg/front_end/testcases/rasta/issue_000044.dart:14:31: Error: Can't return from a constructor.\n C.missingFactoryKeyword() = C.constant;\n ^"));
invalid-statement;
static factory good() → self::C
let dynamic #redirecting_factory = self::C::constant in invalid-expression;
invalid-statement;
method notEvenAConstructor(dynamic a) → self::C
return this.h;
invalid-statement;
}
const field dynamic #errors = const <dynamic>["pkg/front_end/testcases/rasta/issue_000044.dart:7:8: Error: Expected a function body or '=>'.\na b(c) = d;\n ^", "pkg/front_end/testcases/rasta/issue_000044.dart:7:8: Error: Expected a function body or '=>'.\na b(c) = d;\n ^", "pkg/front_end/testcases/rasta/issue_000044.dart:14:29: Error: Expected a function body or '=>'.\n C.missingFactoryKeyword() = C.constant;\n ^", "pkg/front_end/testcases/rasta/issue_000044.dart:21:28: Error: Expected a function body or '=>'.\n C notEvenAConstructor(a) = h;\n ^"]/* from null */;
static method b(dynamic c) → invalid-type
return throw new core::NoSuchMethodError::_withType(null, #d, 33, <dynamic>[].toList(growable: false), <dynamic, dynamic>{}, null);
static method b() → dynamic
invalid-statement;
static method main() → dynamic {
self::C c = null;
core::print(const self::C::constant());
core::print(const core::_ConstantExpressionError::•()._throw(new core::_CompileTimeError::•("pkg/front_end/testcases/rasta/issue_000044.dart:27:15: Error: Not a const constructor.\n print(const C.missingFactoryKeyword());\n ^")));
core::print(invalid-expression);
core::print(const self::C::constant());
core::print(new self::C::constant().notEvenAConstructor(null));
}

View file

@ -2,4 +2,4 @@ library;
import self as self;
static method main() → dynamic
throw "pkg/front_end/testcases/rasta/issue_000045.dart:6:1: Error: Expected ';' before this.\n\n^";
invalid-statement;

View file

@ -1,5 +1,9 @@
library;
import self as self;
import "dart:core" as core;
static method main() → dynamic
throw "pkg/front_end/testcases/rasta/issue_000046.dart:6:19: Error: Expected ';' before this.\n C c = new Object)();\n ^";
class C extends core::Object {
field invalid-type c;
constructor •() → self::C
: self::C::c = invalid-expression, super core::Object::•();
}

View file

@ -1,5 +1,5 @@
library;
import self as self;
static method main() → dynamic
throw "pkg/front_end/testcases/rasta/issue_000047.dart:5:20: Error: Expected '(' before this.\ntypedef void T(C<C>);\n ^";
static method main() → invalid-type
return null;

View file

@ -1,5 +1,12 @@
library;
import self as self;
import "dart:core" as core;
static method main() → dynamic
throw "pkg/front_end/testcases/rasta/malformed_const_constructor.dart:8:5: Error: Expected a function body, but got ':'.\n : x = 'foo'\n ^";
class A extends core::Object {
const constructor •() → dynamic
: invalid-initializer;
}
static method main() → dynamic {
const self::A::•();
new self::A::•();
}

View file

@ -3,5 +3,5 @@ import self as self;
import "dart:core" as core;
static method main() → dynamic {
const core::_ConstantExpressionError::•()._throw(new core::_CompileTimeError::•("pkg/front_end/testcases/rasta/malformed_function.dart:7:8: Error: Can't assign to a parenthesized expression.\n (null) = null;\n ^"));
throw new core::_CompileTimeError::•("pkg/front_end/test/fasta/rasta/malformed_function.dart:7:10: \u0027[31mError: Can't assign to this.\u0027[0m");
}

View file

@ -11,7 +11,7 @@ class Mixin<T extends core::Object> extends core::Object {
: super core::Object::•()
;
method foo() → dynamic
return super.noSuchMethod(new core::_InvocationMirror::•("foo", <dynamic>[0, 1, 1].toList(growable: false), <dynamic>[this].toList(growable: false), true)).+(self::f());
return this.{=core::Object::noSuchMethod}(new core::_InvocationMirror::•("foo", <dynamic>[0, 1, 1].toList(growable: false), <dynamic>[this].toList(growable: false), true)).+(self::f());
method g(self::Mixin::T a) → self::Mixin::T
return null;
method h() → dynamic

View file

@ -1,17 +1,16 @@
library;
import self as self;
import "dart:core" as core;
import "dart:_internal" as _in;
class Bar extends core::Object {
@_in::ExternalName::•("Bar_get_x")
external get x() → self::Bar;
@_in::ExternalName::•("Bar_set_x")
external set x(self::Bar value) → dynamic;
@_in::ExternalName::•("Bar_f")
external method f() → dynamic;
@_in::ExternalName::•("Bar_constructor")
external static factory •() → self::Bar;
get x() → self::Bar
return "Bar_get_x";
set x(self::Bar value) → dynamic
return "Bar_set_x";
method f() → dynamic
return "Bar_f";
static factory •() → self::Bar
return "Bar_constructor";
}
@_in::ExternalName::•("foo")
external static method foo() → dynamic;
static method foo() → dynamic
invalid-statement;

View file

@ -1,5 +1,10 @@
library;
import self as self;
import "package:expect/expect.dart" as exp;
import "dart:core" as core;
static method main() → dynamic
throw "pkg/front_end/testcases/rasta/parser_error.dart:10:7: Error: Expected an expression, but got '?'.\n if (?b) return b; /// 01: compile-time error\n ^";
static method test() → dynamic
invalid-statement;
static method main() → dynamic {
exp::Expect::equals(6, throw core::_genericNoSuchMethod(null, #test, <dynamic>[1], <dynamic, dynamic>{#b: 2, #c: 3}, <dynamic>[]));
}

View file

@ -69,16 +69,16 @@ static method main() → dynamic {
self::use(throw new core::NoSuchMethodError::_withType(null, #staticGetter, 34, <dynamic>[87].toList(growable: false), <dynamic, dynamic>{}, null));
self::Foo::staticSetter = 87;
self::use(self::Foo::staticSetter = 87);
self::Foo::staticConstant.==(null) ?{dynamic} throw new core::NoSuchMethodError::_withType(null, #staticConstant, 34, <dynamic>[87].toList(growable: false), <dynamic, dynamic>{}, null) : null;
self::use(let final dynamic #t11 = self::Foo::staticConstant in #t11.==(null) ?{dynamic} throw new core::NoSuchMethodError::_withType(null, #staticConstant, 34, <dynamic>[87].toList(growable: false), <dynamic, dynamic>{}, null) : #t11);
self::Foo::staticField.==(null) ?{dynamic} self::Foo::staticField = 87 : null;
self::use(let final dynamic #t12 = self::Foo::staticField in #t12.==(null) ?{dynamic} self::Foo::staticField = 87 : #t12);
self::Foo::staticFunction.==(null) ?{dynamic} throw new core::NoSuchMethodError::_withType(null, #staticFunction, 34, <dynamic>[87].toList(growable: false), <dynamic, dynamic>{}, null) : null;
self::use(let final dynamic #t13 = self::Foo::staticFunction in #t13.==(null) ?{dynamic} throw new core::NoSuchMethodError::_withType(null, #staticFunction, 34, <dynamic>[87].toList(growable: false), <dynamic, dynamic>{}, null) : #t13);
self::Foo::staticGetter.==(null) ?{dynamic} throw new core::NoSuchMethodError::_withType(null, #staticGetter, 34, <dynamic>[87].toList(growable: false), <dynamic, dynamic>{}, null) : null;
self::use(let final dynamic #t14 = self::Foo::staticGetter in #t14.==(null) ?{dynamic} throw new core::NoSuchMethodError::_withType(null, #staticGetter, 34, <dynamic>[87].toList(growable: false), <dynamic, dynamic>{}, null) : #t14);
(throw new core::NoSuchMethodError::_withType(null, #staticSetter, 33, <dynamic>[].toList(growable: false), <dynamic, dynamic>{}, null)).==(null) ?{dynamic} self::Foo::staticSetter = 87 : null;
self::use(let final dynamic #t15 = throw new core::NoSuchMethodError::_withType(null, #staticSetter, 33, <dynamic>[].toList(growable: false), <dynamic, dynamic>{}, null) in #t15.==(null) ?{dynamic} self::Foo::staticSetter = 87 : #t15);
self::Foo::staticConstant.==(null) ? throw new core::NoSuchMethodError::_withType(null, #staticConstant, 34, <dynamic>[87].toList(growable: false), <dynamic, dynamic>{}, null) : null;
self::use(let final dynamic #t11 = self::Foo::staticConstant in #t11.==(null) ? throw new core::NoSuchMethodError::_withType(null, #staticConstant, 34, <dynamic>[87].toList(growable: false), <dynamic, dynamic>{}, null) : #t11);
self::Foo::staticField.==(null) ? self::Foo::staticField = 87 : null;
self::use(let final dynamic #t12 = self::Foo::staticField in #t12.==(null) ? self::Foo::staticField = 87 : #t12);
self::Foo::staticFunction.==(null) ? throw new core::NoSuchMethodError::_withType(null, #staticFunction, 34, <dynamic>[87].toList(growable: false), <dynamic, dynamic>{}, null) : null;
self::use(let final dynamic #t13 = self::Foo::staticFunction in #t13.==(null) ? throw new core::NoSuchMethodError::_withType(null, #staticFunction, 34, <dynamic>[87].toList(growable: false), <dynamic, dynamic>{}, null) : #t13);
self::Foo::staticGetter.==(null) ? throw new core::NoSuchMethodError::_withType(null, #staticGetter, 34, <dynamic>[87].toList(growable: false), <dynamic, dynamic>{}, null) : null;
self::use(let final dynamic #t14 = self::Foo::staticGetter in #t14.==(null) ? throw new core::NoSuchMethodError::_withType(null, #staticGetter, 34, <dynamic>[87].toList(growable: false), <dynamic, dynamic>{}, null) : #t14);
(throw new core::NoSuchMethodError::_withType(null, #staticSetter, 33, <dynamic>[].toList(growable: false), <dynamic, dynamic>{}, null)).==(null) ? self::Foo::staticSetter = 87 : null;
self::use(let final dynamic #t15 = throw new core::NoSuchMethodError::_withType(null, #staticSetter, 33, <dynamic>[].toList(growable: false), <dynamic, dynamic>{}, null) in #t15.==(null) ? self::Foo::staticSetter = 87 : #t15);
}
on core::NoSuchMethodError catch(no-exception-var) {
}

View file

@ -3,14 +3,13 @@ import self as self;
import "dart:core" as core;
class A extends core::Object {
field dynamic a = null;
field dynamic b = null;
field dynamic c = null;
field dynamic d = null;
final field dynamic f = null;
constructor •() → void
: super core::Object::•()
;
field dynamic a;
field dynamic b;
field dynamic c;
field dynamic d;
final field dynamic f;
constructor •() → self::A
: super core::Object::•();
get e() → dynamic
return null;
set g(dynamic _) → dynamic {}
@ -33,30 +32,28 @@ class A extends core::Object {
set n(dynamic _) → dynamic {}
}
class B extends self::A {
final field dynamic d = null;
constructor •() → void
: super self::A::•()
;
final field dynamic d;
constructor •() → self::B
: super self::A::•();
get b() → dynamic
return null;
set c(dynamic x) → dynamic {}
set i(dynamic x) → dynamic {}
}
class C extends self::B {
constructor •() → void
: super self::B::•()
;
constructor •() → self::C
: super self::B::•();
method test() → dynamic {
super.~();
self::use(super.~());
super.unary-();
self::use(super.unary-());
const core::_ConstantExpressionError::•()._throw(new core::_CompileTimeError::•("pkg/front_end/testcases/rasta/super.dart:43:6: Error: Can't use `super` as an expression.\n +super;\n ^"));
self::use(const core::_ConstantExpressionError::•()._throw(new core::_CompileTimeError::•("pkg/front_end/testcases/rasta/super.dart:44:10: Error: Can't use `super` as an expression.\n use(+super);\n ^")));
super.==(87);
self::use(super.==(87));
!super.==(87);
self::use(!super.==(87));
super.{self::A::~}();
self::use(super.{self::A::~}());
super.{self::A::unary-}();
self::use(super.{self::A::unary-}());
invalid-expression;
self::use(invalid-expression);
super.{self::A::==}(87);
self::use(super.{self::A::==}(87));
!super.{self::A::==}(87);
self::use(!super.{self::A::==}(87));
super.{self::A::a};
self::use(super.{self::A::a});
super.{self::B::b};
@ -69,8 +66,8 @@ class C extends self::B {
self::use(super.{self::A::e});
super.{self::A::f};
self::use(super.{self::A::f});
super.noSuchMethod(new core::_InvocationMirror::•("get:g", <dynamic>[0, 1, 1].toList(growable: false), <dynamic>[this].toList(growable: false), true));
self::use(super.noSuchMethod(new core::_InvocationMirror::•("get:g", <dynamic>[0, 1, 1].toList(growable: false), <dynamic>[this].toList(growable: false), true)));
super.g;
self::use(super.g);
super.{self::A::h};
self::use(super.{self::A::h});
super.{self::A::i};
@ -79,56 +76,56 @@ class C extends self::B {
self::use(super.{self::A::[]}(87));
super.{self::A::m};
self::use(super.{self::A::m});
super.{self::A::n};
self::use(super.{self::A::n});
super.a = super.a.+(1);
self::use(let final dynamic #t1 = super.a in let final dynamic #t2 = super.a = #t1.+(1) in #t1);
super.b = super.b.+(1);
self::use(let final dynamic #t3 = super.b in let final dynamic #t4 = super.b = #t3.+(1) in #t3);
super.c = super.c.+(1);
self::use(let final dynamic #t5 = super.c in let final dynamic #t6 = super.c = #t5.+(1) in #t5);
super.d = super.d.+(1);
self::use(let final dynamic #t7 = super.d in let final dynamic #t8 = super.d = #t7.+(1) in #t7);
let final dynamic #t9 = super.e.+(1) in let final dynamic #t10 = super.noSuchMethod(new core::_InvocationMirror::•("set:e", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t9].toList(growable: false), true)) in #t9;
self::use(let final dynamic #t11 = super.e in let final dynamic #t12 = let final dynamic #t13 = #t11.+(1) in let final dynamic #t14 = super.noSuchMethod(new core::_InvocationMirror::•("set:e", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t13].toList(growable: false), true)) in #t13 in #t11);
let final dynamic #t15 = super.f.+(1) in let final dynamic #t16 = super.noSuchMethod(new core::_InvocationMirror::•("set:f", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t15].toList(growable: false), true)) in #t15;
self::use(let final dynamic #t17 = super.f in let final dynamic #t18 = let final dynamic #t19 = #t17.+(1) in let final dynamic #t20 = super.noSuchMethod(new core::_InvocationMirror::•("set:f", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t19].toList(growable: false), true)) in #t19 in #t17);
super.g = super.noSuchMethod(new core::_InvocationMirror::•("get:g", <dynamic>[0, 1, 1].toList(growable: false), <dynamic>[this].toList(growable: false), true)).+(1);
self::use(let final dynamic #t21 = super.noSuchMethod(new core::_InvocationMirror::•("get:g", <dynamic>[0, 1, 1].toList(growable: false), <dynamic>[this].toList(growable: false), true)) in let final dynamic #t22 = super.g = #t21.+(1) in #t21);
super.h = super.h.+(1);
self::use(let final dynamic #t23 = super.h in let final dynamic #t24 = super.h = #t23.+(1) in #t23);
super.i = super.i.+(1);
self::use(let final dynamic #t25 = super.i in let final dynamic #t26 = super.i = #t25.+(1) in #t25);
let final dynamic #t27 = 87 in super.[]=(#t27, super.[](#t27).+(1));
self::use(let final dynamic #t28 = 87 in let final dynamic #t29 = super.[](#t28) in let final dynamic #t30 = super.[]=(#t28, #t29.+(1)) in #t29);
let final dynamic #t31 = super.m.+(1) in let final dynamic #t32 = super.noSuchMethod(new core::_InvocationMirror::•("set:m", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t31].toList(growable: false), true)) in #t31;
self::use(let final dynamic #t33 = super.m in let final dynamic #t34 = let final dynamic #t35 = #t33.+(1) in let final dynamic #t36 = super.noSuchMethod(new core::_InvocationMirror::•("set:m", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t35].toList(growable: false), true)) in #t35 in #t33);
super.n = super.n.+(1);
self::use(let final dynamic #t37 = super.n in let final dynamic #t38 = super.n = #t37.+(1) in #t37);
super.a = super.a.+(1);
self::use(super.a = super.a.+(1));
super.b = super.b.+(1);
self::use(super.b = super.b.+(1));
super.c = super.c.+(1);
self::use(super.c = super.c.+(1));
super.d = super.d.+(1);
self::use(super.d = super.d.+(1));
let final dynamic #t39 = super.e.+(1) in let final dynamic #t40 = super.noSuchMethod(new core::_InvocationMirror::•("set:e", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t39].toList(growable: false), true)) in #t39;
self::use(let final dynamic #t41 = super.e.+(1) in let final dynamic #t42 = super.noSuchMethod(new core::_InvocationMirror::•("set:e", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t41].toList(growable: false), true)) in #t41);
let final dynamic #t43 = super.f.+(1) in let final dynamic #t44 = super.noSuchMethod(new core::_InvocationMirror::•("set:f", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t43].toList(growable: false), true)) in #t43;
self::use(let final dynamic #t45 = super.f.+(1) in let final dynamic #t46 = super.noSuchMethod(new core::_InvocationMirror::•("set:f", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t45].toList(growable: false), true)) in #t45);
super.g = super.noSuchMethod(new core::_InvocationMirror::•("get:g", <dynamic>[0, 1, 1].toList(growable: false), <dynamic>[this].toList(growable: false), true)).+(1);
self::use(super.g = super.noSuchMethod(new core::_InvocationMirror::•("get:g", <dynamic>[0, 1, 1].toList(growable: false), <dynamic>[this].toList(growable: false), true)).+(1));
super.h = super.h.+(1);
self::use(super.h = super.h.+(1));
super.i = super.i.+(1);
self::use(super.i = super.i.+(1));
let final dynamic #t47 = 87 in let final dynamic #t48 = super.[](#t47).+(1) in let final dynamic #t49 = super.[]=(#t47, #t48) in #t48;
self::use(let final dynamic #t50 = 87 in let final dynamic #t51 = super.[](#t50).+(1) in let final dynamic #t52 = super.[]=(#t50, #t51) in #t51);
let final dynamic #t53 = super.m.+(1) in let final dynamic #t54 = super.noSuchMethod(new core::_InvocationMirror::•("set:m", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t53].toList(growable: false), true)) in #t53;
self::use(let final dynamic #t55 = super.m.+(1) in let final dynamic #t56 = super.noSuchMethod(new core::_InvocationMirror::•("set:m", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t55].toList(growable: false), true)) in #t55);
super.n = super.n.+(1);
self::use(super.n = super.n.+(1));
throw core::_unresolvedSuperGetterError(this, #n, <dynamic>[], <dynamic, dynamic>{}, null);
self::use(throw core::_unresolvedSuperGetterError(this, #n, <dynamic>[], <dynamic, dynamic>{}, null));
super.{self::A::a} = super.{self::A::a}.+(1);
self::use(let final dynamic #t1 = super.{self::A::a} in let final dynamic #t2 = super.{self::A::a} = #t1.+(1) in #t1);
super.{self::A::b} = super.{self::B::b}.+(1);
self::use(let final dynamic #t3 = super.{self::B::b} in let final dynamic #t4 = super.{self::A::b} = #t3.+(1) in #t3);
super.{self::B::c} = super.{self::A::c}.+(1);
self::use(let final dynamic #t5 = super.{self::A::c} in let final dynamic #t6 = super.{self::B::c} = #t5.+(1) in #t5);
super.d = super.{self::B::d}.+(1);
self::use(let final dynamic #t7 = super.{self::B::d} in let final dynamic #t8 = super.d = #t7.+(1) in #t7);
super.e = super.{self::A::e}.+(1);
self::use(let final dynamic #t9 = super.{self::A::e} in let final dynamic #t10 = super.e = #t9.+(1) in #t9);
super.f = super.{self::A::f}.+(1);
self::use(let final dynamic #t11 = super.{self::A::f} in let final dynamic #t12 = super.f = #t11.+(1) in #t11);
throw core::_unresolvedSuperGetterError(this, #g, <dynamic>[], <dynamic, dynamic>{}, null);
self::use(throw core::_unresolvedSuperGetterError(this, #g, <dynamic>[], <dynamic, dynamic>{}, null));
super.{self::A::h} = super.{self::A::h}.+(1);
self::use(let final dynamic #t13 = super.{self::A::h} in let final dynamic #t14 = super.{self::A::h} = #t13.+(1) in #t13);
super.{self::B::i} = super.{self::A::i}.+(1);
self::use(let final dynamic #t15 = super.{self::A::i} in let final dynamic #t16 = super.{self::B::i} = #t15.+(1) in #t15);
let final dynamic #t17 = 87 in super.{self::A::[]=}(#t17, super.{self::A::[]}(#t17).+(1));
self::use(let final dynamic #t18 = 87 in let final dynamic #t19 = super.{self::A::[]}(#t18) in let final dynamic #t20 = super.{self::A::[]=}(#t18, #t19.+(1)) in #t19);
super.m = super.{self::A::m}.+(1);
self::use(let final dynamic #t21 = super.{self::A::m} in let final dynamic #t22 = super.m = #t21.+(1) in #t21);
throw core::_unresolvedSuperGetterError(this, #n, <dynamic>[], <dynamic, dynamic>{}, null);
self::use(throw core::_unresolvedSuperGetterError(this, #n, <dynamic>[], <dynamic, dynamic>{}, null));
super.{self::A::a} = super.{self::A::a}.+(1);
self::use(super.{self::A::a} = super.{self::A::a}.+(1));
super.{self::A::b} = super.{self::B::b}.+(1);
self::use(super.{self::A::b} = super.{self::B::b}.+(1));
super.{self::B::c} = super.{self::A::c}.+(1);
self::use(super.{self::B::c} = super.{self::A::c}.+(1));
super.d = super.{self::B::d}.+(1);
self::use(super.d = super.{self::B::d}.+(1));
super.e = super.{self::A::e}.+(1);
self::use(super.e = super.{self::A::e}.+(1));
super.f = super.{self::A::f}.+(1);
self::use(super.f = super.{self::A::f}.+(1));
throw core::_unresolvedSuperGetterError(this, #g, <dynamic>[], <dynamic, dynamic>{}, null);
self::use(throw core::_unresolvedSuperGetterError(this, #g, <dynamic>[], <dynamic, dynamic>{}, null));
super.{self::A::h} = super.{self::A::h}.+(1);
self::use(super.{self::A::h} = super.{self::A::h}.+(1));
super.{self::B::i} = super.{self::A::i}.+(1);
self::use(super.{self::B::i} = super.{self::A::i}.+(1));
let final dynamic #t23 = 87 in super.{self::A::[]=}(#t23, super.{self::A::[]}(#t23).+(1));
self::use(let final dynamic #t24 = 87 in let final dynamic #t25 = super.{self::A::[]}(#t24).+(1) in let final dynamic #t26 = super.{self::A::[]=}(#t24, #t25) in #t25);
super.m = super.{self::A::m}.+(1);
self::use(super.m = super.{self::A::m}.+(1));
throw core::_unresolvedSuperGetterError(this, #n, <dynamic>[], <dynamic, dynamic>{}, null);
self::use(throw core::_unresolvedSuperGetterError(this, #n, <dynamic>[], <dynamic, dynamic>{}, null));
super.{self::A::a}.call();
self::use(super.{self::A::a}.call());
super.{self::B::b}.call();
@ -141,119 +138,118 @@ class C extends self::B {
self::use(super.{self::A::e}.call());
super.{self::A::f}.call();
self::use(super.{self::A::f}.call());
super.noSuchMethod(new core::_InvocationMirror::•("g", <dynamic>[0, 1, 1].toList(growable: false), <dynamic>[this].toList(growable: false), true));
self::use(super.noSuchMethod(new core::_InvocationMirror::•("g", <dynamic>[0, 1, 1].toList(growable: false), <dynamic>[this].toList(growable: false), true)));
super.g.call();
self::use(super.g.call());
super.{self::A::h}.call();
self::use(super.{self::A::h}.call());
super.{self::A::i}.call();
self::use(super.{self::A::i}.call());
super.{self::A::[]}(87).call();
self::use(super.{self::A::[]}(87).call());
super.m();
self::use(super.m());
super.m(87);
self::use(super.m(87));
super.n(87);
self::use(super.n(87));
super.a = 42;
self::use(super.a = 42);
super.b = 42;
self::use(super.b = 42);
super.c = 42;
self::use(super.c = 42);
super.{self::A::m}();
self::use(super.{self::A::m}());
super.{self::A::m}(87);
self::use(super.{self::A::m}(87));
throw core::_unresolvedSuperMethodError(this, #n, <dynamic>[87], <dynamic, dynamic>{}, null);
self::use(throw core::_unresolvedSuperMethodError(this, #n, <dynamic>[87], <dynamic, dynamic>{}, null));
super.{self::A::a} = 42;
self::use(super.{self::A::a} = 42);
super.{self::A::b} = 42;
self::use(super.{self::A::b} = 42);
super.{self::B::c} = 42;
self::use(super.{self::B::c} = 42);
super.d = 42;
self::use(super.d = 42);
let final dynamic #t57 = 42 in let final dynamic #t58 = super.noSuchMethod(new core::_InvocationMirror::•("set:e", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t57].toList(growable: false), true)) in #t57;
self::use(let final dynamic #t59 = 42 in let final dynamic #t60 = super.noSuchMethod(new core::_InvocationMirror::•("set:e", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t59].toList(growable: false), true)) in #t59);
let final dynamic #t61 = 42 in let final dynamic #t62 = super.noSuchMethod(new core::_InvocationMirror::•("set:f", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t61].toList(growable: false), true)) in #t61;
self::use(let final dynamic #t63 = 42 in let final dynamic #t64 = super.noSuchMethod(new core::_InvocationMirror::•("set:f", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t63].toList(growable: false), true)) in #t63);
super.g = 42;
self::use(super.g = 42);
super.h = 42;
self::use(super.h = 42);
super.i = 42;
self::use(super.i = 42);
super.[]=(87, 42);
self::use(let final dynamic #t65 = 87 in let final dynamic #t66 = 42 in let final dynamic #t67 = super.[]=(#t65, #t66) in #t66);
let final dynamic #t68 = 42 in let final dynamic #t69 = super.noSuchMethod(new core::_InvocationMirror::•("set:m", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t68].toList(growable: false), true)) in #t68;
self::use(let final dynamic #t70 = 42 in let final dynamic #t71 = super.noSuchMethod(new core::_InvocationMirror::•("set:m", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t70].toList(growable: false), true)) in #t70);
super.n = 42;
self::use(super.n = 42);
super.a.==(null) ?{dynamic} super.a = 42 : null;
self::use(let final dynamic #t72 = super.a in #t72.==(null) ?{dynamic} super.a = 42 : #t72);
super.b.==(null) ?{dynamic} super.b = 42 : null;
self::use(let final dynamic #t73 = super.b in #t73.==(null) ?{dynamic} super.b = 42 : #t73);
super.c.==(null) ?{dynamic} super.c = 42 : null;
self::use(let final dynamic #t74 = super.c in #t74.==(null) ?{dynamic} super.c = 42 : #t74);
super.d.==(null) ?{dynamic} super.d = 42 : null;
self::use(let final dynamic #t75 = super.d in #t75.==(null) ?{dynamic} super.d = 42 : #t75);
super.e.==(null) ?{dynamic} let final dynamic #t76 = 42 in let final dynamic #t77 = super.noSuchMethod(new core::_InvocationMirror::•("set:e", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t76].toList(growable: false), true)) in #t76 : null;
self::use(let final dynamic #t78 = super.e in #t78.==(null) ?{dynamic} let final dynamic #t79 = 42 in let final dynamic #t80 = super.noSuchMethod(new core::_InvocationMirror::•("set:e", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t79].toList(growable: false), true)) in #t79 : #t78);
super.f.==(null) ?{dynamic} let final dynamic #t81 = 42 in let final dynamic #t82 = super.noSuchMethod(new core::_InvocationMirror::•("set:f", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t81].toList(growable: false), true)) in #t81 : null;
self::use(let final dynamic #t83 = super.f in #t83.==(null) ?{dynamic} let final dynamic #t84 = 42 in let final dynamic #t85 = super.noSuchMethod(new core::_InvocationMirror::•("set:f", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t84].toList(growable: false), true)) in #t84 : #t83);
super.noSuchMethod(new core::_InvocationMirror::•("get:g", <dynamic>[0, 1, 1].toList(growable: false), <dynamic>[this].toList(growable: false), true)).==(null) ?{dynamic} super.g = 42 : null;
self::use(let final dynamic #t86 = super.noSuchMethod(new core::_InvocationMirror::•("get:g", <dynamic>[0, 1, 1].toList(growable: false), <dynamic>[this].toList(growable: false), true)) in #t86.==(null) ?{dynamic} super.g = 42 : #t86);
super.h.==(null) ?{dynamic} super.h = 42 : null;
self::use(let final dynamic #t87 = super.h in #t87.==(null) ?{dynamic} super.h = 42 : #t87);
super.i.==(null) ?{dynamic} super.i = 42 : null;
self::use(let final dynamic #t88 = super.i in #t88.==(null) ?{dynamic} super.i = 42 : #t88);
let final dynamic #t89 = 87 in super.[](#t89).==(null) ?{dynamic} let final dynamic #t90 = 42 in let final dynamic #t91 = super.[]=(#t89, #t90) in #t90 : null;
self::use(let final dynamic #t92 = 87 in let final dynamic #t93 = super.[](#t92) in #t93.==(null) ?{dynamic} let final dynamic #t94 = 42 in let final dynamic #t95 = super.[]=(#t92, #t94) in #t94 : #t93);
super.m.==(null) ?{dynamic} let final dynamic #t96 = 42 in let final dynamic #t97 = super.noSuchMethod(new core::_InvocationMirror::•("set:m", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t96].toList(growable: false), true)) in #t96 : null;
self::use(let final dynamic #t98 = super.m in #t98.==(null) ?{dynamic} let final dynamic #t99 = 42 in let final dynamic #t100 = super.noSuchMethod(new core::_InvocationMirror::•("set:m", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t99].toList(growable: false), true)) in #t99 : #t98);
super.n.==(null) ?{dynamic} super.n = 42 : null;
self::use(let final dynamic #t101 = super.n in #t101.==(null) ?{dynamic} super.n = 42 : #t101);
super.a = super.a.+(42);
self::use(super.a = super.a.+(42));
super.b = super.b.+(42);
self::use(super.b = super.b.+(42));
super.c = super.c.+(42);
self::use(super.c = super.c.+(42));
super.d = super.d.+(42);
self::use(super.d = super.d.+(42));
let final dynamic #t102 = super.e.+(42) in let final dynamic #t103 = super.noSuchMethod(new core::_InvocationMirror::•("set:e", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t102].toList(growable: false), true)) in #t102;
self::use(let final dynamic #t104 = super.e.+(42) in let final dynamic #t105 = super.noSuchMethod(new core::_InvocationMirror::•("set:e", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t104].toList(growable: false), true)) in #t104);
let final dynamic #t106 = super.f.+(42) in let final dynamic #t107 = super.noSuchMethod(new core::_InvocationMirror::•("set:f", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t106].toList(growable: false), true)) in #t106;
self::use(let final dynamic #t108 = super.f.+(42) in let final dynamic #t109 = super.noSuchMethod(new core::_InvocationMirror::•("set:f", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t108].toList(growable: false), true)) in #t108);
super.g = super.noSuchMethod(new core::_InvocationMirror::•("get:g", <dynamic>[0, 1, 1].toList(growable: false), <dynamic>[this].toList(growable: false), true)).+(42);
self::use(super.g = super.noSuchMethod(new core::_InvocationMirror::•("get:g", <dynamic>[0, 1, 1].toList(growable: false), <dynamic>[this].toList(growable: false), true)).+(42));
super.h = super.h.+(42);
self::use(super.h = super.h.+(42));
super.i = super.i.+(42);
self::use(super.i = super.i.+(42));
let final dynamic #t110 = 87 in super.[]=(#t110, super.[](#t110).+(42));
self::use(let final dynamic #t111 = 87 in let final dynamic #t112 = super.[](#t111).+(42) in let final dynamic #t113 = super.[]=(#t111, #t112) in #t112);
let final dynamic #t114 = super.m.+(42) in let final dynamic #t115 = super.noSuchMethod(new core::_InvocationMirror::•("set:m", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t114].toList(growable: false), true)) in #t114;
self::use(let final dynamic #t116 = super.m.+(42) in let final dynamic #t117 = super.noSuchMethod(new core::_InvocationMirror::•("set:m", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t116].toList(growable: false), true)) in #t116);
super.n = super.n.+(42);
self::use(super.n = super.n.+(42));
super.a = super.a.-(42);
self::use(super.a = super.a.-(42));
super.b = super.b.-(42);
self::use(super.b = super.b.-(42));
super.c = super.c.-(42);
self::use(super.c = super.c.-(42));
super.d = super.d.-(42);
self::use(super.d = super.d.-(42));
let final dynamic #t118 = super.e.-(42) in let final dynamic #t119 = super.noSuchMethod(new core::_InvocationMirror::•("set:e", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t118].toList(growable: false), true)) in #t118;
self::use(let final dynamic #t120 = super.e.-(42) in let final dynamic #t121 = super.noSuchMethod(new core::_InvocationMirror::•("set:e", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t120].toList(growable: false), true)) in #t120);
let final dynamic #t122 = super.f.-(42) in let final dynamic #t123 = super.noSuchMethod(new core::_InvocationMirror::•("set:f", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t122].toList(growable: false), true)) in #t122;
self::use(let final dynamic #t124 = super.f.-(42) in let final dynamic #t125 = super.noSuchMethod(new core::_InvocationMirror::•("set:f", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t124].toList(growable: false), true)) in #t124);
super.g = super.noSuchMethod(new core::_InvocationMirror::•("get:g", <dynamic>[0, 1, 1].toList(growable: false), <dynamic>[this].toList(growable: false), true)).-(42);
self::use(super.g = super.noSuchMethod(new core::_InvocationMirror::•("get:g", <dynamic>[0, 1, 1].toList(growable: false), <dynamic>[this].toList(growable: false), true)).-(42));
super.h = super.h.-(42);
self::use(super.h = super.h.-(42));
super.i = super.i.-(42);
self::use(super.i = super.i.-(42));
let final dynamic #t126 = 87 in super.[]=(#t126, super.[](#t126).-(42));
self::use(let final dynamic #t127 = 87 in let final dynamic #t128 = super.[](#t127).-(42) in let final dynamic #t129 = super.[]=(#t127, #t128) in #t128);
let final dynamic #t130 = super.m.-(42) in let final dynamic #t131 = super.noSuchMethod(new core::_InvocationMirror::•("set:m", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t130].toList(growable: false), true)) in #t130;
self::use(let final dynamic #t132 = super.m.-(42) in let final dynamic #t133 = super.noSuchMethod(new core::_InvocationMirror::•("set:m", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t132].toList(growable: false), true)) in #t132);
super.n = super.n.-(42);
self::use(super.n = super.n.-(42));
super.e = 42;
self::use(super.e = 42);
super.f = 42;
self::use(super.f = 42);
super.{self::A::g} = 42;
self::use(super.{self::A::g} = 42);
super.{self::A::h} = 42;
self::use(super.{self::A::h} = 42);
super.{self::B::i} = 42;
self::use(super.{self::B::i} = 42);
super.{self::A::[]=}(87, 42);
self::use(let final dynamic #t27 = 87 in let final dynamic #t28 = 42 in let final dynamic #t29 = super.{self::A::[]=}(#t27, #t28) in #t28);
super.m = 42;
self::use(super.m = 42);
throw core::_unresolvedSuperSetterError(this, #n, <dynamic>[42], <dynamic, dynamic>{}, null);
self::use(throw core::_unresolvedSuperSetterError(this, #n, <dynamic>[42], <dynamic, dynamic>{}, null));
super.{self::A::a}.==(null) ? super.{self::A::a} = 42 : null;
self::use(let final dynamic #t30 = super.{self::A::a} in #t30.==(null) ? super.{self::A::a} = 42 : #t30);
super.{self::B::b}.==(null) ? super.{self::A::b} = 42 : null;
self::use(let final dynamic #t31 = super.{self::B::b} in #t31.==(null) ? super.{self::A::b} = 42 : #t31);
super.{self::A::c}.==(null) ? super.{self::B::c} = 42 : null;
self::use(let final dynamic #t32 = super.{self::A::c} in #t32.==(null) ? super.{self::B::c} = 42 : #t32);
super.{self::B::d}.==(null) ? super.d = 42 : null;
self::use(let final dynamic #t33 = super.{self::B::d} in #t33.==(null) ? super.d = 42 : #t33);
super.{self::A::e}.==(null) ? super.e = 42 : null;
self::use(let final dynamic #t34 = super.{self::A::e} in #t34.==(null) ? super.e = 42 : #t34);
super.{self::A::f}.==(null) ? super.f = 42 : null;
self::use(let final dynamic #t35 = super.{self::A::f} in #t35.==(null) ? super.f = 42 : #t35);
throw core::_unresolvedSuperGetterError(this, #g, <dynamic>[], <dynamic, dynamic>{}, null);
self::use(throw core::_unresolvedSuperGetterError(this, #g, <dynamic>[], <dynamic, dynamic>{}, null));
super.{self::A::h}.==(null) ? super.{self::A::h} = 42 : null;
self::use(let final dynamic #t36 = super.{self::A::h} in #t36.==(null) ? super.{self::A::h} = 42 : #t36);
super.{self::A::i}.==(null) ? super.{self::B::i} = 42 : null;
self::use(let final dynamic #t37 = super.{self::A::i} in #t37.==(null) ? super.{self::B::i} = 42 : #t37);
let final dynamic #t38 = 87 in super.{self::A::[]}(#t38).==(null) ? super.{self::A::[]=}(#t38, 42) : null;
self::use(let final dynamic #t39 = 87 in let final dynamic #t40 = super.{self::A::[]}(#t39) in #t40.==(null) ? let final dynamic #t41 = 42 in let final dynamic #t42 = super.{self::A::[]=}(#t39, #t41) in #t41 : #t40);
super.{self::A::m}.==(null) ? super.m = 42 : null;
self::use(let final dynamic #t43 = super.{self::A::m} in #t43.==(null) ? super.m = 42 : #t43);
throw core::_unresolvedSuperGetterError(this, #n, <dynamic>[], <dynamic, dynamic>{}, null);
self::use(throw core::_unresolvedSuperGetterError(this, #n, <dynamic>[], <dynamic, dynamic>{}, null));
super.{self::A::a} = super.{self::A::a}.+(42);
self::use(super.{self::A::a} = super.{self::A::a}.+(42));
super.{self::A::b} = super.{self::B::b}.+(42);
self::use(super.{self::A::b} = super.{self::B::b}.+(42));
super.{self::B::c} = super.{self::A::c}.+(42);
self::use(super.{self::B::c} = super.{self::A::c}.+(42));
super.d = super.{self::B::d}.+(42);
self::use(super.d = super.{self::B::d}.+(42));
super.e = super.{self::A::e}.+(42);
self::use(super.e = super.{self::A::e}.+(42));
super.f = super.{self::A::f}.+(42);
self::use(super.f = super.{self::A::f}.+(42));
throw core::_unresolvedSuperGetterError(this, #g, <dynamic>[], <dynamic, dynamic>{}, null);
self::use(throw core::_unresolvedSuperGetterError(this, #g, <dynamic>[], <dynamic, dynamic>{}, null));
super.{self::A::h} = super.{self::A::h}.+(42);
self::use(super.{self::A::h} = super.{self::A::h}.+(42));
super.{self::B::i} = super.{self::A::i}.+(42);
self::use(super.{self::B::i} = super.{self::A::i}.+(42));
let final dynamic #t44 = 87 in super.{self::A::[]=}(#t44, super.{self::A::[]}(#t44).+(42));
self::use(let final dynamic #t45 = 87 in let final dynamic #t46 = super.{self::A::[]}(#t45).+(42) in let final dynamic #t47 = super.{self::A::[]=}(#t45, #t46) in #t46);
super.m = super.{self::A::m}.+(42);
self::use(super.m = super.{self::A::m}.+(42));
throw core::_unresolvedSuperGetterError(this, #n, <dynamic>[], <dynamic, dynamic>{}, null);
self::use(throw core::_unresolvedSuperGetterError(this, #n, <dynamic>[], <dynamic, dynamic>{}, null));
super.{self::A::a} = super.{self::A::a}.-(42);
self::use(super.{self::A::a} = super.{self::A::a}.-(42));
super.{self::A::b} = super.{self::B::b}.-(42);
self::use(super.{self::A::b} = super.{self::B::b}.-(42));
super.{self::B::c} = super.{self::A::c}.-(42);
self::use(super.{self::B::c} = super.{self::A::c}.-(42));
super.d = super.{self::B::d}.-(42);
self::use(super.d = super.{self::B::d}.-(42));
super.e = super.{self::A::e}.-(42);
self::use(super.e = super.{self::A::e}.-(42));
super.f = super.{self::A::f}.-(42);
self::use(super.f = super.{self::A::f}.-(42));
throw core::_unresolvedSuperGetterError(this, #g, <dynamic>[], <dynamic, dynamic>{}, null);
self::use(throw core::_unresolvedSuperGetterError(this, #g, <dynamic>[], <dynamic, dynamic>{}, null));
super.{self::A::h} = super.{self::A::h}.-(42);
self::use(super.{self::A::h} = super.{self::A::h}.-(42));
super.{self::B::i} = super.{self::A::i}.-(42);
self::use(super.{self::B::i} = super.{self::A::i}.-(42));
let final dynamic #t48 = 87 in super.{self::A::[]=}(#t48, super.{self::A::[]}(#t48).-(42));
self::use(let final dynamic #t49 = 87 in let final dynamic #t50 = super.{self::A::[]}(#t49).-(42) in let final dynamic #t51 = super.{self::A::[]=}(#t49, #t50) in #t50);
super.m = super.{self::A::m}.-(42);
self::use(super.m = super.{self::A::m}.-(42));
throw core::_unresolvedSuperGetterError(this, #n, <dynamic>[], <dynamic, dynamic>{}, null);
self::use(throw core::_unresolvedSuperGetterError(this, #n, <dynamic>[], <dynamic, dynamic>{}, null));
}
}
const field dynamic #errors = const <dynamic>["pkg/front_end/testcases/rasta/super.dart:43:5: Error: '+' is not a prefix operator. \n +super;\n ^", "pkg/front_end/testcases/rasta/super.dart:44:9: Error: '+' is not a prefix operator. \n use(+super);\n ^"]/* from null */;
static method use(dynamic x) → dynamic {
if(x.==(new core::DateTime::now().millisecondsSinceEpoch))
throw "Shouldn't happen";

View file

@ -4,37 +4,108 @@ import "dart:core" as core;
import "./mixin_library.dart" as mix;
class Super<S extends core::Object> extends core::Object {
constructor •() → void
: super core::Object::•()
;
constructor •() → self::Super<self::Super::S>
: super core::Object::•();
method foo() → dynamic
return 40;
method f() → dynamic
return 3;
}
abstract class Super&Mixin^#T0^#T0<#T0 extends core::Object> = self::Super<self::Super&Mixin^#T0^#T0::#T0> with mix::Mixin<self::Super&Mixin^#T0^#T0::#T0> {
class C<V extends core::Object> extends self::Super+Mixin#3<self::C::V, self::C::V> {
constructor •() → self::C<self::C::V>
: super self::Super+Mixin#3::•();
}
class C<V extends core::Object> extends self::Super&Mixin^#T0^#T0<self::C::V> {
constructor •() → void
: super self::Super::•()
;
class D extends self::Super+Mixin#2<dynamic> {
constructor •() → self::D
: super self::Super+Mixin#2::•();
}
abstract class Super&Mixin = self::Super<dynamic> with mix::Mixin<dynamic> {
class C2<V extends core::Object> extends self::Super+Mixin#1<self::C2::V, self::C2::V> {
constructor •() → self::Super<self::C2::V>
: super self::Super+Mixin#1::•();
}
class D extends self::Super&Mixin {
constructor •() → void
: super self::Super::•()
;
class D2 extends self::Super+Mixin#0<dynamic> {
constructor •() → self::Super<dynamic>
: super self::Super+Mixin#0::•();
}
class C2<V extends core::Object> = self::Super<self::C2::V> with mix::Mixin<self::C2::V> {
constructor •() → void
: super self::Super::•()
;
abstract class Super+Mixin#0<T extends core::Object> extends self::Super<dynamic> implements mix::Mixin<dynamic> {
field self::Super+Mixin#0::T t;
field dynamic z;
field dynamic y;
field dynamic x;
constructor •() → self::Super<dynamic>
: self::Super+Mixin#0::x = mix::f(), super self::Super::•();
method publicMethod() → dynamic
return this._privateMethod();
method _privateMethod() → dynamic
return 49;
method l() → dynamic
return mix::_private();
method h() → dynamic
return mix::V();
method g(self::Super+Mixin#0::T a) → self::Super+Mixin#0::T
return null;
method foo() → dynamic
return super.{self::Super::foo}().+(mix::f());
}
class D2 = self::Super<dynamic> with mix::Mixin<dynamic> {
constructor •() → void
: super self::Super::•()
;
abstract class Super+Mixin#1<T extends core::Object, V extends core::Object> extends self::Super<self::Super+Mixin#1::V> implements mix::Mixin<self::Super+Mixin#1::V> {
field self::Super+Mixin#1::T t;
field dynamic z;
field dynamic y;
field dynamic x;
constructor •() → self::Super<self::Super+Mixin#1::V>
: self::Super+Mixin#1::x = mix::f(), super self::Super::•();
method publicMethod() → dynamic
return this._privateMethod();
method _privateMethod() → dynamic
return 49;
method l() → dynamic
return mix::_private();
method h() → dynamic
return mix::V();
method g(self::Super+Mixin#1::T a) → self::Super+Mixin#1::T
return null;
method foo() → dynamic
return super.{self::Super::foo}().+(mix::f());
}
abstract class Super+Mixin#2<T extends core::Object> extends self::Super<dynamic> implements mix::Mixin<dynamic> {
field self::Super+Mixin#2::T t;
field dynamic z;
field dynamic y;
field dynamic x;
constructor •() → self::Super<dynamic>
: self::Super+Mixin#2::x = mix::f(), super self::Super::•();
method publicMethod() → dynamic
return this._privateMethod();
method _privateMethod() → dynamic
return 49;
method l() → dynamic
return mix::_private();
method h() → dynamic
return mix::V();
method g(self::Super+Mixin#2::T a) → self::Super+Mixin#2::T
return null;
method foo() → dynamic
return super.{self::Super::foo}().+(mix::f());
}
abstract class Super+Mixin#3<T extends core::Object, V extends core::Object> extends self::Super<self::Super+Mixin#3::V> implements mix::Mixin<self::Super+Mixin#3::V> {
field self::Super+Mixin#3::T t;
field dynamic z;
field dynamic y;
field dynamic x;
constructor •() → self::Super<self::Super+Mixin#3::V>
: self::Super+Mixin#3::x = mix::f(), super self::Super::•();
method publicMethod() → dynamic
return this._privateMethod();
method _privateMethod() → dynamic
return 49;
method l() → dynamic
return mix::_private();
method h() → dynamic
return mix::V();
method g(self::Super+Mixin#3::T a) → self::Super+Mixin#3::T
return null;
method foo() → dynamic
return super.{self::Super::foo}().+(mix::f());
}
static method main() → dynamic {
core::print(new self::C::•<dynamic>().foo());

View file

@ -17,16 +17,16 @@ class B extends self::A {
: super self::A::•()
;
operator +(core::String s) → dynamic
return super.+("${s}${s}");
return this.{=self::A::+}("${s}${s}");
operator [](dynamic i) → dynamic
return super.{self::A::[]}(i);
return this.{=self::A::[]}(i);
operator []=(dynamic i, dynamic val) → dynamic
return let final dynamic #t1 = let final dynamic #t2 = i in let final dynamic #t3 = i = #t2.+(1) in #t2 in let final dynamic #t4 = super.[](#t1).+(val) in let final dynamic #t5 = super.[]=(#t1, #t4) in #t4;
return let final dynamic #t1 = let final dynamic #t2 = i in let final dynamic #t3 = i = #t2.+(1) in #t2 in let final dynamic #t4 = this.{=self::A::[]}(#t1).+(val) in let final dynamic #t5 = this.{=self::A::[]=}(#t1, #t4) in #t4;
}
class Autobianchi extends core::Object {
constructor •() → void
: super core::Object::•()
;
method g() → dynamic
return super.[](0);
return this.{=core::Object::noSuchMethod}(new core::_InvocationMirror::•("[]", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, 0].toList(growable: false), true));
}

View file

@ -18,76 +18,76 @@ class C<T extends core::Object> extends core::Object {
self::use(() → void);
self::C<dynamic>.call();
self::use(self::C<dynamic>.call());
dynamic.call();
self::use(dynamic.call());
core::Type.call();
self::use(core::Type.call());
self::C::T.call();
self::use(self::C::T.call());
() → void.call();
self::use(() → void.call());
throw new core::NoSuchMethodError::_withType(null, #C, 34, <dynamic>[42].toList(growable: false), <dynamic, dynamic>{}, null);
self::use(throw new core::NoSuchMethodError::_withType(null, #C, 34, <dynamic>[42].toList(growable: false), <dynamic, dynamic>{}, null));
throw new core::NoSuchMethodError::_withType(null, #dynamic, 34, <dynamic>[42].toList(growable: false), <dynamic, dynamic>{}, null);
self::use(throw new core::NoSuchMethodError::_withType(null, #dynamic, 34, <dynamic>[42].toList(growable: false), <dynamic, dynamic>{}, null));
throw new core::NoSuchMethodError::_withType(null, #T, 34, <dynamic>[42].toList(growable: false), <dynamic, dynamic>{}, null);
self::use(throw new core::NoSuchMethodError::_withType(null, #T, 34, <dynamic>[42].toList(growable: false), <dynamic, dynamic>{}, null));
throw new core::NoSuchMethodError::_withType(null, #Func, 34, <dynamic>[42].toList(growable: false), <dynamic, dynamic>{}, null);
self::use(throw new core::NoSuchMethodError::_withType(null, #Func, 34, <dynamic>[42].toList(growable: false), <dynamic, dynamic>{}, null));
let final dynamic #t1 = self::C<dynamic> in throw new core::NoSuchMethodError::_withType(null, #C, 34, <dynamic>[#t1.+(1)].toList(growable: false), <dynamic, dynamic>{}, null);
self::use(let final dynamic #t2 = self::C<dynamic> in let final dynamic #t3 = #t2 in let final dynamic #t4 = throw new core::NoSuchMethodError::_withType(null, #C, 34, <dynamic>[#t3.+(1)].toList(growable: false), <dynamic, dynamic>{}, null) in #t3);
let final dynamic #t5 = dynamic in throw new core::NoSuchMethodError::_withType(null, #dynamic, 34, <dynamic>[#t5.+(1)].toList(growable: false), <dynamic, dynamic>{}, null);
self::use(let final dynamic #t6 = dynamic in let final dynamic #t7 = #t6 in let final dynamic #t8 = throw new core::NoSuchMethodError::_withType(null, #dynamic, 34, <dynamic>[#t7.+(1)].toList(growable: false), <dynamic, dynamic>{}, null) in #t7);
let final dynamic #t9 = self::C::T in throw new core::NoSuchMethodError::_withType(null, #T, 34, <dynamic>[#t9.+(1)].toList(growable: false), <dynamic, dynamic>{}, null);
self::use(let final dynamic #t10 = self::C::T in let final dynamic #t11 = #t10 in let final dynamic #t12 = throw new core::NoSuchMethodError::_withType(null, #T, 34, <dynamic>[#t11.+(1)].toList(growable: false), <dynamic, dynamic>{}, null) in #t11);
let final dynamic #t13 = () → void in throw new core::NoSuchMethodError::_withType(null, #Func, 34, <dynamic>[#t13.+(1)].toList(growable: false), <dynamic, dynamic>{}, null);
self::use(let final dynamic #t14 = () → void in let final dynamic #t15 = #t14 in let final dynamic #t16 = throw new core::NoSuchMethodError::_withType(null, #Func, 34, <dynamic>[#t15.+(1)].toList(growable: false), <dynamic, dynamic>{}, null) in #t15);
let final dynamic #t17 = self::C<dynamic> in throw new core::NoSuchMethodError::_withType(null, #C, 34, <dynamic>[#t17.+(1)].toList(growable: false), <dynamic, dynamic>{}, null);
self::use(let final dynamic #t18 = self::C<dynamic> in throw new core::NoSuchMethodError::_withType(null, #C, 34, <dynamic>[#t18.+(1)].toList(growable: false), <dynamic, dynamic>{}, null));
let final dynamic #t19 = dynamic in throw new core::NoSuchMethodError::_withType(null, #dynamic, 34, <dynamic>[#t19.+(1)].toList(growable: false), <dynamic, dynamic>{}, null);
self::use(let final dynamic #t20 = dynamic in throw new core::NoSuchMethodError::_withType(null, #dynamic, 34, <dynamic>[#t20.+(1)].toList(growable: false), <dynamic, dynamic>{}, null));
let final dynamic #t21 = self::C::T in throw new core::NoSuchMethodError::_withType(null, #T, 34, <dynamic>[#t21.+(1)].toList(growable: false), <dynamic, dynamic>{}, null);
self::use(let final dynamic #t22 = self::C::T in throw new core::NoSuchMethodError::_withType(null, #T, 34, <dynamic>[#t22.+(1)].toList(growable: false), <dynamic, dynamic>{}, null));
let final dynamic #t23 = () → void in throw new core::NoSuchMethodError::_withType(null, #Func, 34, <dynamic>[#t23.+(1)].toList(growable: false), <dynamic, dynamic>{}, null);
self::use(let final dynamic #t24 = () → void in throw new core::NoSuchMethodError::_withType(null, #Func, 34, <dynamic>[#t24.+(1)].toList(growable: false), <dynamic, dynamic>{}, null));
let final dynamic #t25 = self::C<dynamic> in throw new core::NoSuchMethodError::_withType(null, #C, 34, <dynamic>[#t25.-(1)].toList(growable: false), <dynamic, dynamic>{}, null);
self::use(let final dynamic #t26 = self::C<dynamic> in let final dynamic #t27 = #t26 in let final dynamic #t28 = throw new core::NoSuchMethodError::_withType(null, #C, 34, <dynamic>[#t27.-(1)].toList(growable: false), <dynamic, dynamic>{}, null) in #t27);
let final dynamic #t29 = dynamic in throw new core::NoSuchMethodError::_withType(null, #dynamic, 34, <dynamic>[#t29.-(1)].toList(growable: false), <dynamic, dynamic>{}, null);
self::use(let final dynamic #t30 = dynamic in let final dynamic #t31 = #t30 in let final dynamic #t32 = throw new core::NoSuchMethodError::_withType(null, #dynamic, 34, <dynamic>[#t31.-(1)].toList(growable: false), <dynamic, dynamic>{}, null) in #t31);
let final dynamic #t33 = self::C::T in throw new core::NoSuchMethodError::_withType(null, #T, 34, <dynamic>[#t33.-(1)].toList(growable: false), <dynamic, dynamic>{}, null);
self::use(let final dynamic #t34 = self::C::T in let final dynamic #t35 = #t34 in let final dynamic #t36 = throw new core::NoSuchMethodError::_withType(null, #T, 34, <dynamic>[#t35.-(1)].toList(growable: false), <dynamic, dynamic>{}, null) in #t35);
let final dynamic #t37 = () → void in throw new core::NoSuchMethodError::_withType(null, #Func, 34, <dynamic>[#t37.-(1)].toList(growable: false), <dynamic, dynamic>{}, null);
self::use(let final dynamic #t38 = () → void in let final dynamic #t39 = #t38 in let final dynamic #t40 = throw new core::NoSuchMethodError::_withType(null, #Func, 34, <dynamic>[#t39.-(1)].toList(growable: false), <dynamic, dynamic>{}, null) in #t39);
let final dynamic #t41 = self::C<dynamic> in throw new core::NoSuchMethodError::_withType(null, #C, 34, <dynamic>[#t41.-(1)].toList(growable: false), <dynamic, dynamic>{}, null);
self::use(let final dynamic #t42 = self::C<dynamic> in throw new core::NoSuchMethodError::_withType(null, #C, 34, <dynamic>[#t42.-(1)].toList(growable: false), <dynamic, dynamic>{}, null));
let final dynamic #t43 = dynamic in throw new core::NoSuchMethodError::_withType(null, #dynamic, 34, <dynamic>[#t43.-(1)].toList(growable: false), <dynamic, dynamic>{}, null);
self::use(let final dynamic #t44 = dynamic in throw new core::NoSuchMethodError::_withType(null, #dynamic, 34, <dynamic>[#t44.-(1)].toList(growable: false), <dynamic, dynamic>{}, null));
let final dynamic #t45 = self::C::T in throw new core::NoSuchMethodError::_withType(null, #T, 34, <dynamic>[#t45.-(1)].toList(growable: false), <dynamic, dynamic>{}, null);
self::use(let final dynamic #t46 = self::C::T in throw new core::NoSuchMethodError::_withType(null, #T, 34, <dynamic>[#t46.-(1)].toList(growable: false), <dynamic, dynamic>{}, null));
let final dynamic #t47 = () → void in throw new core::NoSuchMethodError::_withType(null, #Func, 34, <dynamic>[#t47.-(1)].toList(growable: false), <dynamic, dynamic>{}, null);
self::use(let final dynamic #t48 = () → void in throw new core::NoSuchMethodError::_withType(null, #Func, 34, <dynamic>[#t48.-(1)].toList(growable: false), <dynamic, dynamic>{}, null));
let final dynamic #t49 = self::C<dynamic> in #t49.==(null) ?{dynamic} throw new core::NoSuchMethodError::_withType(null, #C, 34, <dynamic>[42].toList(growable: false), <dynamic, dynamic>{}, null) : null;
self::use(let final dynamic #t50 = self::C<dynamic> in let final dynamic #t51 = #t50 in #t51.==(null) ?{dynamic} throw new core::NoSuchMethodError::_withType(null, #C, 34, <dynamic>[42].toList(growable: false), <dynamic, dynamic>{}, null) : #t51);
let final dynamic #t52 = dynamic in #t52.==(null) ?{dynamic} throw new core::NoSuchMethodError::_withType(null, #dynamic, 34, <dynamic>[42].toList(growable: false), <dynamic, dynamic>{}, null) : null;
self::use(let final dynamic #t53 = dynamic in let final dynamic #t54 = #t53 in #t54.==(null) ?{dynamic} throw new core::NoSuchMethodError::_withType(null, #dynamic, 34, <dynamic>[42].toList(growable: false), <dynamic, dynamic>{}, null) : #t54);
let final dynamic #t55 = self::C::T in #t55.==(null) ?{dynamic} throw new core::NoSuchMethodError::_withType(null, #T, 34, <dynamic>[42].toList(growable: false), <dynamic, dynamic>{}, null) : null;
self::use(let final dynamic #t56 = self::C::T in let final dynamic #t57 = #t56 in #t57.==(null) ?{dynamic} throw new core::NoSuchMethodError::_withType(null, #T, 34, <dynamic>[42].toList(growable: false), <dynamic, dynamic>{}, null) : #t57);
let final dynamic #t58 = () → void in #t58.==(null) ?{dynamic} throw new core::NoSuchMethodError::_withType(null, #Func, 34, <dynamic>[42].toList(growable: false), <dynamic, dynamic>{}, null) : null;
self::use(let final dynamic #t59 = () → void in let final dynamic #t60 = #t59 in #t60.==(null) ?{dynamic} throw new core::NoSuchMethodError::_withType(null, #Func, 34, <dynamic>[42].toList(growable: false), <dynamic, dynamic>{}, null) : #t60);
let final dynamic #t61 = self::C<dynamic> in throw new core::NoSuchMethodError::_withType(null, #C, 34, <dynamic>[#t61.+(42)].toList(growable: false), <dynamic, dynamic>{}, null);
self::use(let final dynamic #t62 = self::C<dynamic> in throw new core::NoSuchMethodError::_withType(null, #C, 34, <dynamic>[#t62.+(42)].toList(growable: false), <dynamic, dynamic>{}, null));
let final dynamic #t63 = dynamic in throw new core::NoSuchMethodError::_withType(null, #dynamic, 34, <dynamic>[#t63.+(42)].toList(growable: false), <dynamic, dynamic>{}, null);
self::use(let final dynamic #t64 = dynamic in throw new core::NoSuchMethodError::_withType(null, #dynamic, 34, <dynamic>[#t64.+(42)].toList(growable: false), <dynamic, dynamic>{}, null));
let final dynamic #t65 = self::C::T in throw new core::NoSuchMethodError::_withType(null, #T, 34, <dynamic>[#t65.+(42)].toList(growable: false), <dynamic, dynamic>{}, null);
self::use(let final dynamic #t66 = self::C::T in throw new core::NoSuchMethodError::_withType(null, #T, 34, <dynamic>[#t66.+(42)].toList(growable: false), <dynamic, dynamic>{}, null));
let final dynamic #t67 = () → void in throw new core::NoSuchMethodError::_withType(null, #Func, 34, <dynamic>[#t67.+(42)].toList(growable: false), <dynamic, dynamic>{}, null);
self::use(let final dynamic #t68 = () → void in throw new core::NoSuchMethodError::_withType(null, #Func, 34, <dynamic>[#t68.+(42)].toList(growable: false), <dynamic, dynamic>{}, null));
let final dynamic #t69 = self::C<dynamic> in throw new core::NoSuchMethodError::_withType(null, #C, 34, <dynamic>[#t69.-(42)].toList(growable: false), <dynamic, dynamic>{}, null);
self::use(let final dynamic #t70 = self::C<dynamic> in throw new core::NoSuchMethodError::_withType(null, #C, 34, <dynamic>[#t70.-(42)].toList(growable: false), <dynamic, dynamic>{}, null));
let final dynamic #t71 = dynamic in throw new core::NoSuchMethodError::_withType(null, #dynamic, 34, <dynamic>[#t71.-(42)].toList(growable: false), <dynamic, dynamic>{}, null);
self::use(let final dynamic #t72 = dynamic in throw new core::NoSuchMethodError::_withType(null, #dynamic, 34, <dynamic>[#t72.-(42)].toList(growable: false), <dynamic, dynamic>{}, null));
let final dynamic #t73 = self::C::T in throw new core::NoSuchMethodError::_withType(null, #T, 34, <dynamic>[#t73.-(42)].toList(growable: false), <dynamic, dynamic>{}, null);
self::use(let final dynamic #t74 = self::C::T in throw new core::NoSuchMethodError::_withType(null, #T, 34, <dynamic>[#t74.-(42)].toList(growable: false), <dynamic, dynamic>{}, null));
let final dynamic #t75 = () → void in throw new core::NoSuchMethodError::_withType(null, #Func, 34, <dynamic>[#t75.-(42)].toList(growable: false), <dynamic, dynamic>{}, null);
self::use(let final dynamic #t76 = () → void in throw new core::NoSuchMethodError::_withType(null, #Func, 34, <dynamic>[#t76.-(42)].toList(growable: false), <dynamic, dynamic>{}, null));
let final dynamic #t1 = 42 in invalid-expression;
self::use(let final dynamic #t2 = 42 in invalid-expression);
let final dynamic #t3 = 42 in invalid-expression;
self::use(let final dynamic #t4 = 42 in invalid-expression);
let final dynamic #t5 = 42 in invalid-expression;
self::use(let final dynamic #t6 = 42 in invalid-expression);
let final dynamic #t7 = 42 in invalid-expression;
self::use(let final dynamic #t8 = 42 in invalid-expression);
let final dynamic #t9 = self::C<dynamic> in let final dynamic #t10 = #t9.+(1) in invalid-expression;
self::use(let final dynamic #t11 = self::C<dynamic> in let final dynamic #t12 = #t11 in let final dynamic #t13 = let final dynamic #t14 = #t12.+(1) in invalid-expression in #t12);
let final dynamic #t15 = dynamic in let final dynamic #t16 = #t15.+(1) in invalid-expression;
self::use(let final dynamic #t17 = dynamic in let final dynamic #t18 = #t17 in let final dynamic #t19 = let final dynamic #t20 = #t18.+(1) in invalid-expression in #t18);
let final dynamic #t21 = self::C::T in let final dynamic #t22 = #t21.+(1) in invalid-expression;
self::use(let final dynamic #t23 = self::C::T in let final dynamic #t24 = #t23 in let final dynamic #t25 = let final dynamic #t26 = #t24.+(1) in invalid-expression in #t24);
let final dynamic #t27 = () → void in let final dynamic #t28 = #t27.+(1) in invalid-expression;
self::use(let final dynamic #t29 = () → void in let final dynamic #t30 = #t29 in let final dynamic #t31 = let final dynamic #t32 = #t30.+(1) in invalid-expression in #t30);
let final dynamic #t33 = self::C<dynamic> in let final dynamic #t34 = #t33.+(1) in invalid-expression;
self::use(let final dynamic #t35 = self::C<dynamic> in let final dynamic #t36 = #t35.+(1) in invalid-expression);
let final dynamic #t37 = dynamic in let final dynamic #t38 = #t37.+(1) in invalid-expression;
self::use(let final dynamic #t39 = dynamic in let final dynamic #t40 = #t39.+(1) in invalid-expression);
let final dynamic #t41 = self::C::T in let final dynamic #t42 = #t41.+(1) in invalid-expression;
self::use(let final dynamic #t43 = self::C::T in let final dynamic #t44 = #t43.+(1) in invalid-expression);
let final dynamic #t45 = () → void in let final dynamic #t46 = #t45.+(1) in invalid-expression;
self::use(let final dynamic #t47 = () → void in let final dynamic #t48 = #t47.+(1) in invalid-expression);
let final dynamic #t49 = self::C<dynamic> in let final dynamic #t50 = #t49.-(1) in invalid-expression;
self::use(let final dynamic #t51 = self::C<dynamic> in let final dynamic #t52 = #t51 in let final dynamic #t53 = let final dynamic #t54 = #t52.-(1) in invalid-expression in #t52);
let final dynamic #t55 = dynamic in let final dynamic #t56 = #t55.-(1) in invalid-expression;
self::use(let final dynamic #t57 = dynamic in let final dynamic #t58 = #t57 in let final dynamic #t59 = let final dynamic #t60 = #t58.-(1) in invalid-expression in #t58);
let final dynamic #t61 = self::C::T in let final dynamic #t62 = #t61.-(1) in invalid-expression;
self::use(let final dynamic #t63 = self::C::T in let final dynamic #t64 = #t63 in let final dynamic #t65 = let final dynamic #t66 = #t64.-(1) in invalid-expression in #t64);
let final dynamic #t67 = () → void in let final dynamic #t68 = #t67.-(1) in invalid-expression;
self::use(let final dynamic #t69 = () → void in let final dynamic #t70 = #t69 in let final dynamic #t71 = let final dynamic #t72 = #t70.-(1) in invalid-expression in #t70);
let final dynamic #t73 = self::C<dynamic> in let final dynamic #t74 = #t73.-(1) in invalid-expression;
self::use(let final dynamic #t75 = self::C<dynamic> in let final dynamic #t76 = #t75.-(1) in invalid-expression);
let final dynamic #t77 = dynamic in let final dynamic #t78 = #t77.-(1) in invalid-expression;
self::use(let final dynamic #t79 = dynamic in let final dynamic #t80 = #t79.-(1) in invalid-expression);
let final dynamic #t81 = self::C::T in let final dynamic #t82 = #t81.-(1) in invalid-expression;
self::use(let final dynamic #t83 = self::C::T in let final dynamic #t84 = #t83.-(1) in invalid-expression);
let final dynamic #t85 = () → void in let final dynamic #t86 = #t85.-(1) in invalid-expression;
self::use(let final dynamic #t87 = () → void in let final dynamic #t88 = #t87.-(1) in invalid-expression);
self::C<dynamic>;
self::use(self::C<dynamic>);
dynamic;
self::use(dynamic);
let final dynamic #t89 = self::C::T in #t89.==(null) ? let final dynamic #t90 = 42 in invalid-expression : null;
self::use(let final dynamic #t91 = self::C::T in let final dynamic #t92 = #t91 in #t92.==(null) ? let final dynamic #t93 = 42 in invalid-expression : #t92);
() → void;
self::use(() → void);
let final dynamic #t94 = self::C<dynamic> in let final dynamic #t95 = #t94.+(42) in invalid-expression;
self::use(let final dynamic #t96 = self::C<dynamic> in let final dynamic #t97 = #t96.+(42) in invalid-expression);
let final dynamic #t98 = dynamic in let final dynamic #t99 = #t98.+(42) in invalid-expression;
self::use(let final dynamic #t100 = dynamic in let final dynamic #t101 = #t100.+(42) in invalid-expression);
let final dynamic #t102 = self::C::T in let final dynamic #t103 = #t102.+(42) in invalid-expression;
self::use(let final dynamic #t104 = self::C::T in let final dynamic #t105 = #t104.+(42) in invalid-expression);
let final dynamic #t106 = () → void in let final dynamic #t107 = #t106.+(42) in invalid-expression;
self::use(let final dynamic #t108 = () → void in let final dynamic #t109 = #t108.+(42) in invalid-expression);
let final dynamic #t110 = self::C<dynamic> in let final dynamic #t111 = #t110.-(42) in invalid-expression;
self::use(let final dynamic #t112 = self::C<dynamic> in let final dynamic #t113 = #t112.-(42) in invalid-expression);
let final dynamic #t114 = dynamic in let final dynamic #t115 = #t114.-(42) in invalid-expression;
self::use(let final dynamic #t116 = dynamic in let final dynamic #t117 = #t116.-(42) in invalid-expression);
let final dynamic #t118 = self::C::T in let final dynamic #t119 = #t118.-(42) in invalid-expression;
self::use(let final dynamic #t120 = self::C::T in let final dynamic #t121 = #t120.-(42) in invalid-expression);
let final dynamic #t122 = () → void in let final dynamic #t123 = #t122.-(42) in invalid-expression;
self::use(let final dynamic #t124 = () → void in let final dynamic #t125 = #t124.-(42) in invalid-expression);
}
}
static method use(dynamic x) → dynamic {

View file

@ -1,5 +1,18 @@
library;
import self as self;
import "dart:core" as core;
static method main() → dynamic
throw "pkg/front_end/testcases/rasta/type_with_parse_error.dart:21:3: Error: Expected a declaration, but got 'int'.\n int i\n ^";
class A extends core::Object {
constructor •() → self::A
: super core::Object::•();
method foo() → dynamic {
throw core::_malformedTypeError("'B' is not a type.");
}
}
class B extends core::Object {
constructor •() → self::B
: super core::Object::•();
}
static method main() → dynamic {
throw core::_malformedTypeError("'B' is not a type.");
}

View file

@ -5,7 +5,7 @@ import "dart:core" as core;
typedef Foo = () → void;
static method main() → dynamic {
core::print(() → void);
throw new core::NoSuchMethodError::_withType(null, #Foo, 34, <dynamic>[null].toList(growable: false), <dynamic, dynamic>{}, null);
let final dynamic #t1 = () → void in #t1.==(null) ?{dynamic} throw new core::NoSuchMethodError::_withType(null, #Foo, 34, <dynamic>[null].toList(growable: false), <dynamic, dynamic>{}, null) : null;
let final dynamic #t1 = null in invalid-expression;
() → void;
() → void.call();
}

View file

@ -2,7 +2,6 @@ library;
import self as self;
import "dart:core" as core;
typedef VoidFunction = () → void;
class Fisk extends core::Object {
constructor •() → void
: super core::Object::•()
@ -12,40 +11,35 @@ class Fisk extends core::Object {
this.key = #t1;
core::print(this.key);
}
for (final dynamic #t2 in x) {
throw new core::NoSuchMethodError::_withType(null, #Fisk, 34, <dynamic>[#t2].toList(growable: false), <dynamic, dynamic>{}, null);
for (final dynamic #t2 = throw new core::_CompileTimeError::•("pkg/front_end/test/fasta/rasta/unresolved_for_in.dart:14:10: \u0027[31mError: Expected lvalue, but got Instance of 'SourceClassBuilder'\u0027[0m") in x) {
core::print(self::Fisk);
}
for (final dynamic #t3 = const core::_ConstantExpressionError::•()._throw(new core::_CompileTimeError::•("pkg/front_end/testcases/rasta/unresolved_for_in.dart:17:10: Error: Expected lvalue, but got Instance of 'PrefixBuilder'\n for (collection in x) {\n ^")) in x) {
core::print(const core::_ConstantExpressionError::•()._throw(new core::_CompileTimeError::•("pkg/front_end/testcases/rasta/unresolved_for_in.dart: Error: A library can't be used as an expression.")));
for (final dynamic #t3 = throw new core::_CompileTimeError::•("pkg/front_end/test/fasta/rasta/unresolved_for_in.dart:17:10: \u0027[31mError: Expected lvalue, but got Instance of 'PrefixBuilder'\u0027[0m") in x) {
core::print(throw new core::_CompileTimeError::•("pkg/front_end/test/fasta/rasta/unresolved_for_in.dart: \u0027[31mError: A library can't be used as an expression.\u0027[0m"));
}
for (final dynamic #t4 in x) {
throw new core::NoSuchMethodError::_withType(null, #VoidFunction, 34, <dynamic>[#t4].toList(growable: false), <dynamic, dynamic>{}, null);
for (final dynamic #t4 = throw new core::_CompileTimeError::•("pkg/front_end/test/fasta/rasta/unresolved_for_in.dart:20:10: \u0027[31mError: Expected lvalue, but got Instance of 'KernelFunctionTypeAliasBuilder'\u0027[0m") in x) {
core::print(() → void);
}
for (final dynamic #t5 = const core::_ConstantExpressionError::•()._throw(new core::_CompileTimeError::•("pkg/front_end/testcases/rasta/unresolved_for_in.dart:23:10: Error: Expected lvalue, but got 1\n for (1 in x) {\n ^")) in x) {
for (final dynamic #t5 = throw new core::_CompileTimeError::•("pkg/front_end/test/fasta/rasta/unresolved_for_in.dart:23:10: \u0027[31mError: Expected lvalue, but got 1\u0027[0m") in x) {
core::print(this.key);
}
}
}
static method main(dynamic arguments) → dynamic {
new self::Fisk::•();
for (final dynamic #t6 in arguments) {
throw new core::NoSuchMethodError::_withType(null, #key, 34, <dynamic>[#t6].toList(growable: false), <dynamic, dynamic>{}, null);
core::print(throw new core::NoSuchMethodError::_withType(null, #key, 33, <dynamic>[].toList(growable: false), <dynamic, dynamic>{}, null));
for (final dynamic #t6 = throw new core::_CompileTimeError::•("pkg/front_end/test/fasta/rasta/unresolved_for_in.dart:31:8: \u0027[31mError: Expected lvalue, but got unresolved-identifier(key)\u0027[0m") in arguments) {
core::print(throw new core::NoSuchMethodError::•(null, #key, <dynamic>[], <dynamic, dynamic>{}, null));
}
for (final dynamic #t7 in arguments) {
throw new core::NoSuchMethodError::_withType(null, #Fisk, 34, <dynamic>[#t7].toList(growable: false), <dynamic, dynamic>{}, null);
for (final dynamic #t7 = throw new core::_CompileTimeError::•("pkg/front_end/test/fasta/rasta/unresolved_for_in.dart:34:8: \u0027[31mError: Expected lvalue, but got Instance of 'SourceClassBuilder'\u0027[0m") in arguments) {
core::print(self::Fisk);
}
for (final dynamic #t8 = const core::_ConstantExpressionError::•()._throw(new core::_CompileTimeError::•("pkg/front_end/testcases/rasta/unresolved_for_in.dart:37:8: Error: Expected lvalue, but got Instance of 'PrefixBuilder'\n for (collection in arguments) {\n ^")) in arguments) {
core::print(const core::_ConstantExpressionError::•()._throw(new core::_CompileTimeError::•("pkg/front_end/testcases/rasta/unresolved_for_in.dart: Error: A library can't be used as an expression.")));
for (final dynamic #t8 = throw new core::_CompileTimeError::•("pkg/front_end/test/fasta/rasta/unresolved_for_in.dart:37:8: \u0027[31mError: Expected lvalue, but got Instance of 'PrefixBuilder'\u0027[0m") in arguments) {
core::print(throw new core::_CompileTimeError::•("pkg/front_end/test/fasta/rasta/unresolved_for_in.dart: \u0027[31mError: A library can't be used as an expression.\u0027[0m"));
}
for (final dynamic #t9 in arguments) {
throw new core::NoSuchMethodError::_withType(null, #VoidFunction, 34, <dynamic>[#t9].toList(growable: false), <dynamic, dynamic>{}, null);
for (final dynamic #t9 = throw new core::_CompileTimeError::•("pkg/front_end/test/fasta/rasta/unresolved_for_in.dart:40:8: \u0027[31mError: Expected lvalue, but got Instance of 'KernelFunctionTypeAliasBuilder'\u0027[0m") in arguments) {
core::print(() → void);
}
for (final dynamic #t10 = const core::_ConstantExpressionError::•()._throw(new core::_CompileTimeError::•("pkg/front_end/testcases/rasta/unresolved_for_in.dart:43:8: Error: Expected lvalue, but got 1\n for (1 in arguments) {\n ^")) in arguments) {
core::print(throw new core::NoSuchMethodError::_withType(null, #key, 33, <dynamic>[].toList(growable: false), <dynamic, dynamic>{}, null));
for (final dynamic #t10 = throw new core::_CompileTimeError::•("pkg/front_end/test/fasta/rasta/unresolved_for_in.dart:43:8: \u0027[31mError: Expected lvalue, but got 1\u0027[0m") in arguments) {
core::print(throw new core::NoSuchMethodError::•(null, #key, <dynamic>[], <dynamic, dynamic>{}, null));
}
}

View file

@ -1,5 +1,19 @@
library;
import self as self;
import "dart:core" as core;
static method main() → dynamic
throw "pkg/front_end/testcases/rasta/unresolved_recovery.dart:20:6: Error: Expected ';' before this.\n on Exception catch (e) { }\n ^";
class E extends core::Object {
constructor •() → self::E
: super core::Object::•();
method foo() → dynamic {
super.[]=(4, 42);
let final dynamic #t1 = 4 in super.[]=(#t1, super.[](#t1).+(5));
return super.[](2);
}
}
static method beforeTestMissingTry() → dynamic {
throw core::_genericNoSuchMethod(null, #testMissingTry, <dynamic>[], <dynamic, dynamic>{}, null);
}
static method testMissingTry() → dynamic
invalid-statement;
static method main() → dynamic {}

View file

@ -165,28 +165,28 @@ class C extends self::B {
self::use(let final dynamic #t63 = 87 in let final dynamic #t64 = 42 in let final dynamic #t65 = super.[]=(#t63, #t64) in #t64);
let final dynamic #t66 = 42 in let final dynamic #t67 = super.noSuchMethod(new core::_InvocationMirror::•("set:m", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t66].toList(growable: false), true)) in #t66;
self::use(let final dynamic #t68 = 42 in let final dynamic #t69 = super.noSuchMethod(new core::_InvocationMirror::•("set:m", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t68].toList(growable: false), true)) in #t68);
super.a.==(null) ?{dynamic} super.a = 42 : null;
self::use(let final dynamic #t70 = super.a in #t70.==(null) ?{dynamic} super.a = 42 : #t70);
super.b.==(null) ?{dynamic} super.b = 42 : null;
self::use(let final dynamic #t71 = super.b in #t71.==(null) ?{dynamic} super.b = 42 : #t71);
super.c.==(null) ?{dynamic} super.c = 42 : null;
self::use(let final dynamic #t72 = super.c in #t72.==(null) ?{dynamic} super.c = 42 : #t72);
super.d.==(null) ?{dynamic} super.d = 42 : null;
self::use(let final dynamic #t73 = super.d in #t73.==(null) ?{dynamic} super.d = 42 : #t73);
super.e.==(null) ?{dynamic} let final dynamic #t74 = 42 in let final dynamic #t75 = super.noSuchMethod(new core::_InvocationMirror::•("set:e", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t74].toList(growable: false), true)) in #t74 : null;
self::use(let final dynamic #t76 = super.e in #t76.==(null) ?{dynamic} let final dynamic #t77 = 42 in let final dynamic #t78 = super.noSuchMethod(new core::_InvocationMirror::•("set:e", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t77].toList(growable: false), true)) in #t77 : #t76);
super.f.==(null) ?{dynamic} let final dynamic #t79 = 42 in let final dynamic #t80 = super.noSuchMethod(new core::_InvocationMirror::•("set:f", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t79].toList(growable: false), true)) in #t79 : null;
self::use(let final dynamic #t81 = super.f in #t81.==(null) ?{dynamic} let final dynamic #t82 = 42 in let final dynamic #t83 = super.noSuchMethod(new core::_InvocationMirror::•("set:f", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t82].toList(growable: false), true)) in #t82 : #t81);
super.noSuchMethod(new core::_InvocationMirror::•("get:g", <dynamic>[0, 1, 1].toList(growable: false), <dynamic>[this].toList(growable: false), true)).==(null) ?{dynamic} super.g = 42 : null;
self::use(let final dynamic #t84 = super.noSuchMethod(new core::_InvocationMirror::•("get:g", <dynamic>[0, 1, 1].toList(growable: false), <dynamic>[this].toList(growable: false), true)) in #t84.==(null) ?{dynamic} super.g = 42 : #t84);
super.h.==(null) ?{dynamic} super.h = 42 : null;
self::use(let final dynamic #t85 = super.h in #t85.==(null) ?{dynamic} super.h = 42 : #t85);
super.i.==(null) ?{dynamic} super.i = 42 : null;
self::use(let final dynamic #t86 = super.i in #t86.==(null) ?{dynamic} super.i = 42 : #t86);
let final dynamic #t87 = 87 in super.[](#t87).==(null) ?{dynamic} let final dynamic #t88 = 42 in let final dynamic #t89 = super.[]=(#t87, #t88) in #t88 : null;
self::use(let final dynamic #t90 = 87 in let final dynamic #t91 = super.[](#t90) in #t91.==(null) ?{dynamic} let final dynamic #t92 = 42 in let final dynamic #t93 = super.[]=(#t90, #t92) in #t92 : #t91);
super.m.==(null) ?{dynamic} let final dynamic #t94 = 42 in let final dynamic #t95 = super.noSuchMethod(new core::_InvocationMirror::•("set:m", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t94].toList(growable: false), true)) in #t94 : null;
self::use(let final dynamic #t96 = super.m in #t96.==(null) ?{dynamic} let final dynamic #t97 = 42 in let final dynamic #t98 = super.noSuchMethod(new core::_InvocationMirror::•("set:m", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t97].toList(growable: false), true)) in #t97 : #t96);
super.a.==(null) ? super.a = 42 : null;
self::use(let final dynamic #t70 = super.a in #t70.==(null) ? super.a = 42 : #t70);
super.b.==(null) ? super.b = 42 : null;
self::use(let final dynamic #t71 = super.b in #t71.==(null) ? super.b = 42 : #t71);
super.c.==(null) ? super.c = 42 : null;
self::use(let final dynamic #t72 = super.c in #t72.==(null) ? super.c = 42 : #t72);
super.d.==(null) ? super.d = 42 : null;
self::use(let final dynamic #t73 = super.d in #t73.==(null) ? super.d = 42 : #t73);
super.e.==(null) ? let final dynamic #t74 = 42 in let final dynamic #t75 = super.noSuchMethod(new core::_InvocationMirror::•("set:e", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t74].toList(growable: false), true)) in #t74 : null;
self::use(let final dynamic #t76 = super.e in #t76.==(null) ? let final dynamic #t77 = 42 in let final dynamic #t78 = super.noSuchMethod(new core::_InvocationMirror::•("set:e", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t77].toList(growable: false), true)) in #t77 : #t76);
super.f.==(null) ? let final dynamic #t79 = 42 in let final dynamic #t80 = super.noSuchMethod(new core::_InvocationMirror::•("set:f", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t79].toList(growable: false), true)) in #t79 : null;
self::use(let final dynamic #t81 = super.f in #t81.==(null) ? let final dynamic #t82 = 42 in let final dynamic #t83 = super.noSuchMethod(new core::_InvocationMirror::•("set:f", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t82].toList(growable: false), true)) in #t82 : #t81);
super.noSuchMethod(new core::_InvocationMirror::•("get:g", <dynamic>[0, 1, 1].toList(growable: false), <dynamic>[this].toList(growable: false), true)).==(null) ? super.g = 42 : null;
self::use(let final dynamic #t84 = super.noSuchMethod(new core::_InvocationMirror::•("get:g", <dynamic>[0, 1, 1].toList(growable: false), <dynamic>[this].toList(growable: false), true)) in #t84.==(null) ? super.g = 42 : #t84);
super.h.==(null) ? super.h = 42 : null;
self::use(let final dynamic #t85 = super.h in #t85.==(null) ? super.h = 42 : #t85);
super.i.==(null) ? super.i = 42 : null;
self::use(let final dynamic #t86 = super.i in #t86.==(null) ? super.i = 42 : #t86);
let final dynamic #t87 = 87 in super.[](#t87).==(null) ? let final dynamic #t88 = 42 in let final dynamic #t89 = super.[]=(#t87, #t88) in #t88 : null;
self::use(let final dynamic #t90 = 87 in let final dynamic #t91 = super.[](#t90) in #t91.==(null) ? let final dynamic #t92 = 42 in let final dynamic #t93 = super.[]=(#t90, #t92) in #t92 : #t91);
super.m.==(null) ? let final dynamic #t94 = 42 in let final dynamic #t95 = super.noSuchMethod(new core::_InvocationMirror::•("set:m", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t94].toList(growable: false), true)) in #t94 : null;
self::use(let final dynamic #t96 = super.m in #t96.==(null) ? let final dynamic #t97 = 42 in let final dynamic #t98 = super.noSuchMethod(new core::_InvocationMirror::•("set:m", <dynamic>[0, 2, 2].toList(growable: false), <dynamic>[this, #t97].toList(growable: false), true)) in #t97 : #t96);
super.a = super.a.+(42);
self::use(super.a = super.a.+(42));
super.b = super.b.+(42);

View file

@ -17,9 +17,8 @@ class C<T extends core::Object> extends core::Object {
: super core::Object::•()
;
}
const field dynamic #errors = const <dynamic>["pkg/front_end/testcases/type_variable_as_super.dart: Error: The type variable 'T' can't be used as supertype.", "pkg/front_end/testcases/type_variable_as_super.dart: Error: The type variable 'T' can't be used as supertype.", "pkg/front_end/testcases/type_variable_as_super.dart: Error: The type variable 'T' can't be used as supertype."]/* from null */;
static method main() → dynamic {
throw new core::AbstractClassInstantiationError::•("A");
throw new core::AbstractClassInstantiationError::•("B");
throw new core::NoSuchMethodError::•(null, #A, <dynamic>[], <dynamic, dynamic>{}, null);
throw new core::NoSuchMethodError::•(null, #B, <dynamic>[], <dynamic, dynamic>{}, null);
new self::C::•<dynamic>();
}

View file

@ -8,9 +8,9 @@ class Foo extends core::Object {
: super core::Object::•()
;
set first(dynamic x) → dynamic
return let final dynamic #t1 = this.list in let final dynamic #t2 = 0 in let final dynamic #t3 = x in let final dynamic #t4 = #t1.[]=(#t2, #t3) in #t3;
this.list.[]=(0, x);
operator []=(dynamic x, dynamic y) → dynamic
return let final dynamic #t5 = this.list in let final dynamic #t6 = x in let final dynamic #t7 = y in let final dynamic #t8 = #t5.[]=(#t6, #t7) in #t7;
this.list.[]=(x, y);
method clear() → void
return this.list.clear();
}