Revert "[vm] Enable new kernel AST invocation nodes for the VM"

This reverts commit 53e3c079b7.

Reason for revert: This change has seemingly caused errors of the form
```
stderr >> Unhandled exception:
stderr >> Invalid argument(s): Missing canonical name for Reference to <XXX>
stderr >> #0      BinaryPrinter.writeNullAllowedReference (package:kernel/binary/ast_to_binary.dart:894:9)
stderr >> #1      BinaryPrinter.visitTypedefType (package:kernel/binary/ast_to_binary.dart:2410:5)
stderr >> #2      TypedefType.accept (package:kernel/ast.dart:11115:42)
stderr >> #3      BinaryPrinter.writeNode (package:kernel/binary/ast_to_binary.dart:403:10)
stderr >> #4      BinaryPrinter.writeOptionalNode (package:kernel/binary/ast_to_binary.dart:496:7)
```

Issue https://github.com/dart-lang/sdk/issues/45966

Original change's description:
> [vm] Enable new kernel AST invocation nodes for the VM
>
> TEST=ci
>
> Issue: https://github.com/dart-lang/sdk/issues/45340
> Change-Id: Ibb307d8df8ff4ae8f2efad177880634ec9e27905
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/197586
> Commit-Queue: Alexander Markov <alexmarkov@google.com>
> Reviewed-by: Johnni Winther <johnniwinther@google.com>
> Reviewed-by: Aske Simon Christensen <askesc@google.com>

TBR=vegorov@google.com,alexmarkov@google.com,johnniwinther@google.com,askesc@google.com

Change-Id: I05d010378cfcc5ba40f2be58b01b3ed27a8fc31e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Issue: https://github.com/dart-lang/sdk/issues/45340
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/199000
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
This commit is contained in:
Martin Kustermann 2021-05-10 12:32:38 +00:00 committed by commit-bot@chromium.org
parent 67ffc84c05
commit 31364331e9
2220 changed files with 23783 additions and 24024 deletions

View file

@ -7,8 +7,8 @@ import "org-dartlang-testcase:///main_lib.dart";
static method main() → dynamic {
core::List<dynamic> list = <dynamic>[];
if(list.{core::Iterable::isNotEmpty}{core::bool}) {
new mai::Class::•().{mai::Class::method}((null as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} mai::Enum){(mai::Enum) → core::int};
if(list.{core::Iterable::isNotEmpty}) {
new mai::Class::•().{mai::Class::method}((null as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} mai::Enum);
}
}
@ -32,7 +32,7 @@ class Class extends core::Object {
: super core::Object::•()
;
method method(mai::Enum e) → core::int
return e.{mai::Enum::index}{core::int};
return e.{mai::Enum::index};
}
constants {

View file

@ -8,7 +8,7 @@ import "org-dartlang-testcase:///main_lib.dart";
static method main() → dynamic {
core::List<dynamic> list = core::_GrowableList::•<dynamic>(0);
if(list.{core::Iterable::isNotEmpty}{core::bool}) {
if(list.{core::Iterable::isNotEmpty}) {
let dynamic #t1 = new mai::Class::•() in let dynamic #t2 = _in::unsafeCast<dynamic>(null) as{TypeError,ForDynamic,ForNonNullableByDefault} mai::Enum in throw "Attempt to execute code removed by Dart AOT compiler (TFA)";
}
}

View file

@ -7,8 +7,8 @@ import "org-dartlang-testcase:///main_lib.dart";
static method main() → dynamic {
core::List<dynamic> list = <dynamic>[];
if(list.{core::Iterable::isNotEmpty}{core::bool}) {
new mai::Class::•().{mai::Class::method}((null as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} mai::Enum){(mai::Enum) → core::int};
if(list.{core::Iterable::isNotEmpty}) {
new mai::Class::•().{mai::Class::method}((null as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} mai::Enum);
}
}
@ -32,7 +32,7 @@ class Class extends core::Object {
: super core::Object::•()
;
method method(mai::Enum e) → core::int
return e.{mai::Enum::index}{core::int};
return e.{mai::Enum::index};
}
constants {

View file

@ -8,8 +8,8 @@ import "org-dartlang-testcase:///main_lib.dart";
static method main() → dynamic {
core::List<dynamic> list = core::_GrowableList::•<dynamic>(0);
if(list.{core::Iterable::isNotEmpty}{core::bool}) {
new mai::Class::•().{mai::Class::method}(_in::unsafeCast<mai::Enum>(_in::unsafeCast<dynamic>(null))){(mai::Enum) → core::int};
if(list.{core::Iterable::isNotEmpty}) {
new mai::Class::•().{mai::Class::method}(_in::unsafeCast<mai::Enum>(_in::unsafeCast<dynamic>(null)));
}
}
@ -25,7 +25,7 @@ class Class extends core::Object {
: super core::Object::•()
;
method method(mai::Enum e) → core::int
return e.{mai::Enum::index}{core::int};
return e.{mai::Enum::index};
}

View file

@ -49,17 +49,17 @@ class UnusedClass extends core::Object {
;
}
static method usedMethod(self::UnusedInterface c) → dynamic {
c.{self::UnusedInterface::usedInterfaceField} = c.{self::UnusedInterface::usedInterfaceField}{core::int?};
c.{self::UnusedInterface::usedInterfaceField} = c.{self::UnusedInterface::usedInterfaceField};
}
static method unusedMethod() → dynamic {}
static method main() → dynamic {
self::usedMethod(let final self::UsedClass #t1 = new self::UsedClass::•() in block {
#t1.{self::UsedClass::usedField}{core::int?};
#t1.{self::UsedClass::usedField};
} =>#t1);
#C11;
core::List<self::UnusedEnum> list = <self::UnusedEnum>[];
if(list.{core::Iterable::isNotEmpty}{core::bool}) {
new mai::ConstClass::•().{mai::ConstClass::method}((null as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} mai::ConstEnum){(mai::ConstEnum) → core::int};
if(list.{core::Iterable::isNotEmpty}) {
new mai::ConstClass::•().{mai::ConstClass::method}((null as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} mai::ConstEnum);
}
}
@ -83,7 +83,7 @@ class ConstClass extends core::Object {
: super core::Object::•()
;
method method(mai::ConstEnum e) → core::int
return e.{mai::ConstEnum::index}{core::int};
return e.{mai::ConstEnum::index};
}
constants {

View file

@ -26,15 +26,15 @@ class UsedClass extends core::Object implements self::UnusedInterface {
;
}
static method usedMethod(self::UnusedInterface c) → dynamic {
c.{self::UnusedInterface::usedInterfaceField} = c.{self::UnusedInterface::usedInterfaceField}{core::int?};
c.{self::UnusedInterface::usedInterfaceField} = c.{self::UnusedInterface::usedInterfaceField};
}
static method main() → dynamic {
self::usedMethod(let final self::UsedClass #t1 = new self::UsedClass::•() in block {
#t1.{self::UsedClass::usedField}{core::int?};
#t1.{self::UsedClass::usedField};
} =>#t1);
#C3;
core::List<self::UnusedEnum> list = core::_GrowableList::•<self::UnusedEnum>(0);
if(list.{core::Iterable::isNotEmpty}{core::bool}) {
if(list.{core::Iterable::isNotEmpty}) {
let dynamic #t2 = new mai::ConstClass::•() in let dynamic #t3 = _in::unsafeCast<dynamic>(null) as{TypeError,ForDynamic,ForNonNullableByDefault} mai::ConstEnum in throw "Attempt to execute code removed by Dart AOT compiler (TFA)";
}
}

View file

@ -49,17 +49,17 @@ class UnusedClass extends core::Object {
;
}
static method usedMethod(self::UnusedInterface c) → dynamic {
c.{self::UnusedInterface::usedInterfaceField} = c.{self::UnusedInterface::usedInterfaceField}{core::int?};
c.{self::UnusedInterface::usedInterfaceField} = c.{self::UnusedInterface::usedInterfaceField};
}
static method unusedMethod() → dynamic {}
static method main() → dynamic {
self::usedMethod(let final self::UsedClass #t1 = new self::UsedClass::•() in block {
#t1.{self::UsedClass::usedField}{core::int?};
#t1.{self::UsedClass::usedField};
} =>#t1);
#C11;
core::List<self::UnusedEnum> list = <self::UnusedEnum>[];
if(list.{core::Iterable::isNotEmpty}{core::bool}) {
new mai::ConstClass::•().{mai::ConstClass::method}((null as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} mai::ConstEnum){(mai::ConstEnum) → core::int};
if(list.{core::Iterable::isNotEmpty}) {
new mai::ConstClass::•().{mai::ConstClass::method}((null as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} mai::ConstEnum);
}
}
@ -83,7 +83,7 @@ class ConstClass extends core::Object {
: super core::Object::•()
;
method method(mai::ConstEnum e) → core::int
return e.{mai::ConstEnum::index}{core::int};
return e.{mai::ConstEnum::index};
}
constants {

View file

@ -26,16 +26,16 @@ class UsedClass extends core::Object implements self::UnusedInterface {
;
}
static method usedMethod(self::UnusedInterface c) → dynamic {
c.{self::UnusedInterface::usedInterfaceField} = c.{self::UnusedInterface::usedInterfaceField}{core::int?};
c.{self::UnusedInterface::usedInterfaceField} = c.{self::UnusedInterface::usedInterfaceField};
}
static method main() → dynamic {
self::usedMethod(let final self::UsedClass #t1 = new self::UsedClass::•() in block {
#t1.{self::UsedClass::usedField}{core::int?};
#t1.{self::UsedClass::usedField};
} =>#t1);
#C3;
core::List<self::UnusedEnum> list = core::_GrowableList::•<self::UnusedEnum>(0);
if(list.{core::Iterable::isNotEmpty}{core::bool}) {
new mai::ConstClass::•().{mai::ConstClass::method}(_in::unsafeCast<mai::ConstEnum>(_in::unsafeCast<dynamic>(null))){(mai::ConstEnum) → core::int};
if(list.{core::Iterable::isNotEmpty}) {
new mai::ConstClass::•().{mai::ConstClass::method}(_in::unsafeCast<mai::ConstEnum>(_in::unsafeCast<dynamic>(null)));
}
}
@ -51,7 +51,7 @@ class ConstClass extends core::Object {
: super core::Object::•()
;
method method(mai::ConstEnum e) → core::int
return e.{mai::ConstEnum::index}{core::int};
return e.{mai::ConstEnum::index};
}
constants {

View file

@ -14,8 +14,8 @@ class Class extends core::Object implements mai::Interface {
;
}
static method method(mai::Interface i) → void {
i.{mai::Interface::field2} = i.{mai::Interface::field1}{core::int?};
i.{mai::Interface::field3} = i.{mai::Interface::field3}{core::int?};
i.{mai::Interface::field2} = i.{mai::Interface::field1};
i.{mai::Interface::field3} = i.{mai::Interface::field3};
}
static method main() → dynamic {
self::method(new self::Class::•());

View file

@ -14,8 +14,8 @@ class Class extends core::Object implements mai::Interface {
set /*isLegacy*/ field2(core::int? value) → void;
}
static method method(mai::Interface i) → void {
i.{mai::Interface::field2} = i.{mai::Interface::field1}{core::int?};
i.{mai::Interface::field3} = i.{mai::Interface::field3}{core::int?};
i.{mai::Interface::field2} = i.{mai::Interface::field1};
i.{mai::Interface::field3} = i.{mai::Interface::field3};
}
static method main() → dynamic {
self::method(new self::Class::•());

View file

@ -14,8 +14,8 @@ class Class extends core::Object implements mai::Interface {
;
}
static method method(mai::Interface i) → void {
i.{mai::Interface::field2} = i.{mai::Interface::field1}{core::int?};
i.{mai::Interface::field3} = i.{mai::Interface::field3}{core::int?};
i.{mai::Interface::field2} = i.{mai::Interface::field1};
i.{mai::Interface::field3} = i.{mai::Interface::field3};
}
static method main() → dynamic {
self::method(new self::Class::•());

View file

@ -14,8 +14,8 @@ class Class extends core::Object implements mai::Interface {
set /*isLegacy*/ field2(core::int? value) → void;
}
static method method(mai::Interface i) → void {
i.{mai::Interface::field2} = i.{mai::Interface::field1}{core::int?};
i.{mai::Interface::field3} = i.{mai::Interface::field3}{core::int?};
i.{mai::Interface::field2} = i.{mai::Interface::field1};
i.{mai::Interface::field3} = i.{mai::Interface::field3};
}
static method main() → dynamic {
self::method(new self::Class::•());

View file

@ -9,15 +9,15 @@ static const field core::int var1 = #C1;
static const field core::int var2 = #C1;
static method fn() → core::int {
core::int x = 0;
assert(x =={core::num::==}{(core::Object) → core::bool} 0, "fail");
assert(x.{core::num::==}(0), "fail");
return x;
}
static method fn2() → core::int {
core::int x = 0;
assert((() → core::bool {
core::int y = x.{core::num::+}(1){(core::num) → core::int};
return y =={core::num::==}{(core::Object) → core::bool} 1;
})(){() → core::bool});
core::int y = x.{core::num::+}(1);
return y.{core::num::==}(1);
}).call());
return x;
}
static method main() → void {

View file

@ -9,15 +9,15 @@ static const field core::int var1 = #C1;
static const field core::int var2 = #C1;
static method fn() → core::int {
core::int x = 0;
assert(x =={core::num::==}{(core::Object) → core::bool} 0, "fail");
assert(x.{core::num::==}(0), "fail");
return x;
}
static method fn2() → core::int {
core::int x = 0;
assert((() → core::bool {
core::int y = x.{core::num::+}(1){(core::num) → core::int};
return y =={core::num::==}{(core::Object) → core::bool} 1;
})(){() → core::bool});
core::int y = x.{core::num::+}(1);
return y.{core::num::==}(1);
}).call());
return x;
}
static method main() → void {

View file

@ -9,15 +9,15 @@ static const field core::int var1 = #C1;
static const field core::int var2 = #C1;
static method fn() → core::int {
core::int x = 0;
assert(x =={core::num::==}{(core::Object) → core::bool} 0, "fail");
assert(x.{core::num::==}(0), "fail");
return x;
}
static method fn2() → core::int {
core::int x = 0;
assert((() → core::bool {
core::int y = x.{core::num::+}(1){(core::num) → core::int};
return y =={core::num::==}{(core::Object) → core::bool} 1;
})(){() → core::bool});
core::int y = x.{core::num::+}(1);
return y.{core::num::==}(1);
}).call());
return x;
}
static method main() → void {

View file

@ -9,15 +9,15 @@ static const field core::int var1 = #C1;
static const field core::int var2 = #C1;
static method fn() → core::int {
core::int x = 0;
assert(x =={core::num::==}{(core::Object) → core::bool} 0, "fail");
assert(x.{core::num::==}(0), "fail");
return x;
}
static method fn2() → core::int {
core::int x = 0;
assert((() → core::bool {
core::int y = x.{core::num::+}(1){(core::num) → core::int};
return y =={core::num::==}{(core::Object) → core::bool} 1;
})(){() → core::bool});
core::int y = x.{core::num::+}(1);
return y.{core::num::==}(1);
}).call());
return x;
}
static method main() → void {

View file

@ -16,29 +16,29 @@ static method foo() → core::int {
() → () → core::int f = () → () → core::int {
core::int count = 0;
function baz() → core::int {
count = count.{core::num::+}(1){(core::num) → core::int};
count = count.{core::num::+}(1);
return count;
}
return baz;
};
() → core::int c1 = f(){() → () → core::int};
() → core::int c2 = f(){() → () → core::int};
core::int c1_val1 = c1(){() → core::int};
assert(c1_val1 =={core::num::==}{(core::Object) → core::bool} 1);
core::int c1_val2 = c1(){() → core::int};
assert(c1_val2 =={core::num::==}{(core::Object) → core::bool} 2);
core::int c1_val3 = c1(){() → core::int};
assert(c1_val3 =={core::num::==}{(core::Object) → core::bool} 3);
core::int c2_val1 = c2(){() → core::int};
assert(c1_val1 =={core::num::==}{(core::Object) → core::bool} 1);
core::int c2_val2 = c2(){() → core::int};
assert(c1_val2 =={core::num::==}{(core::Object) → core::bool} 2);
core::int c2_val3 = c2(){() → core::int};
assert(c1_val3 =={core::num::==}{(core::Object) → core::bool} 3);
() → core::int c1 = f.call();
() → core::int c2 = f.call();
core::int c1_val1 = c1.call();
assert(c1_val1.{core::num::==}(1));
core::int c1_val2 = c1.call();
assert(c1_val2.{core::num::==}(2));
core::int c1_val3 = c1.call();
assert(c1_val3.{core::num::==}(3));
core::int c2_val1 = c2.call();
assert(c1_val1.{core::num::==}(1));
core::int c2_val2 = c2.call();
assert(c1_val2.{core::num::==}(2));
core::int c2_val3 = c2.call();
assert(c1_val3.{core::num::==}(3));
return 0;
}
static method fn() → core::int {
return (() → core::int => 0)(){() → core::int};
return (() → core::int => 0).call();
}
static method fn3() → core::int {
core::int y = 2;
@ -49,25 +49,25 @@ static method fn4() → core::int {
function innerFn() → core::int {
return x;
}
return innerFn(){() → core::int};
return innerFn.call();
}
static method fn5(core::int a) → core::int {
function recurse(core::int b) → core::int {
if(b =={core::num::==}{(core::Object) → core::bool} 1)
if(b.{core::num::==}(1))
return 1;
core::int result = recurse(b.{core::num::-}(1){(core::num) → core::int}){(core::int) → core::int};
return b.{core::num::*}(result){(core::num) → core::int};
core::int result = recurse.call(b.{core::num::-}(1));
return b.{core::num::*}(result);
}
return recurse(a){(core::int) → core::int};
return recurse.call(a);
}
static method fn6(core::int a) → core::int {
function recurse() → core::int {
a = a.{core::num::-}(1){(core::num) → core::int};
if(a =={core::num::==}{(core::Object) → core::bool} 1)
a = a.{core::num::-}(1);
if(a.{core::num::==}(1))
return 1;
return a.{core::num::*}(recurse(){() → core::int}){(core::num) → core::int};
return a.{core::num::*}(recurse.call());
}
return recurse(){() → core::int};
return recurse.call();
}
static method main() → void {
exp::Expect::equals(#C1, 0);

View file

@ -16,29 +16,29 @@ static method foo() → core::int {
() → () → core::int f = () → () → core::int {
core::int count = 0;
function baz() → core::int {
count = count.{core::num::+}(1){(core::num) → core::int};
count = count.{core::num::+}(1);
return count;
}
return baz;
};
() → core::int c1 = f(){() → () → core::int};
() → core::int c2 = f(){() → () → core::int};
core::int c1_val1 = c1(){() → core::int};
assert(c1_val1 =={core::num::==}{(core::Object) → core::bool} 1);
core::int c1_val2 = c1(){() → core::int};
assert(c1_val2 =={core::num::==}{(core::Object) → core::bool} 2);
core::int c1_val3 = c1(){() → core::int};
assert(c1_val3 =={core::num::==}{(core::Object) → core::bool} 3);
core::int c2_val1 = c2(){() → core::int};
assert(c1_val1 =={core::num::==}{(core::Object) → core::bool} 1);
core::int c2_val2 = c2(){() → core::int};
assert(c1_val2 =={core::num::==}{(core::Object) → core::bool} 2);
core::int c2_val3 = c2(){() → core::int};
assert(c1_val3 =={core::num::==}{(core::Object) → core::bool} 3);
() → core::int c1 = f.call();
() → core::int c2 = f.call();
core::int c1_val1 = c1.call();
assert(c1_val1.{core::num::==}(1));
core::int c1_val2 = c1.call();
assert(c1_val2.{core::num::==}(2));
core::int c1_val3 = c1.call();
assert(c1_val3.{core::num::==}(3));
core::int c2_val1 = c2.call();
assert(c1_val1.{core::num::==}(1));
core::int c2_val2 = c2.call();
assert(c1_val2.{core::num::==}(2));
core::int c2_val3 = c2.call();
assert(c1_val3.{core::num::==}(3));
return 0;
}
static method fn() → core::int {
return (() → core::int => 0)(){() → core::int};
return (() → core::int => 0).call();
}
static method fn3() → core::int {
core::int y = 2;
@ -49,25 +49,25 @@ static method fn4() → core::int {
function innerFn() → core::int {
return x;
}
return innerFn(){() → core::int};
return innerFn.call();
}
static method fn5(core::int a) → core::int {
function recurse(core::int b) → core::int {
if(b =={core::num::==}{(core::Object) → core::bool} 1)
if(b.{core::num::==}(1))
return 1;
core::int result = recurse(b.{core::num::-}(1){(core::num) → core::int}){(core::int) → core::int};
return b.{core::num::*}(result){(core::num) → core::int};
core::int result = recurse.call(b.{core::num::-}(1));
return b.{core::num::*}(result);
}
return recurse(a){(core::int) → core::int};
return recurse.call(a);
}
static method fn6(core::int a) → core::int {
function recurse() → core::int {
a = a.{core::num::-}(1){(core::num) → core::int};
if(a =={core::num::==}{(core::Object) → core::bool} 1)
a = a.{core::num::-}(1);
if(a.{core::num::==}(1))
return 1;
return a.{core::num::*}(recurse(){() → core::int}){(core::num) → core::int};
return a.{core::num::*}(recurse.call());
}
return recurse(){() → core::int};
return recurse.call();
}
static method main() → void {
exp::Expect::equals(#C1, 0);

View file

@ -16,29 +16,29 @@ static method foo() → core::int {
() → () → core::int f = () → () → core::int {
core::int count = 0;
function baz() → core::int {
count = count.{core::num::+}(1){(core::num) → core::int};
count = count.{core::num::+}(1);
return count;
}
return baz;
};
() → core::int c1 = f(){() → () → core::int};
() → core::int c2 = f(){() → () → core::int};
core::int c1_val1 = c1(){() → core::int};
assert(c1_val1 =={core::num::==}{(core::Object) → core::bool} 1);
core::int c1_val2 = c1(){() → core::int};
assert(c1_val2 =={core::num::==}{(core::Object) → core::bool} 2);
core::int c1_val3 = c1(){() → core::int};
assert(c1_val3 =={core::num::==}{(core::Object) → core::bool} 3);
core::int c2_val1 = c2(){() → core::int};
assert(c1_val1 =={core::num::==}{(core::Object) → core::bool} 1);
core::int c2_val2 = c2(){() → core::int};
assert(c1_val2 =={core::num::==}{(core::Object) → core::bool} 2);
core::int c2_val3 = c2(){() → core::int};
assert(c1_val3 =={core::num::==}{(core::Object) → core::bool} 3);
() → core::int c1 = f.call();
() → core::int c2 = f.call();
core::int c1_val1 = c1.call();
assert(c1_val1.{core::num::==}(1));
core::int c1_val2 = c1.call();
assert(c1_val2.{core::num::==}(2));
core::int c1_val3 = c1.call();
assert(c1_val3.{core::num::==}(3));
core::int c2_val1 = c2.call();
assert(c1_val1.{core::num::==}(1));
core::int c2_val2 = c2.call();
assert(c1_val2.{core::num::==}(2));
core::int c2_val3 = c2.call();
assert(c1_val3.{core::num::==}(3));
return 0;
}
static method fn() → core::int {
return (() → core::int => 0)(){() → core::int};
return (() → core::int => 0).call();
}
static method fn3() → core::int {
core::int y = 2;
@ -49,25 +49,25 @@ static method fn4() → core::int {
function innerFn() → core::int {
return x;
}
return innerFn(){() → core::int};
return innerFn.call();
}
static method fn5(core::int a) → core::int {
function recurse(core::int b) → core::int {
if(b =={core::num::==}{(core::Object) → core::bool} 1)
if(b.{core::num::==}(1))
return 1;
core::int result = recurse(b.{core::num::-}(1){(core::num) → core::int}){(core::int) → core::int};
return b.{core::num::*}(result){(core::num) → core::int};
core::int result = recurse.call(b.{core::num::-}(1));
return b.{core::num::*}(result);
}
return recurse(a){(core::int) → core::int};
return recurse.call(a);
}
static method fn6(core::int a) → core::int {
function recurse() → core::int {
a = a.{core::num::-}(1){(core::num) → core::int};
if(a =={core::num::==}{(core::Object) → core::bool} 1)
a = a.{core::num::-}(1);
if(a.{core::num::==}(1))
return 1;
return a.{core::num::*}(recurse(){() → core::int}){(core::num) → core::int};
return a.{core::num::*}(recurse.call());
}
return recurse(){() → core::int};
return recurse.call();
}
static method main() → void {
exp::Expect::equals(#C1, 0);

View file

@ -16,29 +16,29 @@ static method foo() → core::int {
() → () → core::int f = () → () → core::int {
core::int count = 0;
function baz() → core::int {
count = count.{core::num::+}(1){(core::num) → core::int};
count = count.{core::num::+}(1);
return count;
}
return baz;
};
() → core::int c1 = f(){() → () → core::int};
() → core::int c2 = f(){() → () → core::int};
core::int c1_val1 = c1(){() → core::int};
assert(c1_val1 =={core::num::==}{(core::Object) → core::bool} 1);
core::int c1_val2 = c1(){() → core::int};
assert(c1_val2 =={core::num::==}{(core::Object) → core::bool} 2);
core::int c1_val3 = c1(){() → core::int};
assert(c1_val3 =={core::num::==}{(core::Object) → core::bool} 3);
core::int c2_val1 = c2(){() → core::int};
assert(c1_val1 =={core::num::==}{(core::Object) → core::bool} 1);
core::int c2_val2 = c2(){() → core::int};
assert(c1_val2 =={core::num::==}{(core::Object) → core::bool} 2);
core::int c2_val3 = c2(){() → core::int};
assert(c1_val3 =={core::num::==}{(core::Object) → core::bool} 3);
() → core::int c1 = f.call();
() → core::int c2 = f.call();
core::int c1_val1 = c1.call();
assert(c1_val1.{core::num::==}(1));
core::int c1_val2 = c1.call();
assert(c1_val2.{core::num::==}(2));
core::int c1_val3 = c1.call();
assert(c1_val3.{core::num::==}(3));
core::int c2_val1 = c2.call();
assert(c1_val1.{core::num::==}(1));
core::int c2_val2 = c2.call();
assert(c1_val2.{core::num::==}(2));
core::int c2_val3 = c2.call();
assert(c1_val3.{core::num::==}(3));
return 0;
}
static method fn() → core::int {
return (() → core::int => 0)(){() → core::int};
return (() → core::int => 0).call();
}
static method fn3() → core::int {
core::int y = 2;
@ -49,25 +49,25 @@ static method fn4() → core::int {
function innerFn() → core::int {
return x;
}
return innerFn(){() → core::int};
return innerFn.call();
}
static method fn5(core::int a) → core::int {
function recurse(core::int b) → core::int {
if(b =={core::num::==}{(core::Object) → core::bool} 1)
if(b.{core::num::==}(1))
return 1;
core::int result = recurse(b.{core::num::-}(1){(core::num) → core::int}){(core::int) → core::int};
return b.{core::num::*}(result){(core::num) → core::int};
core::int result = recurse.call(b.{core::num::-}(1));
return b.{core::num::*}(result);
}
return recurse(a){(core::int) → core::int};
return recurse.call(a);
}
static method fn6(core::int a) → core::int {
function recurse() → core::int {
a = a.{core::num::-}(1){(core::num) → core::int};
if(a =={core::num::==}{(core::Object) → core::bool} 1)
a = a.{core::num::-}(1);
if(a.{core::num::==}(1))
return 1;
return a.{core::num::*}(recurse(){() → core::int}){(core::num) → core::int};
return a.{core::num::*}(recurse.call());
}
return recurse(){() → core::int};
return recurse.call();
}
static method main() → void {
exp::Expect::equals(#C1, 0);

View file

@ -9,7 +9,7 @@ class Simple extends core::Object /*hasConstConstructor*/ {
final field core::String name;
const constructor •(core::String name) → self::Simple
: self::Simple::name = name, super core::Object::•() {
assert(this.{self::Simple::name}{core::String} =={core::String::==}{(core::Object) → core::bool} (#C1));
assert(this.{self::Simple::name}.{core::String::==}(#C1));
}
}
class A extends core::Object /*hasConstConstructor*/ {
@ -25,7 +25,7 @@ static const field self::A var3 = #C3;
static method fn() → self::A
return new self::A::•();
static method main() → void {
exp::Expect::equals((#C2).{self::Simple::name}{core::String}, #C1);
exp::Expect::equals((#C2).{self::Simple::name}, #C1);
}
constants {

View file

@ -9,7 +9,7 @@ class Simple extends core::Object /*hasConstConstructor*/ {
final field core::String name;
const constructor •(core::String name) → self::Simple
: self::Simple::name = name, super core::Object::•() {
assert(this.{self::Simple::name}{core::String} =={core::String::==}{(core::Object) → core::bool} (#C1));
assert(this.{self::Simple::name}.{core::String::==}(#C1));
}
}
class A extends core::Object /*hasConstConstructor*/ {
@ -25,7 +25,7 @@ static const field self::A var3 = #C3;
static method fn() → self::A
return new self::A::•();
static method main() → void {
exp::Expect::equals((#C2).{self::Simple::name}{core::String}, #C1);
exp::Expect::equals((#C2).{self::Simple::name}, #C1);
}
constants {

View file

@ -9,7 +9,7 @@ class Simple extends core::Object /*hasConstConstructor*/ {
final field core::String name;
const constructor •(core::String name) → self::Simple
: self::Simple::name = name, super core::Object::•() {
assert(this.{self::Simple::name}{core::String} =={core::String::==}{(core::Object) → core::bool} (#C1));
assert(this.{self::Simple::name}.{core::String::==}(#C1));
}
}
class A extends core::Object /*hasConstConstructor*/ {
@ -25,7 +25,7 @@ static const field self::A var3 = #C3;
static method fn() → self::A
return new self::A::•();
static method main() → void {
exp::Expect::equals((#C2).{self::Simple::name}{core::String}, #C1);
exp::Expect::equals((#C2).{self::Simple::name}, #C1);
}
constants {

View file

@ -9,7 +9,7 @@ class Simple extends core::Object /*hasConstConstructor*/ {
final field core::String name;
const constructor •(core::String name) → self::Simple
: self::Simple::name = name, super core::Object::•() {
assert(this.{self::Simple::name}{core::String} =={core::String::==}{(core::Object) → core::bool} (#C1));
assert(this.{self::Simple::name}.{core::String::==}(#C1));
}
}
class A extends core::Object /*hasConstConstructor*/ {
@ -25,7 +25,7 @@ static const field self::A var3 = #C3;
static method fn() → self::A
return new self::A::•();
static method main() → void {
exp::Expect::equals((#C2).{self::Simple::name}{core::String}, #C1);
exp::Expect::equals((#C2).{self::Simple::name}, #C1);
}
constants {

View file

@ -41,7 +41,7 @@ class Simple extends core::Object /*hasConstConstructor*/ {
final field core::String name;
const constructor •(core::String name) → self::Simple
: self::Simple::name = name, super core::Object::•() {
assert(!(this.{self::Simple::name}{core::String} =={core::String::==}{(core::Object) → core::bool} (#C1)));
assert(!this.{self::Simple::name}.{core::String::==}(#C1));
}
}
class Simple2 extends core::Object /*hasConstConstructor*/ {
@ -57,7 +57,7 @@ Try removing the return type.
class A extends core::Object /*hasConstConstructor*/ {
const constructor •() → self::A
: super core::Object::•() {
assert(1 =={core::num::==}{(core::Object) → core::bool} 2);
assert(1.{core::num::==}(2));
}
}
class B extends self::A /*hasConstConstructor*/ {

View file

@ -41,7 +41,7 @@ class Simple extends core::Object /*hasConstConstructor*/ {
final field core::String name;
const constructor •(core::String name) → self::Simple
: self::Simple::name = name, super core::Object::•() {
assert(!(this.{self::Simple::name}{core::String} =={core::String::==}{(core::Object) → core::bool} (#C1)));
assert(!this.{self::Simple::name}.{core::String::==}(#C1));
}
}
class Simple2 extends core::Object /*hasConstConstructor*/ {
@ -57,7 +57,7 @@ Try removing the return type.
class A extends core::Object /*hasConstConstructor*/ {
const constructor •() → self::A
: super core::Object::•() {
assert(1 =={core::num::==}{(core::Object) → core::bool} 2);
assert(1.{core::num::==}(2));
}
}
class B extends self::A /*hasConstConstructor*/ {
@ -89,7 +89,7 @@ constants {
}
Extra constant evaluation status:
Evaluated: EqualsCall @ org-dartlang-testcase:///const_functions_const_ctor_error.dart:33:14 -> BoolConstant(false)
Evaluated: MethodInvocation @ org-dartlang-testcase:///const_functions_const_ctor_error.dart:33:14 -> BoolConstant(false)
Extra constant evaluation: evaluated: 7, effectively constant: 1

View file

@ -41,7 +41,7 @@ class Simple extends core::Object /*hasConstConstructor*/ {
final field core::String name;
const constructor •(core::String name) → self::Simple
: self::Simple::name = name, super core::Object::•() {
assert(!(this.{self::Simple::name}{core::String} =={core::String::==}{(core::Object) → core::bool} (#C1)));
assert(!this.{self::Simple::name}.{core::String::==}(#C1));
}
}
class Simple2 extends core::Object /*hasConstConstructor*/ {
@ -57,7 +57,7 @@ Try removing the return type.
class A extends core::Object /*hasConstConstructor*/ {
const constructor •() → self::A
: super core::Object::•() {
assert(1 =={core::num::==}{(core::Object) → core::bool} 2);
assert(1.{core::num::==}(2));
}
}
class B extends self::A /*hasConstConstructor*/ {

View file

@ -41,7 +41,7 @@ class Simple extends core::Object /*hasConstConstructor*/ {
final field core::String name;
const constructor •(core::String name) → self::Simple
: self::Simple::name = name, super core::Object::•() {
assert(!(this.{self::Simple::name}{core::String} =={core::String::==}{(core::Object) → core::bool} (#C1)));
assert(!this.{self::Simple::name}.{core::String::==}(#C1));
}
}
class Simple2 extends core::Object /*hasConstConstructor*/ {
@ -57,7 +57,7 @@ Try removing the return type.
class A extends core::Object /*hasConstConstructor*/ {
const constructor •() → self::A
: super core::Object::•() {
assert(1 =={core::num::==}{(core::Object) → core::bool} 2);
assert(1.{core::num::==}(2));
}
}
class B extends self::A /*hasConstConstructor*/ {
@ -89,7 +89,7 @@ constants {
}
Extra constant evaluation status:
Evaluated: EqualsCall @ org-dartlang-testcase:///const_functions_const_ctor_error.dart:33:14 -> BoolConstant(false)
Evaluated: MethodInvocation @ org-dartlang-testcase:///const_functions_const_ctor_error.dart:33:14 -> BoolConstant(false)
Extra constant evaluation: evaluated: 7, effectively constant: 1

View file

@ -13,7 +13,7 @@ class MessageType extends core::Object /*hasConstConstructor*/ {
: self::MessageType::name = name, super core::Object::•()
;
static factory parse(core::String name) → self::MessageType {
if(name =={core::String::==}{(core::Object) → core::bool} "print") {
if(name.{core::String::==}("print")) {
return #C2;
}
return #C4;

View file

@ -13,7 +13,7 @@ class MessageType extends core::Object /*hasConstConstructor*/ {
: self::MessageType::name = name, super core::Object::•()
;
static factory parse(core::String name) → self::MessageType {
if(name =={core::String::==}{(core::Object) → core::bool} "print") {
if(name.{core::String::==}("print")) {
return #C2;
}
return #C4;

View file

@ -13,7 +13,7 @@ class MessageType extends core::Object /*hasConstConstructor*/ {
: self::MessageType::name = name, super core::Object::•()
;
static factory parse(core::String name) → self::MessageType {
if(name =={core::String::==}{(core::Object) → core::bool} "print") {
if(name.{core::String::==}("print")) {
return #C2;
}
return #C4;

View file

@ -13,7 +13,7 @@ class MessageType extends core::Object /*hasConstConstructor*/ {
: self::MessageType::name = name, super core::Object::•()
;
static factory parse(core::String name) → self::MessageType {
if(name =={core::String::==}{(core::Object) → core::bool} "print") {
if(name.{core::String::==}("print")) {
return #C2;
}
return #C4;

View file

@ -12,9 +12,9 @@ static const field core::int var4 = #C4;
static method fn() → core::int {
core::int x = 0;
do {
x = x.{core::num::+}(1){(core::num) → core::int};
x = x.{core::num::+}(1);
}
while (x.{core::num::<}(2){(core::num) → core::bool})
while (x.{core::num::<}(2))
return x;
}
static method fn2(core::int a) → core::int {
@ -22,12 +22,12 @@ static method fn2(core::int a) → core::int {
core::int b = 0;
#L1:
do {
if(x.{core::num::>}(5){(core::num) → core::bool})
if(x.{core::num::>}(5))
break #L1;
x = x.{core::num::+}(a){(core::num) → core::int};
b = b.{core::num::+}(1){(core::num) → core::int};
x = x.{core::num::+}(a);
b = b.{core::num::+}(1);
}
while (b.{core::num::<}(2){(core::num) → core::bool})
while (b.{core::num::<}(2))
return x;
}
static method fn3() → core::int {
@ -36,12 +36,12 @@ static method fn3() → core::int {
do
#L2:
{
x = x.{core::num::+}(1){(core::num) → core::int};
if(x.{core::num::%}(2){(core::num) → core::int} =={core::num::==}{(core::Object) → core::bool} 1)
x = x.{core::num::+}(1);
if(x.{core::num::%}(2).{core::num::==}(1))
break #L2;
b = b.{core::num::+}(x){(core::num) → core::int};
b = b.{core::num::+}(x);
}
while (x.{core::num::<}(5){(core::num) → core::bool})
while (x.{core::num::<}(5))
return b;
}
static method main() → void {

View file

@ -12,9 +12,9 @@ static const field core::int var4 = #C4;
static method fn() → core::int {
core::int x = 0;
do {
x = x.{core::num::+}(1){(core::num) → core::int};
x = x.{core::num::+}(1);
}
while (x.{core::num::<}(2){(core::num) → core::bool})
while (x.{core::num::<}(2))
return x;
}
static method fn2(core::int a) → core::int {
@ -22,12 +22,12 @@ static method fn2(core::int a) → core::int {
core::int b = 0;
#L1:
do {
if(x.{core::num::>}(5){(core::num) → core::bool})
if(x.{core::num::>}(5))
break #L1;
x = x.{core::num::+}(a){(core::num) → core::int};
b = b.{core::num::+}(1){(core::num) → core::int};
x = x.{core::num::+}(a);
b = b.{core::num::+}(1);
}
while (b.{core::num::<}(2){(core::num) → core::bool})
while (b.{core::num::<}(2))
return x;
}
static method fn3() → core::int {
@ -36,12 +36,12 @@ static method fn3() → core::int {
do
#L2:
{
x = x.{core::num::+}(1){(core::num) → core::int};
if(x.{core::num::%}(2){(core::num) → core::int} =={core::num::==}{(core::Object) → core::bool} 1)
x = x.{core::num::+}(1);
if(x.{core::num::%}(2).{core::num::==}(1))
break #L2;
b = b.{core::num::+}(x){(core::num) → core::int};
b = b.{core::num::+}(x);
}
while (x.{core::num::<}(5){(core::num) → core::bool})
while (x.{core::num::<}(5))
return b;
}
static method main() → void {

View file

@ -12,9 +12,9 @@ static const field core::int var4 = #C4;
static method fn() → core::int {
core::int x = 0;
do {
x = x.{core::num::+}(1){(core::num) → core::int};
x = x.{core::num::+}(1);
}
while (x.{core::num::<}(2){(core::num) → core::bool})
while (x.{core::num::<}(2))
return x;
}
static method fn2(core::int a) → core::int {
@ -22,12 +22,12 @@ static method fn2(core::int a) → core::int {
core::int b = 0;
#L1:
do {
if(x.{core::num::>}(5){(core::num) → core::bool})
if(x.{core::num::>}(5))
break #L1;
x = x.{core::num::+}(a){(core::num) → core::int};
b = b.{core::num::+}(1){(core::num) → core::int};
x = x.{core::num::+}(a);
b = b.{core::num::+}(1);
}
while (b.{core::num::<}(2){(core::num) → core::bool})
while (b.{core::num::<}(2))
return x;
}
static method fn3() → core::int {
@ -36,12 +36,12 @@ static method fn3() → core::int {
do
#L2:
{
x = x.{core::num::+}(1){(core::num) → core::int};
if(x.{core::num::%}(2){(core::num) → core::int} =={core::num::==}{(core::Object) → core::bool} 1)
x = x.{core::num::+}(1);
if(x.{core::num::%}(2).{core::num::==}(1))
break #L2;
b = b.{core::num::+}(x){(core::num) → core::int};
b = b.{core::num::+}(x);
}
while (x.{core::num::<}(5){(core::num) → core::bool})
while (x.{core::num::<}(5))
return b;
}
static method main() → void {

View file

@ -12,9 +12,9 @@ static const field core::int var4 = #C4;
static method fn() → core::int {
core::int x = 0;
do {
x = x.{core::num::+}(1){(core::num) → core::int};
x = x.{core::num::+}(1);
}
while (x.{core::num::<}(2){(core::num) → core::bool})
while (x.{core::num::<}(2))
return x;
}
static method fn2(core::int a) → core::int {
@ -22,12 +22,12 @@ static method fn2(core::int a) → core::int {
core::int b = 0;
#L1:
do {
if(x.{core::num::>}(5){(core::num) → core::bool})
if(x.{core::num::>}(5))
break #L1;
x = x.{core::num::+}(a){(core::num) → core::int};
b = b.{core::num::+}(1){(core::num) → core::int};
x = x.{core::num::+}(a);
b = b.{core::num::+}(1);
}
while (b.{core::num::<}(2){(core::num) → core::bool})
while (b.{core::num::<}(2))
return x;
}
static method fn3() → core::int {
@ -36,12 +36,12 @@ static method fn3() → core::int {
do
#L2:
{
x = x.{core::num::+}(1){(core::num) → core::int};
if(x.{core::num::%}(2){(core::num) → core::int} =={core::num::==}{(core::Object) → core::bool} 1)
x = x.{core::num::+}(1);
if(x.{core::num::%}(2).{core::num::==}(1))
break #L2;
b = b.{core::num::+}(x){(core::num) → core::int};
b = b.{core::num::+}(x);
}
while (x.{core::num::<}(5){(core::num) → core::bool})
while (x.{core::num::<}(5))
return b;
}
static method main() → void {

View file

@ -17,44 +17,44 @@ static const field core::int var9 = #C7;
static const field core::int var10 = #C8;
static method fn(core::int a) → core::int {
core::int b = a;
for (core::int i = 0; i.{core::num::<}(2){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
b = b.{core::num::+}(a){(core::num) → core::int};
for (core::int i = 0; i.{core::num::<}(2); i = i.{core::num::+}(1)) {
b = b.{core::num::+}(a);
}
return b;
}
static method fn1(core::int a) → core::int {
core::int b = a;
for (core::int i = 0; ; i = i.{core::num::+}(1){(core::num) → core::int}) {
b = b.{core::num::*}(3){(core::num) → core::int};
if(b.{core::num::>}(10){(core::num) → core::bool})
for (core::int i = 0; ; i = i.{core::num::+}(1)) {
b = b.{core::num::*}(3);
if(b.{core::num::>}(10))
return b;
}
}
static method fn2() → core::int {
for (core::int i = 0, core::int j = 2; ; i = i.{core::num::+}(2){(core::num) → core::int}, j = j.{core::num::+}(1){(core::num) → core::int}) {
if(i.{core::num::+}(j){(core::num) → core::int}.{core::num::>}(10){(core::num) → core::bool}) {
return i.{core::num::+}(j){(core::num) → core::int};
for (core::int i = 0, core::int j = 2; ; i = i.{core::num::+}(2), j = j.{core::num::+}(1)) {
if(i.{core::num::+}(j).{core::num::>}(10)) {
return i.{core::num::+}(j);
}
}
}
static method fnContinue() → core::int {
core::int a = 0;
for (core::int i = 0; i.{core::num::<}(5){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
for (core::int i = 0; i.{core::num::<}(5); i = i.{core::num::+}(1))
#L1:
{
if(i.{core::num::%}(2){(core::num) → core::int} =={core::num::==}{(core::Object) → core::bool} 1)
if(i.{core::num::%}(2).{core::num::==}(1))
break #L1;
a = a.{core::num::+}(i){(core::num) → core::int};
a = a.{core::num::+}(i);
}
return a;
}
static method fnBreak(core::int a) → core::int {
core::int b = a;
#L2:
for (core::int i = 0; i.{core::num::<}(2){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
if(b =={core::num::==}{(core::Object) → core::bool} 2)
for (core::int i = 0; i.{core::num::<}(2); i = i.{core::num::+}(1)) {
if(b.{core::num::==}(2))
break #L2;
b = b.{core::num::+}(a){(core::num) → core::int};
b = b.{core::num::+}(a);
}
return b;
}

View file

@ -17,44 +17,44 @@ static const field core::int var9 = #C7;
static const field core::int var10 = #C8;
static method fn(core::int a) → core::int {
core::int b = a;
for (core::int i = 0; i.{core::num::<}(2){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
b = b.{core::num::+}(a){(core::num) → core::int};
for (core::int i = 0; i.{core::num::<}(2); i = i.{core::num::+}(1)) {
b = b.{core::num::+}(a);
}
return b;
}
static method fn1(core::int a) → core::int {
core::int b = a;
for (core::int i = 0; ; i = i.{core::num::+}(1){(core::num) → core::int}) {
b = b.{core::num::*}(3){(core::num) → core::int};
if(b.{core::num::>}(10){(core::num) → core::bool})
for (core::int i = 0; ; i = i.{core::num::+}(1)) {
b = b.{core::num::*}(3);
if(b.{core::num::>}(10))
return b;
}
}
static method fn2() → core::int {
for (core::int i = 0, core::int j = 2; ; i = i.{core::num::+}(2){(core::num) → core::int}, j = j.{core::num::+}(1){(core::num) → core::int}) {
if(i.{core::num::+}(j){(core::num) → core::int}.{core::num::>}(10){(core::num) → core::bool}) {
return i.{core::num::+}(j){(core::num) → core::int};
for (core::int i = 0, core::int j = 2; ; i = i.{core::num::+}(2), j = j.{core::num::+}(1)) {
if(i.{core::num::+}(j).{core::num::>}(10)) {
return i.{core::num::+}(j);
}
}
}
static method fnContinue() → core::int {
core::int a = 0;
for (core::int i = 0; i.{core::num::<}(5){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
for (core::int i = 0; i.{core::num::<}(5); i = i.{core::num::+}(1))
#L1:
{
if(i.{core::num::%}(2){(core::num) → core::int} =={core::num::==}{(core::Object) → core::bool} 1)
if(i.{core::num::%}(2).{core::num::==}(1))
break #L1;
a = a.{core::num::+}(i){(core::num) → core::int};
a = a.{core::num::+}(i);
}
return a;
}
static method fnBreak(core::int a) → core::int {
core::int b = a;
#L2:
for (core::int i = 0; i.{core::num::<}(2){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
if(b =={core::num::==}{(core::Object) → core::bool} 2)
for (core::int i = 0; i.{core::num::<}(2); i = i.{core::num::+}(1)) {
if(b.{core::num::==}(2))
break #L2;
b = b.{core::num::+}(a){(core::num) → core::int};
b = b.{core::num::+}(a);
}
return b;
}

View file

@ -17,44 +17,44 @@ static const field core::int var9 = #C7;
static const field core::int var10 = #C8;
static method fn(core::int a) → core::int {
core::int b = a;
for (core::int i = 0; i.{core::num::<}(2){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
b = b.{core::num::+}(a){(core::num) → core::int};
for (core::int i = 0; i.{core::num::<}(2); i = i.{core::num::+}(1)) {
b = b.{core::num::+}(a);
}
return b;
}
static method fn1(core::int a) → core::int {
core::int b = a;
for (core::int i = 0; ; i = i.{core::num::+}(1){(core::num) → core::int}) {
b = b.{core::num::*}(3){(core::num) → core::int};
if(b.{core::num::>}(10){(core::num) → core::bool})
for (core::int i = 0; ; i = i.{core::num::+}(1)) {
b = b.{core::num::*}(3);
if(b.{core::num::>}(10))
return b;
}
}
static method fn2() → core::int {
for (core::int i = 0, core::int j = 2; ; i = i.{core::num::+}(2){(core::num) → core::int}, j = j.{core::num::+}(1){(core::num) → core::int}) {
if(i.{core::num::+}(j){(core::num) → core::int}.{core::num::>}(10){(core::num) → core::bool}) {
return i.{core::num::+}(j){(core::num) → core::int};
for (core::int i = 0, core::int j = 2; ; i = i.{core::num::+}(2), j = j.{core::num::+}(1)) {
if(i.{core::num::+}(j).{core::num::>}(10)) {
return i.{core::num::+}(j);
}
}
}
static method fnContinue() → core::int {
core::int a = 0;
for (core::int i = 0; i.{core::num::<}(5){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
for (core::int i = 0; i.{core::num::<}(5); i = i.{core::num::+}(1))
#L1:
{
if(i.{core::num::%}(2){(core::num) → core::int} =={core::num::==}{(core::Object) → core::bool} 1)
if(i.{core::num::%}(2).{core::num::==}(1))
break #L1;
a = a.{core::num::+}(i){(core::num) → core::int};
a = a.{core::num::+}(i);
}
return a;
}
static method fnBreak(core::int a) → core::int {
core::int b = a;
#L2:
for (core::int i = 0; i.{core::num::<}(2){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
if(b =={core::num::==}{(core::Object) → core::bool} 2)
for (core::int i = 0; i.{core::num::<}(2); i = i.{core::num::+}(1)) {
if(b.{core::num::==}(2))
break #L2;
b = b.{core::num::+}(a){(core::num) → core::int};
b = b.{core::num::+}(a);
}
return b;
}

View file

@ -17,44 +17,44 @@ static const field core::int var9 = #C7;
static const field core::int var10 = #C8;
static method fn(core::int a) → core::int {
core::int b = a;
for (core::int i = 0; i.{core::num::<}(2){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
b = b.{core::num::+}(a){(core::num) → core::int};
for (core::int i = 0; i.{core::num::<}(2); i = i.{core::num::+}(1)) {
b = b.{core::num::+}(a);
}
return b;
}
static method fn1(core::int a) → core::int {
core::int b = a;
for (core::int i = 0; ; i = i.{core::num::+}(1){(core::num) → core::int}) {
b = b.{core::num::*}(3){(core::num) → core::int};
if(b.{core::num::>}(10){(core::num) → core::bool})
for (core::int i = 0; ; i = i.{core::num::+}(1)) {
b = b.{core::num::*}(3);
if(b.{core::num::>}(10))
return b;
}
}
static method fn2() → core::int {
for (core::int i = 0, core::int j = 2; ; i = i.{core::num::+}(2){(core::num) → core::int}, j = j.{core::num::+}(1){(core::num) → core::int}) {
if(i.{core::num::+}(j){(core::num) → core::int}.{core::num::>}(10){(core::num) → core::bool}) {
return i.{core::num::+}(j){(core::num) → core::int};
for (core::int i = 0, core::int j = 2; ; i = i.{core::num::+}(2), j = j.{core::num::+}(1)) {
if(i.{core::num::+}(j).{core::num::>}(10)) {
return i.{core::num::+}(j);
}
}
}
static method fnContinue() → core::int {
core::int a = 0;
for (core::int i = 0; i.{core::num::<}(5){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
for (core::int i = 0; i.{core::num::<}(5); i = i.{core::num::+}(1))
#L1:
{
if(i.{core::num::%}(2){(core::num) → core::int} =={core::num::==}{(core::Object) → core::bool} 1)
if(i.{core::num::%}(2).{core::num::==}(1))
break #L1;
a = a.{core::num::+}(i){(core::num) → core::int};
a = a.{core::num::+}(i);
}
return a;
}
static method fnBreak(core::int a) → core::int {
core::int b = a;
#L2:
for (core::int i = 0; i.{core::num::<}(2){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
if(b =={core::num::==}{(core::Object) → core::bool} 2)
for (core::int i = 0; i.{core::num::<}(2); i = i.{core::num::+}(1)) {
if(b.{core::num::==}(2))
break #L2;
b = b.{core::num::+}(a){(core::num) → core::int};
b = b.{core::num::+}(a);
}
return b;
}

View file

@ -17,11 +17,11 @@ static const field core::int var6_2 = #C3;
static const field core::int var7 = #C5;
static const field core::int var8 = #C6;
static method ifTest(core::int a) → core::int {
if(a =={core::num::==}{(core::Object) → core::bool} 1) {
if(a.{core::num::==}(1)) {
return 100;
}
else
if(a =={core::num::==}{(core::Object) → core::bool} 2) {
if(a.{core::num::==}(2)) {
return 200;
}
else {
@ -29,7 +29,7 @@ static method ifTest(core::int a) → core::int {
}
}
static method ifTest2(core::int a) → core::int {
if(a =={core::num::==}{(core::Object) → core::bool} (#C4)) {
if(a.{core::num::==}(#C4)) {
return 100;
}
else {
@ -37,8 +37,8 @@ static method ifTest2(core::int a) → core::int {
}
}
static method ifTest3(core::int a) → core::int {
if(a.{core::num::>}(0){(core::num) → core::bool}) {
if(a =={core::num::==}{(core::Object) → core::bool} 1)
if(a.{core::num::>}(0)) {
if(a.{core::num::==}(1))
return 100;
return 200;
}
@ -46,15 +46,15 @@ static method ifTest3(core::int a) → core::int {
}
static method ifTest4(core::int a) → core::int {
core::int b = a;
if(a =={core::num::==}{(core::Object) → core::bool} 1) {
b = b.{core::num::+}(a){(core::num) → core::int};
if(a.{core::num::%}(2){(core::num) → core::int} =={core::num::==}{(core::Object) → core::bool} 1) {
b = b.{core::num::+}(a){(core::num) → core::int};
if(a.{core::num::==}(1)) {
b = b.{core::num::+}(a);
if(a.{core::num::%}(2).{core::num::==}(1)) {
b = b.{core::num::+}(a);
}
}
else
if(a =={core::num::==}{(core::Object) → core::bool} 2) {
b = b.{core::num::-}(a){(core::num) → core::int};
if(a.{core::num::==}(2)) {
b = b.{core::num::-}(a);
}
return b;
}

View file

@ -17,11 +17,11 @@ static const field core::int var6_2 = #C3;
static const field core::int var7 = #C5;
static const field core::int var8 = #C6;
static method ifTest(core::int a) → core::int {
if(a =={core::num::==}{(core::Object) → core::bool} 1) {
if(a.{core::num::==}(1)) {
return 100;
}
else
if(a =={core::num::==}{(core::Object) → core::bool} 2) {
if(a.{core::num::==}(2)) {
return 200;
}
else {
@ -29,7 +29,7 @@ static method ifTest(core::int a) → core::int {
}
}
static method ifTest2(core::int a) → core::int {
if(a =={core::num::==}{(core::Object) → core::bool} (#C4)) {
if(a.{core::num::==}(#C4)) {
return 100;
}
else {
@ -37,8 +37,8 @@ static method ifTest2(core::int a) → core::int {
}
}
static method ifTest3(core::int a) → core::int {
if(a.{core::num::>}(0){(core::num) → core::bool}) {
if(a =={core::num::==}{(core::Object) → core::bool} 1)
if(a.{core::num::>}(0)) {
if(a.{core::num::==}(1))
return 100;
return 200;
}
@ -46,15 +46,15 @@ static method ifTest3(core::int a) → core::int {
}
static method ifTest4(core::int a) → core::int {
core::int b = a;
if(a =={core::num::==}{(core::Object) → core::bool} 1) {
b = b.{core::num::+}(a){(core::num) → core::int};
if(a.{core::num::%}(2){(core::num) → core::int} =={core::num::==}{(core::Object) → core::bool} 1) {
b = b.{core::num::+}(a){(core::num) → core::int};
if(a.{core::num::==}(1)) {
b = b.{core::num::+}(a);
if(a.{core::num::%}(2).{core::num::==}(1)) {
b = b.{core::num::+}(a);
}
}
else
if(a =={core::num::==}{(core::Object) → core::bool} 2) {
b = b.{core::num::-}(a){(core::num) → core::int};
if(a.{core::num::==}(2)) {
b = b.{core::num::-}(a);
}
return b;
}

View file

@ -17,11 +17,11 @@ static const field core::int var6_2 = #C3;
static const field core::int var7 = #C5;
static const field core::int var8 = #C6;
static method ifTest(core::int a) → core::int {
if(a =={core::num::==}{(core::Object) → core::bool} 1) {
if(a.{core::num::==}(1)) {
return 100;
}
else
if(a =={core::num::==}{(core::Object) → core::bool} 2) {
if(a.{core::num::==}(2)) {
return 200;
}
else {
@ -29,7 +29,7 @@ static method ifTest(core::int a) → core::int {
}
}
static method ifTest2(core::int a) → core::int {
if(a =={core::num::==}{(core::Object) → core::bool} (#C4)) {
if(a.{core::num::==}(#C4)) {
return 100;
}
else {
@ -37,8 +37,8 @@ static method ifTest2(core::int a) → core::int {
}
}
static method ifTest3(core::int a) → core::int {
if(a.{core::num::>}(0){(core::num) → core::bool}) {
if(a =={core::num::==}{(core::Object) → core::bool} 1)
if(a.{core::num::>}(0)) {
if(a.{core::num::==}(1))
return 100;
return 200;
}
@ -46,15 +46,15 @@ static method ifTest3(core::int a) → core::int {
}
static method ifTest4(core::int a) → core::int {
core::int b = a;
if(a =={core::num::==}{(core::Object) → core::bool} 1) {
b = b.{core::num::+}(a){(core::num) → core::int};
if(a.{core::num::%}(2){(core::num) → core::int} =={core::num::==}{(core::Object) → core::bool} 1) {
b = b.{core::num::+}(a){(core::num) → core::int};
if(a.{core::num::==}(1)) {
b = b.{core::num::+}(a);
if(a.{core::num::%}(2).{core::num::==}(1)) {
b = b.{core::num::+}(a);
}
}
else
if(a =={core::num::==}{(core::Object) → core::bool} 2) {
b = b.{core::num::-}(a){(core::num) → core::int};
if(a.{core::num::==}(2)) {
b = b.{core::num::-}(a);
}
return b;
}

View file

@ -17,11 +17,11 @@ static const field core::int var6_2 = #C3;
static const field core::int var7 = #C5;
static const field core::int var8 = #C6;
static method ifTest(core::int a) → core::int {
if(a =={core::num::==}{(core::Object) → core::bool} 1) {
if(a.{core::num::==}(1)) {
return 100;
}
else
if(a =={core::num::==}{(core::Object) → core::bool} 2) {
if(a.{core::num::==}(2)) {
return 200;
}
else {
@ -29,7 +29,7 @@ static method ifTest(core::int a) → core::int {
}
}
static method ifTest2(core::int a) → core::int {
if(a =={core::num::==}{(core::Object) → core::bool} (#C4)) {
if(a.{core::num::==}(#C4)) {
return 100;
}
else {
@ -37,8 +37,8 @@ static method ifTest2(core::int a) → core::int {
}
}
static method ifTest3(core::int a) → core::int {
if(a.{core::num::>}(0){(core::num) → core::bool}) {
if(a =={core::num::==}{(core::Object) → core::bool} 1)
if(a.{core::num::>}(0)) {
if(a.{core::num::==}(1))
return 100;
return 200;
}
@ -46,15 +46,15 @@ static method ifTest3(core::int a) → core::int {
}
static method ifTest4(core::int a) → core::int {
core::int b = a;
if(a =={core::num::==}{(core::Object) → core::bool} 1) {
b = b.{core::num::+}(a){(core::num) → core::int};
if(a.{core::num::%}(2){(core::num) → core::int} =={core::num::==}{(core::Object) → core::bool} 1) {
b = b.{core::num::+}(a){(core::num) → core::int};
if(a.{core::num::==}(1)) {
b = b.{core::num::+}(a);
if(a.{core::num::%}(2).{core::num::==}(1)) {
b = b.{core::num::+}(a);
}
}
else
if(a =={core::num::==}{(core::Object) → core::bool} 2) {
b = b.{core::num::-}(a){(core::num) → core::int};
if(a.{core::num::==}(2)) {
b = b.{core::num::-}(a);
}
return b;
}

View file

@ -29,15 +29,15 @@ static const field core::int var3 = #C2;
static const field core::int var4 = #C2;
static const field core::int var5 = #C3;
static method fn() → core::int
return (#C4).{self::A::y}{core::int};
return (#C4).{self::A::y};
static method fn2() → core::int {
self::A x = #C4;
return x.{self::A::y}{core::int};
return x.{self::A::y};
}
static method fn4() → core::int
return (#C5).{self::A::y}{core::int};
return (#C5).{self::A::y};
static method fn5() → core::int
return (#C7).{self::C::y}{core::int};
return (#C7).{self::C::y};
static method main() → void {
exp::Expect::equals(#C2, 1);
exp::Expect::equals(#C2, 1);

View file

@ -29,15 +29,15 @@ static const field core::int var3 = #C2;
static const field core::int var4 = #C2;
static const field core::int var5 = #C3;
static method fn() → core::int
return (#C4).{self::A::y}{core::int};
return (#C4).{self::A::y};
static method fn2() → core::int {
self::A x = #C4;
return x.{self::A::y}{core::int};
return x.{self::A::y};
}
static method fn4() → core::int
return (#C5).{self::A::y}{core::int};
return (#C5).{self::A::y};
static method fn5() → core::int
return (#C7).{self::C::y}{core::int};
return (#C7).{self::C::y};
static method main() → void {
exp::Expect::equals(#C2, 1);
exp::Expect::equals(#C2, 1);

View file

@ -29,15 +29,15 @@ static const field core::int var3 = #C2;
static const field core::int var4 = #C2;
static const field core::int var5 = #C3;
static method fn() → core::int
return (#C4).{self::A::y}{core::int};
return (#C4).{self::A::y};
static method fn2() → core::int {
self::A x = #C4;
return x.{self::A::y}{core::int};
return x.{self::A::y};
}
static method fn4() → core::int
return (#C5).{self::A::y}{core::int};
return (#C5).{self::A::y};
static method fn5() → core::int
return (#C7).{self::C::y}{core::int};
return (#C7).{self::C::y};
static method main() → void {
exp::Expect::equals(#C2, 1);
exp::Expect::equals(#C2, 1);

View file

@ -24,7 +24,7 @@ class C extends self::A /*hasConstConstructor*/ {
}
static const field core::int var1 = self::fn();
static const field core::int var2 = self::fn2();
static const field core::int var3 = const self::A::•(1).{self::A::y}{core::int};
static const field core::int var3 = const self::A::•(1).{self::A::y};
static const field core::int var4 = self::fn4();
static const field core::int var5 = self::fn5();
static method fn() → core::int

View file

@ -29,15 +29,15 @@ static const field core::int var3 = #C2;
static const field core::int var4 = #C2;
static const field core::int var5 = #C3;
static method fn() → core::int
return (#C4).{self::A::y}{core::int};
return (#C4).{self::A::y};
static method fn2() → core::int {
self::A x = #C4;
return x.{self::A::y}{core::int};
return x.{self::A::y};
}
static method fn4() → core::int
return (#C5).{self::A::y}{core::int};
return (#C5).{self::A::y};
static method fn5() → core::int
return (#C7).{self::C::y}{core::int};
return (#C7).{self::C::y};
static method main() → void {
exp::Expect::equals(#C2, 1);
exp::Expect::equals(#C2, 1);

View file

@ -24,7 +24,7 @@ class C extends core::Object /*hasConstConstructor*/ {
: self::C::y = y, super core::Object::•()
;
method fn() → core::int {
if(this.{self::C::y}{core::int} =={core::num::==}{(core::Object) → core::bool} 1)
if(this.{self::C::y}.{core::num::==}(1))
return 100;
return 200;
}
@ -71,26 +71,26 @@ static const field core::String fnVal5 = #C7;
static const field core::String var8 = #C7;
static const field core::String fnVal6 = #C7;
static method fn() → core::String
return (#C8).{core::Object::toString}(){() → core::String};
return (#C8).{core::Object::toString}();
static method fn2() → core::String
return (#C9).{self::B::toString}(){() → core::String};
return (#C9).{self::B::toString}();
static method fn3() → core::int
return (#C11).{self::C::fn}(){() → core::int};
return (#C11).{self::C::fn}();
static method fn4() → core::int
return (#C13).{self::C::fn}(){() → core::int};
return (#C13).{self::C::fn}();
static method fn5() → core::int
return (#C14).{self::D::fn}(){() → core::int};
return (#C14).{self::D::fn}();
static method fn6() → core::int
return (#C15).{self::C::fn}(){() → core::int};
return (#C15).{self::C::fn}();
static method fn7() → core::String
return (#C16).{self::F::fn}("string"){(core::String) → core::String};
return (#C16).{self::F::fn}("string");
static method fn8() → core::String
return (#C17).{self::F::fn}("string"){(core::String) → core::String};
return (#C17).{self::F::fn}("string");
static method main() → void {
exp::Expect::equals(#C2, (#C8).{core::Object::toString}(){() → core::String});
exp::Expect::equals(#C2, (#C8).{core::Object::toString}(){() → core::String});
exp::Expect::equals(#C3, (#C9).{self::B::toString}(){() → core::String});
exp::Expect::equals(#C3, (#C9).{self::B::toString}(){() → core::String});
exp::Expect::equals(#C2, (#C8).{core::Object::toString}());
exp::Expect::equals(#C2, (#C8).{core::Object::toString}());
exp::Expect::equals(#C3, (#C9).{self::B::toString}());
exp::Expect::equals(#C3, (#C9).{self::B::toString}());
exp::Expect::equals(#C4, 200);
exp::Expect::equals(#C5, 100);
exp::Expect::equals(#C4, 200);

View file

@ -24,7 +24,7 @@ class C extends core::Object /*hasConstConstructor*/ {
: self::C::y = y, super core::Object::•()
;
method fn() → core::int {
if(this.{self::C::y}{core::int} =={core::num::==}{(core::Object) → core::bool} 1)
if(this.{self::C::y}.{core::num::==}(1))
return 100;
return 200;
}
@ -71,26 +71,26 @@ static const field core::String fnVal5 = #C7;
static const field core::String var8 = #C7;
static const field core::String fnVal6 = #C7;
static method fn() → core::String
return (#C8).{core::Object::toString}(){() → core::String};
return (#C8).{core::Object::toString}();
static method fn2() → core::String
return (#C9).{self::B::toString}(){() → core::String};
return (#C9).{self::B::toString}();
static method fn3() → core::int
return (#C11).{self::C::fn}(){() → core::int};
return (#C11).{self::C::fn}();
static method fn4() → core::int
return (#C13).{self::C::fn}(){() → core::int};
return (#C13).{self::C::fn}();
static method fn5() → core::int
return (#C14).{self::D::fn}(){() → core::int};
return (#C14).{self::D::fn}();
static method fn6() → core::int
return (#C15).{self::C::fn}(){() → core::int};
return (#C15).{self::C::fn}();
static method fn7() → core::String
return (#C16).{self::F::fn}("string"){(core::String) → core::String};
return (#C16).{self::F::fn}("string");
static method fn8() → core::String
return (#C17).{self::F::fn}("string"){(core::String) → core::String};
return (#C17).{self::F::fn}("string");
static method main() → void {
exp::Expect::equals(#C2, (#C8).{core::Object::toString}(){() → core::String});
exp::Expect::equals(#C2, (#C8).{core::Object::toString}(){() → core::String});
exp::Expect::equals(#C3, (#C9).{self::B::toString}(){() → core::String});
exp::Expect::equals(#C3, (#C9).{self::B::toString}(){() → core::String});
exp::Expect::equals(#C2, (#C8).{core::Object::toString}());
exp::Expect::equals(#C2, (#C8).{core::Object::toString}());
exp::Expect::equals(#C3, (#C9).{self::B::toString}());
exp::Expect::equals(#C3, (#C9).{self::B::toString}());
exp::Expect::equals(#C4, 200);
exp::Expect::equals(#C5, 100);
exp::Expect::equals(#C4, 200);

View file

@ -24,7 +24,7 @@ class C extends core::Object /*hasConstConstructor*/ {
: self::C::y = y, super core::Object::•()
;
method fn() → core::int {
if(this.{self::C::y}{core::int} =={core::num::==}{(core::Object) → core::bool} 1)
if(this.{self::C::y}.{core::num::==}(1))
return 100;
return 200;
}
@ -71,26 +71,26 @@ static const field core::String fnVal5 = #C7;
static const field core::String var8 = #C7;
static const field core::String fnVal6 = #C7;
static method fn() → core::String
return (#C8).{core::Object::toString}(){() → core::String};
return (#C8).{core::Object::toString}();
static method fn2() → core::String
return (#C9).{self::B::toString}(){() → core::String};
return (#C9).{self::B::toString}();
static method fn3() → core::int
return (#C11).{self::C::fn}(){() → core::int};
return (#C11).{self::C::fn}();
static method fn4() → core::int
return (#C13).{self::C::fn}(){() → core::int};
return (#C13).{self::C::fn}();
static method fn5() → core::int
return (#C14).{self::D::fn}(){() → core::int};
return (#C14).{self::D::fn}();
static method fn6() → core::int
return (#C15).{self::C::fn}(){() → core::int};
return (#C15).{self::C::fn}();
static method fn7() → core::String
return (#C16).{self::F::fn}("string"){(core::String) → core::String};
return (#C16).{self::F::fn}("string");
static method fn8() → core::String
return (#C17).{self::F::fn}("string"){(core::String) → core::String};
return (#C17).{self::F::fn}("string");
static method main() → void {
exp::Expect::equals(#C2, (#C8).{core::Object::toString}(){() → core::String});
exp::Expect::equals(#C2, (#C8).{core::Object::toString}(){() → core::String});
exp::Expect::equals(#C3, (#C9).{self::B::toString}(){() → core::String});
exp::Expect::equals(#C3, (#C9).{self::B::toString}(){() → core::String});
exp::Expect::equals(#C2, (#C8).{core::Object::toString}());
exp::Expect::equals(#C2, (#C8).{core::Object::toString}());
exp::Expect::equals(#C3, (#C9).{self::B::toString}());
exp::Expect::equals(#C3, (#C9).{self::B::toString}());
exp::Expect::equals(#C4, 200);
exp::Expect::equals(#C5, 100);
exp::Expect::equals(#C4, 200);

View file

@ -51,21 +51,21 @@ class G<T extends core::Object? = dynamic> extends self::F<self::G::T%, core::St
;
}
static const field core::String var1 = self::fn();
static const field core::String toString1 = const self::A::•().{core::Object::toString}(){() → core::String};
static const field core::String toString1 = const self::A::•().{core::Object::toString}();
static const field core::String var2 = self::fn2();
static const field core::String toString2 = const self::B::•().{self::B::toString}(){() → core::String};
static const field core::String toString2 = const self::B::•().{self::B::toString}();
static const field core::int var3 = self::fn3();
static const field core::int var4 = self::fn4();
static const field core::int fnVal1 = const self::C::•(0).{self::C::fn}(){() → core::int};
static const field core::int fnVal2 = const self::C::•(1).{self::C::fn}(){() → core::int};
static const field core::int fnVal1 = const self::C::•(0).{self::C::fn}();
static const field core::int fnVal2 = const self::C::•(1).{self::C::fn}();
static const field core::int var5 = self::fn5();
static const field core::int fnVal3 = const self::D::•(1).{self::D::fn}(){() → core::int};
static const field core::int fnVal3 = const self::D::•(1).{self::D::fn}();
static const field core::int var6 = self::fn6();
static const field core::int fnVal4 = const self::E::•(0).{self::C::fn}(){() → core::int};
static const field core::int fnVal4 = const self::E::•(0).{self::C::fn}();
static const field core::String var7 = self::fn7();
static const field core::String fnVal5 = const self::F::•<core::int, core::String, core::num>().{self::F::fn}("string"){(core::String) → core::String};
static const field core::String fnVal5 = const self::F::•<core::int, core::String, core::num>().{self::F::fn}("string");
static const field core::String var8 = self::fn8();
static const field core::String fnVal6 = const self::G::•<core::int>().{self::F::fn}("string"){(core::String) → core::String};
static const field core::String fnVal6 = const self::G::•<core::int>().{self::F::fn}("string");
static method fn() → core::String
;
static method fn2() → core::String

View file

@ -24,7 +24,7 @@ class C extends core::Object /*hasConstConstructor*/ {
: self::C::y = y, super core::Object::•()
;
method fn() → core::int {
if(this.{self::C::y}{core::int} =={core::num::==}{(core::Object) → core::bool} 1)
if(this.{self::C::y}.{core::num::==}(1))
return 100;
return 200;
}
@ -71,26 +71,26 @@ static const field core::String fnVal5 = #C7;
static const field core::String var8 = #C7;
static const field core::String fnVal6 = #C7;
static method fn() → core::String
return (#C8).{core::Object::toString}(){() → core::String};
return (#C8).{core::Object::toString}();
static method fn2() → core::String
return (#C9).{self::B::toString}(){() → core::String};
return (#C9).{self::B::toString}();
static method fn3() → core::int
return (#C11).{self::C::fn}(){() → core::int};
return (#C11).{self::C::fn}();
static method fn4() → core::int
return (#C13).{self::C::fn}(){() → core::int};
return (#C13).{self::C::fn}();
static method fn5() → core::int
return (#C14).{self::D::fn}(){() → core::int};
return (#C14).{self::D::fn}();
static method fn6() → core::int
return (#C15).{self::C::fn}(){() → core::int};
return (#C15).{self::C::fn}();
static method fn7() → core::String
return (#C16).{self::F::fn}("string"){(core::String) → core::String};
return (#C16).{self::F::fn}("string");
static method fn8() → core::String
return (#C17).{self::F::fn}("string"){(core::String) → core::String};
return (#C17).{self::F::fn}("string");
static method main() → void {
exp::Expect::equals(#C2, (#C8).{core::Object::toString}(){() → core::String});
exp::Expect::equals(#C2, (#C8).{core::Object::toString}(){() → core::String});
exp::Expect::equals(#C3, (#C9).{self::B::toString}(){() → core::String});
exp::Expect::equals(#C3, (#C9).{self::B::toString}(){() → core::String});
exp::Expect::equals(#C2, (#C8).{core::Object::toString}());
exp::Expect::equals(#C2, (#C8).{core::Object::toString}());
exp::Expect::equals(#C3, (#C9).{self::B::toString}());
exp::Expect::equals(#C3, (#C9).{self::B::toString}());
exp::Expect::equals(#C4, 200);
exp::Expect::equals(#C5, 100);
exp::Expect::equals(#C4, 200);

View file

@ -20,11 +20,11 @@ static const field core::int rangeErrorCatchVar = #C2;
static const field core::List<core::int> mutableListVar = #C6;
static const field core::List<core::int> mutableListAddVar = #C8;
static method firstFn() → core::int {
return (#C6).{core::Iterable::first}{core::int};
return (#C6).{core::Iterable::first};
}
static method firstCatchFn() → core::int {
try {
core::int v = (#C9).{core::Iterable::first}{core::int};
core::int v = (#C9).{core::Iterable::first};
}
on core::StateError catch(no-exception-var) {
return 0;
@ -32,17 +32,17 @@ static method firstCatchFn() → core::int {
return 1;
}
static method isEmptyFn() → core::bool {
return (#C6).{core::Iterable::isEmpty}{core::bool};
return (#C6).{core::Iterable::isEmpty};
}
static method isNotEmptyFn() → core::bool {
return (#C6).{core::Iterable::isNotEmpty}{core::bool};
return (#C6).{core::Iterable::isNotEmpty};
}
static method lastFn() → core::int {
return (#C6).{core::Iterable::last}{core::int};
return (#C6).{core::Iterable::last};
}
static method lastCatchFn() → core::int {
try {
core::int v = (#C9).{core::Iterable::last}{core::int};
core::int v = (#C9).{core::Iterable::last};
}
on core::StateError catch(no-exception-var) {
return 0;
@ -50,14 +50,14 @@ static method lastCatchFn() → core::int {
return 1;
}
static method lengthFn() → core::int {
return (#C6).{core::List::length}{core::int};
return (#C6).{core::List::length};
}
static method singleFn() → core::int {
return (#C10).{core::Iterable::single}{core::int};
return (#C10).{core::Iterable::single};
}
static method singleCatchFn() → core::int {
try {
core::int v = (#C9).{core::Iterable::single}{core::int};
core::int v = (#C9).{core::Iterable::single};
}
on core::StateError catch(no-exception-var) {
return 0;
@ -66,7 +66,7 @@ static method singleCatchFn() → core::int {
}
static method singleCatchFn2() → core::int {
try {
core::int v = (#C6).{core::Iterable::single}{core::int};
core::int v = (#C6).{core::Iterable::single};
}
on core::StateError catch(no-exception-var) {
return 0;
@ -74,11 +74,11 @@ static method singleCatchFn2() → core::int {
return 1;
}
static method getWithIndexFn() → core::int {
return (#C10).{core::List::[]}(0){(core::int) → core::int};
return (#C10).{core::List::[]}(0);
}
static method rangeErrorCatchFn() → core::int {
try {
core::int v = (#C10).{core::List::[]}(1){(core::int) → core::int};
core::int v = (#C10).{core::List::[]}(1);
}
on core::RangeError catch(no-exception-var) {
return 0;
@ -91,7 +91,7 @@ static method mutableList() → core::List<core::int> {
}
static method mutableListAdd() → core::List<core::int> {
core::List<core::int> x = <core::int>[1, 2];
x.{core::List::add}(3){(core::int) → void};
x.{core::List::add}(3);
return x;
}
static method main() → void {

View file

@ -20,11 +20,11 @@ static const field core::int rangeErrorCatchVar = #C2;
static const field core::List<core::int> mutableListVar = #C6;
static const field core::List<core::int> mutableListAddVar = #C8;
static method firstFn() → core::int {
return (#C6).{core::Iterable::first}{core::int};
return (#C6).{core::Iterable::first};
}
static method firstCatchFn() → core::int {
try {
core::int v = (#C9).{core::Iterable::first}{core::int};
core::int v = (#C9).{core::Iterable::first};
}
on core::StateError catch(no-exception-var) {
return 0;
@ -32,17 +32,17 @@ static method firstCatchFn() → core::int {
return 1;
}
static method isEmptyFn() → core::bool {
return (#C6).{core::Iterable::isEmpty}{core::bool};
return (#C6).{core::Iterable::isEmpty};
}
static method isNotEmptyFn() → core::bool {
return (#C6).{core::Iterable::isNotEmpty}{core::bool};
return (#C6).{core::Iterable::isNotEmpty};
}
static method lastFn() → core::int {
return (#C6).{core::Iterable::last}{core::int};
return (#C6).{core::Iterable::last};
}
static method lastCatchFn() → core::int {
try {
core::int v = (#C9).{core::Iterable::last}{core::int};
core::int v = (#C9).{core::Iterable::last};
}
on core::StateError catch(no-exception-var) {
return 0;
@ -50,14 +50,14 @@ static method lastCatchFn() → core::int {
return 1;
}
static method lengthFn() → core::int {
return (#C6).{core::List::length}{core::int};
return (#C6).{core::List::length};
}
static method singleFn() → core::int {
return (#C10).{core::Iterable::single}{core::int};
return (#C10).{core::Iterable::single};
}
static method singleCatchFn() → core::int {
try {
core::int v = (#C9).{core::Iterable::single}{core::int};
core::int v = (#C9).{core::Iterable::single};
}
on core::StateError catch(no-exception-var) {
return 0;
@ -66,7 +66,7 @@ static method singleCatchFn() → core::int {
}
static method singleCatchFn2() → core::int {
try {
core::int v = (#C6).{core::Iterable::single}{core::int};
core::int v = (#C6).{core::Iterable::single};
}
on core::StateError catch(no-exception-var) {
return 0;
@ -74,11 +74,11 @@ static method singleCatchFn2() → core::int {
return 1;
}
static method getWithIndexFn() → core::int {
return (#C10).{core::List::[]}(0){(core::int) → core::int};
return (#C10).{core::List::[]}(0);
}
static method rangeErrorCatchFn() → core::int {
try {
core::int v = (#C10).{core::List::[]}(1){(core::int) → core::int};
core::int v = (#C10).{core::List::[]}(1);
}
on core::RangeError catch(no-exception-var) {
return 0;
@ -91,7 +91,7 @@ static method mutableList() → core::List<core::int> {
}
static method mutableListAdd() → core::List<core::int> {
core::List<core::int> x = core::_GrowableList::_literal2<core::int>(1, 2);
x.{core::List::add}(3){(core::int) → void};
x.{core::List::add}(3);
return x;
}
static method main() → void {

View file

@ -20,11 +20,11 @@ static const field core::int rangeErrorCatchVar = #C2;
static const field core::List<core::int> mutableListVar = #C6;
static const field core::List<core::int> mutableListAddVar = #C8;
static method firstFn() → core::int {
return (#C6).{core::Iterable::first}{core::int};
return (#C6).{core::Iterable::first};
}
static method firstCatchFn() → core::int {
try {
core::int v = (#C9).{core::Iterable::first}{core::int};
core::int v = (#C9).{core::Iterable::first};
}
on core::StateError catch(no-exception-var) {
return 0;
@ -32,17 +32,17 @@ static method firstCatchFn() → core::int {
return 1;
}
static method isEmptyFn() → core::bool {
return (#C6).{core::Iterable::isEmpty}{core::bool};
return (#C6).{core::Iterable::isEmpty};
}
static method isNotEmptyFn() → core::bool {
return (#C6).{core::Iterable::isNotEmpty}{core::bool};
return (#C6).{core::Iterable::isNotEmpty};
}
static method lastFn() → core::int {
return (#C6).{core::Iterable::last}{core::int};
return (#C6).{core::Iterable::last};
}
static method lastCatchFn() → core::int {
try {
core::int v = (#C9).{core::Iterable::last}{core::int};
core::int v = (#C9).{core::Iterable::last};
}
on core::StateError catch(no-exception-var) {
return 0;
@ -50,14 +50,14 @@ static method lastCatchFn() → core::int {
return 1;
}
static method lengthFn() → core::int {
return (#C6).{core::List::length}{core::int};
return (#C6).{core::List::length};
}
static method singleFn() → core::int {
return (#C10).{core::Iterable::single}{core::int};
return (#C10).{core::Iterable::single};
}
static method singleCatchFn() → core::int {
try {
core::int v = (#C9).{core::Iterable::single}{core::int};
core::int v = (#C9).{core::Iterable::single};
}
on core::StateError catch(no-exception-var) {
return 0;
@ -66,7 +66,7 @@ static method singleCatchFn() → core::int {
}
static method singleCatchFn2() → core::int {
try {
core::int v = (#C6).{core::Iterable::single}{core::int};
core::int v = (#C6).{core::Iterable::single};
}
on core::StateError catch(no-exception-var) {
return 0;
@ -74,11 +74,11 @@ static method singleCatchFn2() → core::int {
return 1;
}
static method getWithIndexFn() → core::int {
return (#C10).{core::List::[]}(0){(core::int) → core::int};
return (#C10).{core::List::[]}(0);
}
static method rangeErrorCatchFn() → core::int {
try {
core::int v = (#C10).{core::List::[]}(1){(core::int) → core::int};
core::int v = (#C10).{core::List::[]}(1);
}
on core::RangeError catch(no-exception-var) {
return 0;
@ -91,7 +91,7 @@ static method mutableList() → core::List<core::int> {
}
static method mutableListAdd() → core::List<core::int> {
core::List<core::int> x = <core::int>[1, 2];
x.{core::List::add}(3){(core::int) → void};
x.{core::List::add}(3);
return x;
}
static method main() → void {

View file

@ -20,11 +20,11 @@ static const field core::int rangeErrorCatchVar = #C2;
static const field core::List<core::int> mutableListVar = #C6;
static const field core::List<core::int> mutableListAddVar = #C8;
static method firstFn() → core::int {
return (#C6).{core::Iterable::first}{core::int};
return (#C6).{core::Iterable::first};
}
static method firstCatchFn() → core::int {
try {
core::int v = (#C9).{core::Iterable::first}{core::int};
core::int v = (#C9).{core::Iterable::first};
}
on core::StateError catch(no-exception-var) {
return 0;
@ -32,17 +32,17 @@ static method firstCatchFn() → core::int {
return 1;
}
static method isEmptyFn() → core::bool {
return (#C6).{core::Iterable::isEmpty}{core::bool};
return (#C6).{core::Iterable::isEmpty};
}
static method isNotEmptyFn() → core::bool {
return (#C6).{core::Iterable::isNotEmpty}{core::bool};
return (#C6).{core::Iterable::isNotEmpty};
}
static method lastFn() → core::int {
return (#C6).{core::Iterable::last}{core::int};
return (#C6).{core::Iterable::last};
}
static method lastCatchFn() → core::int {
try {
core::int v = (#C9).{core::Iterable::last}{core::int};
core::int v = (#C9).{core::Iterable::last};
}
on core::StateError catch(no-exception-var) {
return 0;
@ -50,14 +50,14 @@ static method lastCatchFn() → core::int {
return 1;
}
static method lengthFn() → core::int {
return (#C6).{core::List::length}{core::int};
return (#C6).{core::List::length};
}
static method singleFn() → core::int {
return (#C10).{core::Iterable::single}{core::int};
return (#C10).{core::Iterable::single};
}
static method singleCatchFn() → core::int {
try {
core::int v = (#C9).{core::Iterable::single}{core::int};
core::int v = (#C9).{core::Iterable::single};
}
on core::StateError catch(no-exception-var) {
return 0;
@ -66,7 +66,7 @@ static method singleCatchFn() → core::int {
}
static method singleCatchFn2() → core::int {
try {
core::int v = (#C6).{core::Iterable::single}{core::int};
core::int v = (#C6).{core::Iterable::single};
}
on core::StateError catch(no-exception-var) {
return 0;
@ -74,11 +74,11 @@ static method singleCatchFn2() → core::int {
return 1;
}
static method getWithIndexFn() → core::int {
return (#C10).{core::List::[]}(0){(core::int) → core::int};
return (#C10).{core::List::[]}(0);
}
static method rangeErrorCatchFn() → core::int {
try {
core::int v = (#C10).{core::List::[]}(1){(core::int) → core::int};
core::int v = (#C10).{core::List::[]}(1);
}
on core::RangeError catch(no-exception-var) {
return 0;
@ -91,7 +91,7 @@ static method mutableList() → core::List<core::int> {
}
static method mutableListAdd() → core::List<core::int> {
core::List<core::int> x = core::_GrowableList::_literal2<core::int>(1, 2);
x.{core::List::add}(3){(core::int) → void};
x.{core::List::add}(3);
return x;
}
static method main() → void {

View file

@ -82,16 +82,16 @@ static const field core::int getWithIndexException3 = invalid-expression "pkg/fr
^";
static const field core::List<core::int> constListAddException = invalid-expression "Unhandled core exception: Unsupported operation: add";
static method firstExceptionFn() → core::int {
return (#C1).{core::Iterable::first}{core::int};
return (#C1).{core::Iterable::first};
}
static method lastExceptionFn() → core::int {
return (#C1).{core::Iterable::last}{core::int};
return (#C1).{core::Iterable::last};
}
static method singleExceptionFn() → core::int {
return (#C1).{core::Iterable::single}{core::int};
return (#C1).{core::Iterable::single};
}
static method singleExceptionMultiFn() → core::int {
return (#C4).{core::Iterable::single}{core::int};
return (#C4).{core::Iterable::single};
}
static method invalidPropertyFn() → core::int {
return invalid-expression "pkg/front_end/testcases/const_functions/const_functions_list_error.dart:36:12: Error: The getter 'invalidProperty' isn't defined for the class 'List<int>'.
@ -101,18 +101,18 @@ Try correcting the name to the name of an existing getter, or defining a getter
^^^^^^^^^^^^^^^" as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
}
static method getWithIndexExceptionFn() → core::int {
return (#C5).{core::List::[]}(1){(core::int) → core::int};
return (#C5).{core::List::[]}(1);
}
static method getWithIndexExceptionFn2() → core::int {
return (#C5).{core::List::[]}(1.{core::int::unary-}(){() → core::int}){(core::int) → core::int};
return (#C5).{core::List::[]}(1.{core::int::unary-}());
}
static method getWithIndexExceptionFn3() → core::int {
return (#C5).{core::List::[]}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/const_functions/const_functions_list_error.dart:54:12: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
return x[0.1];
^" in 0.1 as{TypeError,ForNonNullableByDefault} core::int){(core::int) → core::int};
^" in 0.1 as{TypeError,ForNonNullableByDefault} core::int);
}
static method constListAddExceptionFn() → core::List<core::int> {
(#C4).{core::List::add}(3){(core::int) → void};
(#C4).{core::List::add}(3);
return #C4;
}
static method main() → void {}

View file

@ -82,16 +82,16 @@ static const field core::int getWithIndexException3 = invalid-expression "pkg/fr
^";
static const field core::List<core::int> constListAddException = invalid-expression "Unhandled core exception: Unsupported operation: add";
static method firstExceptionFn() → core::int {
return (#C1).{core::Iterable::first}{core::int};
return (#C1).{core::Iterable::first};
}
static method lastExceptionFn() → core::int {
return (#C1).{core::Iterable::last}{core::int};
return (#C1).{core::Iterable::last};
}
static method singleExceptionFn() → core::int {
return (#C1).{core::Iterable::single}{core::int};
return (#C1).{core::Iterable::single};
}
static method singleExceptionMultiFn() → core::int {
return (#C4).{core::Iterable::single}{core::int};
return (#C4).{core::Iterable::single};
}
static method invalidPropertyFn() → core::int {
return invalid-expression "pkg/front_end/testcases/const_functions/const_functions_list_error.dart:36:12: Error: The getter 'invalidProperty' isn't defined for the class 'List<int>'.
@ -101,18 +101,18 @@ Try correcting the name to the name of an existing getter, or defining a getter
^^^^^^^^^^^^^^^";
}
static method getWithIndexExceptionFn() → core::int {
return (#C5).{core::List::[]}(1){(core::int) → core::int};
return (#C5).{core::List::[]}(1);
}
static method getWithIndexExceptionFn2() → core::int {
return (#C5).{core::List::[]}(1.{core::int::unary-}(){() → core::int}){(core::int) → core::int};
return (#C5).{core::List::[]}(1.{core::int::unary-}());
}
static method getWithIndexExceptionFn3() → core::int {
return (#C5).{core::List::[]}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/const_functions/const_functions_list_error.dart:54:12: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
return x[0.1];
^" in 0.1 as{TypeError,ForNonNullableByDefault} core::int){(core::int) → core::int};
^" in 0.1 as{TypeError,ForNonNullableByDefault} core::int);
}
static method constListAddExceptionFn() → core::List<core::int> {
(#C4).{core::List::add}(3){(core::int) → void};
(#C4).{core::List::add}(3);
return #C4;
}
static method main() → void {}
@ -126,5 +126,5 @@ constants {
}
Extra constant evaluation status:
Evaluated: InstanceInvocation @ org-dartlang-testcase:///const_functions_list_error.dart:48:12 -> IntConstant(-1)
Evaluated: MethodInvocation @ org-dartlang-testcase:///const_functions_list_error.dart:48:12 -> IntConstant(-1)
Extra constant evaluation: evaluated: 11, effectively constant: 1

View file

@ -82,16 +82,16 @@ static const field core::int getWithIndexException3 = invalid-expression "pkg/fr
^";
static const field core::List<core::int> constListAddException = invalid-expression "Unhandled core exception: Unsupported operation: add";
static method firstExceptionFn() → core::int {
return (#C1).{core::Iterable::first}{core::int};
return (#C1).{core::Iterable::first};
}
static method lastExceptionFn() → core::int {
return (#C1).{core::Iterable::last}{core::int};
return (#C1).{core::Iterable::last};
}
static method singleExceptionFn() → core::int {
return (#C1).{core::Iterable::single}{core::int};
return (#C1).{core::Iterable::single};
}
static method singleExceptionMultiFn() → core::int {
return (#C4).{core::Iterable::single}{core::int};
return (#C4).{core::Iterable::single};
}
static method invalidPropertyFn() → core::int {
return invalid-expression "pkg/front_end/testcases/const_functions/const_functions_list_error.dart:36:12: Error: The getter 'invalidProperty' isn't defined for the class 'List<int>'.
@ -101,18 +101,18 @@ Try correcting the name to the name of an existing getter, or defining a getter
^^^^^^^^^^^^^^^" as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
}
static method getWithIndexExceptionFn() → core::int {
return (#C5).{core::List::[]}(1){(core::int) → core::int};
return (#C5).{core::List::[]}(1);
}
static method getWithIndexExceptionFn2() → core::int {
return (#C5).{core::List::[]}(1.{core::int::unary-}(){() → core::int}){(core::int) → core::int};
return (#C5).{core::List::[]}(1.{core::int::unary-}());
}
static method getWithIndexExceptionFn3() → core::int {
return (#C5).{core::List::[]}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/const_functions/const_functions_list_error.dart:54:12: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
return x[0.1];
^" in 0.1 as{TypeError,ForNonNullableByDefault} core::int){(core::int) → core::int};
^" in 0.1 as{TypeError,ForNonNullableByDefault} core::int);
}
static method constListAddExceptionFn() → core::List<core::int> {
(#C4).{core::List::add}(3){(core::int) → void};
(#C4).{core::List::add}(3);
return #C4;
}
static method main() → void {}

View file

@ -82,16 +82,16 @@ static const field core::int getWithIndexException3 = invalid-expression "pkg/fr
^";
static const field core::List<core::int> constListAddException = invalid-expression "Unhandled core exception: Unsupported operation: add";
static method firstExceptionFn() → core::int {
return (#C1).{core::Iterable::first}{core::int};
return (#C1).{core::Iterable::first};
}
static method lastExceptionFn() → core::int {
return (#C1).{core::Iterable::last}{core::int};
return (#C1).{core::Iterable::last};
}
static method singleExceptionFn() → core::int {
return (#C1).{core::Iterable::single}{core::int};
return (#C1).{core::Iterable::single};
}
static method singleExceptionMultiFn() → core::int {
return (#C4).{core::Iterable::single}{core::int};
return (#C4).{core::Iterable::single};
}
static method invalidPropertyFn() → core::int {
return invalid-expression "pkg/front_end/testcases/const_functions/const_functions_list_error.dart:36:12: Error: The getter 'invalidProperty' isn't defined for the class 'List<int>'.
@ -101,18 +101,18 @@ Try correcting the name to the name of an existing getter, or defining a getter
^^^^^^^^^^^^^^^";
}
static method getWithIndexExceptionFn() → core::int {
return (#C5).{core::List::[]}(1){(core::int) → core::int};
return (#C5).{core::List::[]}(1);
}
static method getWithIndexExceptionFn2() → core::int {
return (#C5).{core::List::[]}(1.{core::int::unary-}(){() → core::int}){(core::int) → core::int};
return (#C5).{core::List::[]}(1.{core::int::unary-}());
}
static method getWithIndexExceptionFn3() → core::int {
return (#C5).{core::List::[]}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/const_functions/const_functions_list_error.dart:54:12: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
return x[0.1];
^" in 0.1 as{TypeError,ForNonNullableByDefault} core::int){(core::int) → core::int};
^" in 0.1 as{TypeError,ForNonNullableByDefault} core::int);
}
static method constListAddExceptionFn() → core::List<core::int> {
(#C4).{core::List::add}(3){(core::int) → void};
(#C4).{core::List::add}(3);
return #C4;
}
static method main() → void {}
@ -126,5 +126,5 @@ constants {
}
Extra constant evaluation status:
Evaluated: InstanceInvocation @ org-dartlang-testcase:///const_functions_list_error.dart:48:12 -> IntConstant(-1)
Evaluated: MethodInvocation @ org-dartlang-testcase:///const_functions_list_error.dart:48:12 -> IntConstant(-1)
Extra constant evaluation: evaluated: 11, effectively constant: 1

View file

@ -8,24 +8,24 @@ import "package:expect/expect.dart";
static const field core::int constTwo = #C1;
static method function1() → core::int {
function add(core::int a, core::int b) → core::int
return a.{core::num::+}(b){(core::num) → core::int};
return a.{core::num::+}(b);
return #C2;
}
static method function2() → core::int {
function addTwo(core::int a) → core::int {
core::int b = a.{core::num::+}(#C1){(core::num) → core::int};
core::int b = a.{core::num::+}(#C1);
return b;
}
return #C3;
}
static method function3() → core::int {
function addTwoReturn(core::int a) → core::int
return a.{core::num::+}(#C1){(core::num) → core::int};
return a.{core::num::+}(#C1);
return #C4;
}
static method function4() → core::int {
function addTwo(core::int a) → core::int
return a.{core::num::+}(#C1){(core::num) → core::int};
return a.{core::num::+}(#C1);
return #C5;
}
static method function5() → core::int {
@ -45,8 +45,8 @@ static method function7() → core::int {
}
static method function8() → core::int {
function add(core::int a, core::int b) → core::int
return a.{core::num::+}(b){(core::num) → core::int};
return (#C1).{core::num::+}(#C4){(core::num) → core::int};
return a.{core::num::+}(b);
return (#C1).{core::num::+}(#C4);
}
static method main() → void {
exp::Expect::equals(self::function1(), 12);

View file

@ -8,24 +8,24 @@ import "package:expect/expect.dart";
static const field core::int constTwo = #C1;
static method function1() → core::int {
function add(core::int a, core::int b) → core::int
return a.{core::num::+}(b){(core::num) → core::int};
return a.{core::num::+}(b);
return #C2;
}
static method function2() → core::int {
function addTwo(core::int a) → core::int {
core::int b = a.{core::num::+}(#C1){(core::num) → core::int};
core::int b = a.{core::num::+}(#C1);
return b;
}
return #C3;
}
static method function3() → core::int {
function addTwoReturn(core::int a) → core::int
return a.{core::num::+}(#C1){(core::num) → core::int};
return a.{core::num::+}(#C1);
return #C4;
}
static method function4() → core::int {
function addTwo(core::int a) → core::int
return a.{core::num::+}(#C1){(core::num) → core::int};
return a.{core::num::+}(#C1);
return #C5;
}
static method function5() → core::int {
@ -45,8 +45,8 @@ static method function7() → core::int {
}
static method function8() → core::int {
function add(core::int a, core::int b) → core::int
return a.{core::num::+}(b){(core::num) → core::int};
return (#C1).{core::num::+}(#C4){(core::num) → core::int};
return a.{core::num::+}(b);
return (#C1).{core::num::+}(#C4);
}
static method main() → void {
exp::Expect::equals(self::function1(), 12);
@ -71,5 +71,5 @@ constants {
}
Extra constant evaluation status:
Evaluated: InstanceInvocation @ org-dartlang-testcase:///const_functions_local_functions.dart:61:16 -> IntConstant(7)
Evaluated: MethodInvocation @ org-dartlang-testcase:///const_functions_local_functions.dart:61:16 -> IntConstant(7)
Extra constant evaluation: evaluated: 33, effectively constant: 1

View file

@ -8,24 +8,24 @@ import "package:expect/expect.dart";
static const field core::int constTwo = #C1;
static method function1() → core::int {
function add(core::int a, core::int b) → core::int
return a.{core::num::+}(b){(core::num) → core::int};
return a.{core::num::+}(b);
return #C2;
}
static method function2() → core::int {
function addTwo(core::int a) → core::int {
core::int b = a.{core::num::+}(#C1){(core::num) → core::int};
core::int b = a.{core::num::+}(#C1);
return b;
}
return #C3;
}
static method function3() → core::int {
function addTwoReturn(core::int a) → core::int
return a.{core::num::+}(#C1){(core::num) → core::int};
return a.{core::num::+}(#C1);
return #C4;
}
static method function4() → core::int {
function addTwo(core::int a) → core::int
return a.{core::num::+}(#C1){(core::num) → core::int};
return a.{core::num::+}(#C1);
return #C5;
}
static method function5() → core::int {
@ -45,8 +45,8 @@ static method function7() → core::int {
}
static method function8() → core::int {
function add(core::int a, core::int b) → core::int
return a.{core::num::+}(b){(core::num) → core::int};
return (#C1).{core::num::+}(#C4){(core::num) → core::int};
return a.{core::num::+}(b);
return (#C1).{core::num::+}(#C4);
}
static method main() → void {
exp::Expect::equals(self::function1(), 12);

View file

@ -8,24 +8,24 @@ import "package:expect/expect.dart";
static const field core::int constTwo = #C1;
static method function1() → core::int {
function add(core::int a, core::int b) → core::int
return a.{core::num::+}(b){(core::num) → core::int};
return a.{core::num::+}(b);
return #C2;
}
static method function2() → core::int {
function addTwo(core::int a) → core::int {
core::int b = a.{core::num::+}(#C1){(core::num) → core::int};
core::int b = a.{core::num::+}(#C1);
return b;
}
return #C3;
}
static method function3() → core::int {
function addTwoReturn(core::int a) → core::int
return a.{core::num::+}(#C1){(core::num) → core::int};
return a.{core::num::+}(#C1);
return #C4;
}
static method function4() → core::int {
function addTwo(core::int a) → core::int
return a.{core::num::+}(#C1){(core::num) → core::int};
return a.{core::num::+}(#C1);
return #C5;
}
static method function5() → core::int {
@ -45,8 +45,8 @@ static method function7() → core::int {
}
static method function8() → core::int {
function add(core::int a, core::int b) → core::int
return a.{core::num::+}(b){(core::num) → core::int};
return (#C1).{core::num::+}(#C4){(core::num) → core::int};
return a.{core::num::+}(b);
return (#C1).{core::num::+}(#C4);
}
static method main() → void {
exp::Expect::equals(self::function1(), 12);
@ -71,5 +71,5 @@ constants {
}
Extra constant evaluation status:
Evaluated: InstanceInvocation @ org-dartlang-testcase:///const_functions_local_functions.dart:61:16 -> IntConstant(7)
Evaluated: MethodInvocation @ org-dartlang-testcase:///const_functions_local_functions.dart:61:16 -> IntConstant(7)
Extra constant evaluation: evaluated: 33, effectively constant: 1

View file

@ -14,10 +14,10 @@ static const field core::Object? var5 = #C6;
static const field core::Object? var6 = #C8;
static const field core::int? var7 = #C2;
static method fn(core::Map<core::Object, core::Object> map, core::Object key) → core::Object? {
return map.{core::Map::[]}(key){(core::Object?) → core::Object?};
return map.{core::Map::[]}(key);
}
static method fn2() → core::int? {
return (#C13).{core::Map::[]}("key"){(core::Object?) → core::int?};
return (#C13).{core::Map::[]}("key");
}
static method main() → void {
exp::Expect::equals(#C1, "val");

View file

@ -14,10 +14,10 @@ static const field core::Object? var5 = #C6;
static const field core::Object? var6 = #C8;
static const field core::int? var7 = #C2;
static method fn(core::Map<core::Object, core::Object> map, core::Object key) → core::Object? {
return map.{core::Map::[]}(key){(core::Object?) → core::Object?};
return map.{core::Map::[]}(key);
}
static method fn2() → core::int? {
return (#C13).{core::Map::[]}("key"){(core::Object?) → core::int?};
return (#C13).{core::Map::[]}("key");
}
static method main() → void {
exp::Expect::equals(#C1, "val");

View file

@ -14,10 +14,10 @@ static const field core::Object? var5 = #C6;
static const field core::Object? var6 = #C8;
static const field core::int? var7 = #C2;
static method fn(core::Map<core::Object, core::Object> map, core::Object key) → core::Object? {
return map.{core::Map::[]}(key){(core::Object?) → core::Object?};
return map.{core::Map::[]}(key);
}
static method fn2() → core::int? {
return (#C13).{core::Map::[]}("key"){(core::Object?) → core::int?};
return (#C13).{core::Map::[]}("key");
}
static method main() → void {
exp::Expect::equals(#C1, "val");

View file

@ -14,10 +14,10 @@ static const field core::Object? var5 = #C6;
static const field core::Object? var6 = #C8;
static const field core::int? var7 = #C2;
static method fn(core::Map<core::Object, core::Object> map, core::Object key) → core::Object? {
return map.{core::Map::[]}(key){(core::Object?) → core::Object?};
return map.{core::Map::[]}(key);
}
static method fn2() → core::int? {
return (#C13).{core::Map::[]}("key"){(core::Object?) → core::int?};
return (#C13).{core::Map::[]}("key");
}
static method main() → void {
exp::Expect::equals(#C1, "val");

View file

@ -7,15 +7,15 @@ import "package:expect/expect.dart";
static const field core::int b = #C1;
static method fn(core::int a) → core::int {
if(a =={core::num::==}{(core::Object) → core::bool} 1)
if(a.{core::num::==}(1))
return 1;
return a.{core::num::*}(self::fn(a.{core::num::-}(1){(core::num) → core::int})){(core::num) → core::int};
return a.{core::num::*}(self::fn(a.{core::num::-}(1)));
}
static method localTest() → core::int {
function fnLocal(core::int a) → core::int {
if(a =={core::num::==}{(core::Object) → core::bool} 1)
if(a.{core::num::==}(1))
return 1;
return a.{core::num::*}(fnLocal(a.{core::num::-}(1){(core::num) → core::int}){(core::int) → core::int}){(core::num) → core::int};
return a.{core::num::*}(fnLocal.call(a.{core::num::-}(1)));
}
return #C1;
}

View file

@ -7,15 +7,15 @@ import "package:expect/expect.dart";
static const field core::int b = #C1;
static method fn(core::int a) → core::int {
if(a =={core::num::==}{(core::Object) → core::bool} 1)
if(a.{core::num::==}(1))
return 1;
return a.{core::num::*}(self::fn(a.{core::num::-}(1){(core::num) → core::int})){(core::num) → core::int};
return a.{core::num::*}(self::fn(a.{core::num::-}(1)));
}
static method localTest() → core::int {
function fnLocal(core::int a) → core::int {
if(a =={core::num::==}{(core::Object) → core::bool} 1)
if(a.{core::num::==}(1))
return 1;
return a.{core::num::*}(fnLocal(a.{core::num::-}(1){(core::num) → core::int}){(core::int) → core::int}){(core::num) → core::int};
return a.{core::num::*}(fnLocal.call(a.{core::num::-}(1)));
}
return #C1;
}

View file

@ -7,15 +7,15 @@ import "package:expect/expect.dart";
static const field core::int b = #C1;
static method fn(core::int a) → core::int {
if(a =={core::num::==}{(core::Object) → core::bool} 1)
if(a.{core::num::==}(1))
return 1;
return a.{core::num::*}(self::fn(a.{core::num::-}(1){(core::num) → core::int})){(core::num) → core::int};
return a.{core::num::*}(self::fn(a.{core::num::-}(1)));
}
static method localTest() → core::int {
function fnLocal(core::int a) → core::int {
if(a =={core::num::==}{(core::Object) → core::bool} 1)
if(a.{core::num::==}(1))
return 1;
return a.{core::num::*}(fnLocal(a.{core::num::-}(1){(core::num) → core::int}){(core::int) → core::int}){(core::num) → core::int};
return a.{core::num::*}(fnLocal.call(a.{core::num::-}(1)));
}
return #C1;
}

View file

@ -7,15 +7,15 @@ import "package:expect/expect.dart";
static const field core::int b = #C1;
static method fn(core::int a) → core::int {
if(a =={core::num::==}{(core::Object) → core::bool} 1)
if(a.{core::num::==}(1))
return 1;
return a.{core::num::*}(self::fn(a.{core::num::-}(1){(core::num) → core::int})){(core::num) → core::int};
return a.{core::num::*}(self::fn(a.{core::num::-}(1)));
}
static method localTest() → core::int {
function fnLocal(core::int a) → core::int {
if(a =={core::num::==}{(core::Object) → core::bool} 1)
if(a.{core::num::==}(1))
return 1;
return a.{core::num::*}(fnLocal(a.{core::num::-}(1){(core::num) → core::int}){(core::int) → core::int}){(core::num) → core::int};
return a.{core::num::*}(fnLocal.call(a.{core::num::-}(1)));
}
return #C1;
}

View file

@ -19,25 +19,25 @@ static const field core::double doubleResult = #C10;
static const field core::int multi = #C2;
static const field core::int multi2 = #C3;
static method binaryFn(core::int a, core::int b) → core::int
return a.{core::num::-}(b){(core::num) → core::int};
return a.{core::num::-}(b);
static method optionalFn(core::int c, [core::int d = #C11]) → core::int
return c.{core::num::+}(d){(core::num) → core::int};
return c.{core::num::+}(d);
static method namedFn(core::int e, {core::int f = #C3}) → core::int
return e.{core::num::+}(f){(core::num) → core::int};
return e.{core::num::+}(f);
static method typeFn<T extends core::Object? = dynamic>(self::typeFn::T% x) → self::typeFn::T%
return x;
static method stringFn(core::String s) → core::String
return s.{core::String::+}("ing"){(core::String) → core::String};
return s.{core::String::+}("ing");
static method equalFn(core::int a, core::int b) → core::bool
return a =={core::num::==}{(core::Object) → core::bool} b;
return a.{core::num::==}(b);
static method unary(core::int a) → core::int
return a.{core::int::unary-}(){() → core::int};
return a.{core::int::unary-}();
static method boolFn(core::bool a, core::bool b) → core::bool
return a || b;
static method doubleFn(core::double a, core::double b) → core::double
return a.{core::double::*}(b){(core::num) → core::double};
return a.{core::double::*}(b);
static method multiFn(core::int a) → core::int
return a.{core::num::+}(1){(core::num) → core::int};
return a.{core::num::+}(1);
static method main() → void {
exp::Expect::equals(#C1, 1);
exp::Expect::equals(#C2, 2);
@ -47,7 +47,7 @@ static method main() → void {
exp::Expect::equals(#C6, 6);
exp::Expect::equals(#C7, "string");
exp::Expect::equals(#C8, true);
exp::Expect::equals(#C9, 2.{core::int::unary-}(){() → core::int});
exp::Expect::equals(#C9, 2.{core::int::unary-}());
exp::Expect::equals(#C8, true);
exp::Expect::equals(#C10, 4.4);
exp::Expect::equals(#C2, 2);

View file

@ -19,25 +19,25 @@ static const field core::double doubleResult = #C10;
static const field core::int multi = #C2;
static const field core::int multi2 = #C3;
static method binaryFn(core::int a, core::int b) → core::int
return a.{core::num::-}(b){(core::num) → core::int};
return a.{core::num::-}(b);
static method optionalFn(core::int c, [core::int d = #C11]) → core::int
return c.{core::num::+}(d){(core::num) → core::int};
return c.{core::num::+}(d);
static method namedFn(core::int e, {core::int f = #C3}) → core::int
return e.{core::num::+}(f){(core::num) → core::int};
return e.{core::num::+}(f);
static method typeFn<T extends core::Object? = dynamic>(self::typeFn::T% x) → self::typeFn::T%
return x;
static method stringFn(core::String s) → core::String
return s.{core::String::+}("ing"){(core::String) → core::String};
return s.{core::String::+}("ing");
static method equalFn(core::int a, core::int b) → core::bool
return a =={core::num::==}{(core::Object) → core::bool} b;
return a.{core::num::==}(b);
static method unary(core::int a) → core::int
return a.{core::int::unary-}(){() → core::int};
return a.{core::int::unary-}();
static method boolFn(core::bool a, core::bool b) → core::bool
return a || b;
static method doubleFn(core::double a, core::double b) → core::double
return a.{core::double::*}(b){(core::num) → core::double};
return a.{core::double::*}(b);
static method multiFn(core::int a) → core::int
return a.{core::num::+}(1){(core::num) → core::int};
return a.{core::num::+}(1);
static method main() → void {
exp::Expect::equals(#C1, 1);
exp::Expect::equals(#C2, 2);
@ -47,7 +47,7 @@ static method main() → void {
exp::Expect::equals(#C6, 6);
exp::Expect::equals(#C7, "string");
exp::Expect::equals(#C8, true);
exp::Expect::equals(#C9, 2.{core::int::unary-}(){() → core::int});
exp::Expect::equals(#C9, 2.{core::int::unary-}());
exp::Expect::equals(#C8, true);
exp::Expect::equals(#C10, 4.4);
exp::Expect::equals(#C2, 2);
@ -69,5 +69,5 @@ constants {
}
Extra constant evaluation status:
Evaluated: InstanceInvocation @ org-dartlang-testcase:///const_functions_simple_invocations.dart:51:27 -> IntConstant(-2)
Evaluated: MethodInvocation @ org-dartlang-testcase:///const_functions_simple_invocations.dart:51:27 -> IntConstant(-2)
Extra constant evaluation: evaluated: 39, effectively constant: 1

View file

@ -19,25 +19,25 @@ static const field core::double doubleResult = #C10;
static const field core::int multi = #C2;
static const field core::int multi2 = #C3;
static method binaryFn(core::int a, core::int b) → core::int
return a.{core::num::-}(b){(core::num) → core::int};
return a.{core::num::-}(b);
static method optionalFn(core::int c, [core::int d = #C11]) → core::int
return c.{core::num::+}(d){(core::num) → core::int};
return c.{core::num::+}(d);
static method namedFn(core::int e, {core::int f = #C3}) → core::int
return e.{core::num::+}(f){(core::num) → core::int};
return e.{core::num::+}(f);
static method typeFn<T extends core::Object? = dynamic>(self::typeFn::T% x) → self::typeFn::T%
return x;
static method stringFn(core::String s) → core::String
return s.{core::String::+}("ing"){(core::String) → core::String};
return s.{core::String::+}("ing");
static method equalFn(core::int a, core::int b) → core::bool
return a =={core::num::==}{(core::Object) → core::bool} b;
return a.{core::num::==}(b);
static method unary(core::int a) → core::int
return a.{core::int::unary-}(){() → core::int};
return a.{core::int::unary-}();
static method boolFn(core::bool a, core::bool b) → core::bool
return a || b;
static method doubleFn(core::double a, core::double b) → core::double
return a.{core::double::*}(b){(core::num) → core::double};
return a.{core::double::*}(b);
static method multiFn(core::int a) → core::int
return a.{core::num::+}(1){(core::num) → core::int};
return a.{core::num::+}(1);
static method main() → void {
exp::Expect::equals(#C1, 1);
exp::Expect::equals(#C2, 2);
@ -47,7 +47,7 @@ static method main() → void {
exp::Expect::equals(#C6, 6);
exp::Expect::equals(#C7, "string");
exp::Expect::equals(#C8, true);
exp::Expect::equals(#C9, 2.{core::int::unary-}(){() → core::int});
exp::Expect::equals(#C9, 2.{core::int::unary-}());
exp::Expect::equals(#C8, true);
exp::Expect::equals(#C10, 4.4);
exp::Expect::equals(#C2, 2);

View file

@ -19,25 +19,25 @@ static const field core::double doubleResult = #C10;
static const field core::int multi = #C2;
static const field core::int multi2 = #C3;
static method binaryFn(core::int a, core::int b) → core::int
return a.{core::num::-}(b){(core::num) → core::int};
return a.{core::num::-}(b);
static method optionalFn(core::int c, [core::int d = #C11]) → core::int
return c.{core::num::+}(d){(core::num) → core::int};
return c.{core::num::+}(d);
static method namedFn(core::int e, {core::int f = #C3}) → core::int
return e.{core::num::+}(f){(core::num) → core::int};
return e.{core::num::+}(f);
static method typeFn<T extends core::Object? = dynamic>(self::typeFn::T% x) → self::typeFn::T%
return x;
static method stringFn(core::String s) → core::String
return s.{core::String::+}("ing"){(core::String) → core::String};
return s.{core::String::+}("ing");
static method equalFn(core::int a, core::int b) → core::bool
return a =={core::num::==}{(core::Object) → core::bool} b;
return a.{core::num::==}(b);
static method unary(core::int a) → core::int
return a.{core::int::unary-}(){() → core::int};
return a.{core::int::unary-}();
static method boolFn(core::bool a, core::bool b) → core::bool
return a || b;
static method doubleFn(core::double a, core::double b) → core::double
return a.{core::double::*}(b){(core::num) → core::double};
return a.{core::double::*}(b);
static method multiFn(core::int a) → core::int
return a.{core::num::+}(1){(core::num) → core::int};
return a.{core::num::+}(1);
static method main() → void {
exp::Expect::equals(#C1, 1);
exp::Expect::equals(#C2, 2);
@ -47,7 +47,7 @@ static method main() → void {
exp::Expect::equals(#C6, 6);
exp::Expect::equals(#C7, "string");
exp::Expect::equals(#C8, true);
exp::Expect::equals(#C9, 2.{core::int::unary-}(){() → core::int});
exp::Expect::equals(#C9, 2.{core::int::unary-}());
exp::Expect::equals(#C8, true);
exp::Expect::equals(#C10, 4.4);
exp::Expect::equals(#C2, 2);
@ -69,5 +69,5 @@ constants {
}
Extra constant evaluation status:
Evaluated: InstanceInvocation @ org-dartlang-testcase:///const_functions_simple_invocations.dart:51:27 -> IntConstant(-2)
Evaluated: MethodInvocation @ org-dartlang-testcase:///const_functions_simple_invocations.dart:51:27 -> IntConstant(-2)
Extra constant evaluation: evaluated: 39, effectively constant: 1

View file

@ -12,11 +12,11 @@ static const field core::String var3 = #C3;
static const field dynamic var4 = #C4;
static method fn() → dynamic {
core::String local = "str";
return local.{core::String::[]}(0){(core::int) → core::String};
return local.{core::String::[]}(0);
}
static method fn2() → dynamic {
try {
core::String x = (#C1).{core::String::[]}(1.{core::int::unary-}(){() → core::int}){(core::int) → core::String};
core::String x = (#C1).{core::String::[]}(1.{core::int::unary-}());
}
on core::RangeError catch(no-exception-var) {
return 2;

View file

@ -12,11 +12,11 @@ static const field core::String var3 = #C3;
static const field dynamic var4 = #C4;
static method fn() → dynamic {
core::String local = "str";
return local.{core::String::[]}(0){(core::int) → core::String};
return local.{core::String::[]}(0);
}
static method fn2() → dynamic {
try {
core::String x = (#C1).{core::String::[]}(1.{core::int::unary-}(){() → core::int}){(core::int) → core::String};
core::String x = (#C1).{core::String::[]}(1.{core::int::unary-}());
}
on core::RangeError catch(no-exception-var) {
return 2;
@ -37,5 +37,5 @@ constants {
}
Extra constant evaluation status:
Evaluated: InstanceInvocation @ org-dartlang-testcase:///const_functions_string.dart:23:17 -> IntConstant(-1)
Evaluated: MethodInvocation @ org-dartlang-testcase:///const_functions_string.dart:23:17 -> IntConstant(-1)
Extra constant evaluation: evaluated: 8, effectively constant: 1

View file

@ -12,11 +12,11 @@ static const field core::String var3 = #C3;
static const field dynamic var4 = #C4;
static method fn() → dynamic {
core::String local = "str";
return local.{core::String::[]}(0){(core::int) → core::String};
return local.{core::String::[]}(0);
}
static method fn2() → dynamic {
try {
core::String x = (#C1).{core::String::[]}(1.{core::int::unary-}(){() → core::int}){(core::int) → core::String};
core::String x = (#C1).{core::String::[]}(1.{core::int::unary-}());
}
on core::RangeError catch(no-exception-var) {
return 2;

View file

@ -5,9 +5,9 @@ import "dart:core" as core;
import "package:expect/expect.dart";
static const field core::String str = "str";
static const field core::String var1 = self::str.{core::String::[]}(2){(core::int) → core::String};
static const field core::String var1 = self::str.{core::String::[]}(2);
static const field dynamic var2 = self::fn();
static const field core::String var3 = "str".{core::String::[]}(0){(core::int) → core::String};
static const field core::String var3 = "str".{core::String::[]}(0);
static const field dynamic var4 = self::fn2();
static method fn() → dynamic
;

View file

@ -12,11 +12,11 @@ static const field core::String var3 = #C3;
static const field dynamic var4 = #C4;
static method fn() → dynamic {
core::String local = "str";
return local.{core::String::[]}(0){(core::int) → core::String};
return local.{core::String::[]}(0);
}
static method fn2() → dynamic {
try {
core::String x = (#C1).{core::String::[]}(1.{core::int::unary-}(){() → core::int}){(core::int) → core::String};
core::String x = (#C1).{core::String::[]}(1.{core::int::unary-}());
}
on core::RangeError catch(no-exception-var) {
return 2;
@ -37,5 +37,5 @@ constants {
}
Extra constant evaluation status:
Evaluated: InstanceInvocation @ org-dartlang-testcase:///const_functions_string.dart:23:17 -> IntConstant(-1)
Evaluated: MethodInvocation @ org-dartlang-testcase:///const_functions_string.dart:23:17 -> IntConstant(-1)
Extra constant evaluation: evaluated: 8, effectively constant: 1

View file

@ -49,17 +49,17 @@ static const field dynamic var5 = invalid-expression "pkg/front_end/testcases/co
^";
static method fn() → dynamic {
core::String s = "str";
return (#C1).{core::String::[]}(1.{core::int::unary-}(){() → core::int}){(core::int) → core::String};
return (#C1).{core::String::[]}(1.{core::int::unary-}());
}
static method fn2() → dynamic {
core::String s = "str";
return (#C1).{core::String::[]}(3){(core::int) → core::String};
return (#C1).{core::String::[]}(3);
}
static method fn3() → dynamic {
core::String s = "str";
return (#C1).{core::String::[]}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/const_functions/const_functions_string_error.dart:28:14: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
return str[1.1];
^" in 1.1 as{TypeError,ForNonNullableByDefault} core::int){(core::int) → core::String};
^" in 1.1 as{TypeError,ForNonNullableByDefault} core::int);
}
static method main() → void {}

View file

@ -49,17 +49,17 @@ static const field dynamic var5 = invalid-expression "pkg/front_end/testcases/co
^";
static method fn() → dynamic {
core::String s = "str";
return (#C1).{core::String::[]}(1.{core::int::unary-}(){() → core::int}){(core::int) → core::String};
return (#C1).{core::String::[]}(1.{core::int::unary-}());
}
static method fn2() → dynamic {
core::String s = "str";
return (#C1).{core::String::[]}(3){(core::int) → core::String};
return (#C1).{core::String::[]}(3);
}
static method fn3() → dynamic {
core::String s = "str";
return (#C1).{core::String::[]}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/const_functions/const_functions_string_error.dart:28:14: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
return str[1.1];
^" in 1.1 as{TypeError,ForNonNullableByDefault} core::int){(core::int) → core::String};
^" in 1.1 as{TypeError,ForNonNullableByDefault} core::int);
}
static method main() → void {}
@ -68,5 +68,5 @@ constants {
}
Extra constant evaluation status:
Evaluated: InstanceInvocation @ org-dartlang-testcase:///const_functions_string_error.dart:16:14 -> IntConstant(-1)
Evaluated: MethodInvocation @ org-dartlang-testcase:///const_functions_string_error.dart:16:14 -> IntConstant(-1)
Extra constant evaluation: evaluated: 6, effectively constant: 1

View file

@ -49,17 +49,17 @@ static const field dynamic var5 = invalid-expression "pkg/front_end/testcases/co
^";
static method fn() → dynamic {
core::String s = "str";
return (#C1).{core::String::[]}(1.{core::int::unary-}(){() → core::int}){(core::int) → core::String};
return (#C1).{core::String::[]}(1.{core::int::unary-}());
}
static method fn2() → dynamic {
core::String s = "str";
return (#C1).{core::String::[]}(3){(core::int) → core::String};
return (#C1).{core::String::[]}(3);
}
static method fn3() → dynamic {
core::String s = "str";
return (#C1).{core::String::[]}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/const_functions/const_functions_string_error.dart:28:14: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
return str[1.1];
^" in 1.1 as{TypeError,ForNonNullableByDefault} core::int){(core::int) → core::String};
^" in 1.1 as{TypeError,ForNonNullableByDefault} core::int);
}
static method main() → void {}

View file

@ -5,8 +5,8 @@ import "dart:core" as core;
import "package:expect/expect.dart";
static const field core::String str = "str";
static const field core::String var1 = self::str.{core::String::[]}(1.{core::int::unary-}(){() → core::int}){(core::int) → core::String};
static const field core::String var2 = self::str.{core::String::[]}(3){(core::int) → core::String};
static const field core::String var1 = self::str.{core::String::[]}(1.{core::int::unary-}());
static const field core::String var2 = self::str.{core::String::[]}(3);
static const field dynamic var3 = self::fn();
static const field dynamic var4 = self::fn2();
static const field dynamic var5 = self::fn3();
@ -22,6 +22,6 @@ static method main() → void
Extra constant evaluation status:
Evaluated: StaticGet @ org-dartlang-testcase:///const_functions_string_error.dart:10:14 -> StringConstant("str")
Evaluated: InstanceInvocation @ org-dartlang-testcase:///const_functions_string_error.dart:10:18 -> IntConstant(-1)
Evaluated: MethodInvocation @ org-dartlang-testcase:///const_functions_string_error.dart:10:18 -> IntConstant(-1)
Evaluated: StaticGet @ org-dartlang-testcase:///const_functions_string_error.dart:11:14 -> StringConstant("str")
Extra constant evaluation: evaluated: 8, effectively constant: 3

View file

@ -49,17 +49,17 @@ static const field dynamic var5 = invalid-expression "pkg/front_end/testcases/co
^";
static method fn() → dynamic {
core::String s = "str";
return (#C1).{core::String::[]}(1.{core::int::unary-}(){() → core::int}){(core::int) → core::String};
return (#C1).{core::String::[]}(1.{core::int::unary-}());
}
static method fn2() → dynamic {
core::String s = "str";
return (#C1).{core::String::[]}(3){(core::int) → core::String};
return (#C1).{core::String::[]}(3);
}
static method fn3() → dynamic {
core::String s = "str";
return (#C1).{core::String::[]}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/const_functions/const_functions_string_error.dart:28:14: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
return str[1.1];
^" in 1.1 as{TypeError,ForNonNullableByDefault} core::int){(core::int) → core::String};
^" in 1.1 as{TypeError,ForNonNullableByDefault} core::int);
}
static method main() → void {}
@ -68,5 +68,5 @@ constants {
}
Extra constant evaluation status:
Evaluated: InstanceInvocation @ org-dartlang-testcase:///const_functions_string_error.dart:16:14 -> IntConstant(-1)
Evaluated: MethodInvocation @ org-dartlang-testcase:///const_functions_string_error.dart:16:14 -> IntConstant(-1)
Extra constant evaluation: evaluated: 6, effectively constant: 1

View file

@ -25,7 +25,7 @@ static method basicSwitch(core::int x) → core::int {
#L3:
default:
{
x = x.{core::num::+}(1){(core::num) → core::int};
x = x.{core::num::+}(1);
break #L1;
}
}
@ -53,7 +53,7 @@ static method continueLabelSwitch(core::int x) → core::int {
#L7:
case #C7:
{
x = x.{core::num::+}(100){(core::num) → core::int};
x = x.{core::num::+}(100);
continue #L8;
}
#L9:
@ -64,7 +64,7 @@ static method continueLabelSwitch(core::int x) → core::int {
#L8:
case #C2:
{
return x.{core::num::+}(3){(core::num) → core::int};
return x.{core::num::+}(3);
}
}
return 0;

View file

@ -25,7 +25,7 @@ static method basicSwitch(core::int x) → core::int {
#L3:
default:
{
x = x.{core::num::+}(1){(core::num) → core::int};
x = x.{core::num::+}(1);
break #L1;
}
}
@ -53,7 +53,7 @@ static method continueLabelSwitch(core::int x) → core::int {
#L7:
case #C7:
{
x = x.{core::num::+}(100){(core::num) → core::int};
x = x.{core::num::+}(100);
continue #L8;
}
#L9:
@ -64,7 +64,7 @@ static method continueLabelSwitch(core::int x) → core::int {
#L8:
case #C2:
{
return x.{core::num::+}(3){(core::num) → core::int};
return x.{core::num::+}(3);
}
}
return 0;

View file

@ -25,7 +25,7 @@ static method basicSwitch(core::int x) → core::int {
#L3:
default:
{
x = x.{core::num::+}(1){(core::num) → core::int};
x = x.{core::num::+}(1);
break #L1;
}
}
@ -53,7 +53,7 @@ static method continueLabelSwitch(core::int x) → core::int {
#L7:
case #C7:
{
x = x.{core::num::+}(100){(core::num) → core::int};
x = x.{core::num::+}(100);
continue #L8;
}
#L9:
@ -64,7 +64,7 @@ static method continueLabelSwitch(core::int x) → core::int {
#L8:
case #C2:
{
return x.{core::num::+}(3){(core::num) → core::int};
return x.{core::num::+}(3);
}
}
return 0;

View file

@ -25,7 +25,7 @@ static method basicSwitch(core::int x) → core::int {
#L3:
default:
{
x = x.{core::num::+}(1){(core::num) → core::int};
x = x.{core::num::+}(1);
break #L1;
}
}
@ -53,7 +53,7 @@ static method continueLabelSwitch(core::int x) → core::int {
#L7:
case #C7:
{
x = x.{core::num::+}(100){(core::num) → core::int};
x = x.{core::num::+}(100);
continue #L8;
}
#L9:
@ -64,7 +64,7 @@ static method continueLabelSwitch(core::int x) → core::int {
#L8:
case #C2:
{
return x.{core::num::+}(3){(core::num) → core::int};
return x.{core::num::+}(3);
}
}
return 0;

View file

@ -43,7 +43,7 @@ static method fn1(dynamic error) → core::int {
static method finallyReturn(dynamic error) → core::int {
try
try {
if(!(error =={core::Object::==}{(core::Object) → core::bool} 1))
if(!error.{core::Object::==}(1))
throw error;
}
on core::int catch(final core::int e) {
@ -58,7 +58,7 @@ static method finallyReturn(dynamic error) → core::int {
}
static method finallyReturn1(core::int x) → core::int {
try {
if(x =={core::num::==}{(core::Object) → core::bool} 1) {
if(x.{core::num::==}(1)) {
throw x;
}
else {
@ -75,7 +75,7 @@ static method finallyMutate() → core::int {
return x;
}
finally {
x = x.{core::num::+}(1){(core::num) → core::int};
x = x.{core::num::+}(1);
}
}
static method subtypeFn() → core::int {
@ -90,21 +90,21 @@ static method orderFn() → core::String {
core::String x = "st";
try
try {
x = x.{core::String::+}("ri"){(core::String) → core::String};
x = x.{core::String::+}("ri");
throw 2;
}
on core::Object catch(final core::Object e) {
x = x.{core::String::+}("n"){(core::String) → core::String};
x = x.{core::String::+}("n");
}
finally {
return x.{core::String::+}("g"){(core::String) → core::String};
return x.{core::String::+}("g");
}
}
static method notThrowStatement() → core::int {
core::int count = 0;
try {
for (core::int i = 0; i.{core::num::<}(1){(core::num) → core::bool}; throw "a") {
count = count.{core::num::+}(i){(core::num) → core::int};
for (core::int i = 0; i.{core::num::<}(1); throw "a") {
count = count.{core::num::+}(i);
}
}
on core::Object catch(final core::Object e) {

View file

@ -43,7 +43,7 @@ static method fn1(dynamic error) → core::int {
static method finallyReturn(dynamic error) → core::int {
try
try {
if(!(error =={core::Object::==}{(core::Object) → core::bool} 1))
if(!error.{core::Object::==}(1))
throw error;
}
on core::int catch(final core::int e) {
@ -58,7 +58,7 @@ static method finallyReturn(dynamic error) → core::int {
}
static method finallyReturn1(core::int x) → core::int {
try {
if(x =={core::num::==}{(core::Object) → core::bool} 1) {
if(x.{core::num::==}(1)) {
throw x;
}
else {
@ -75,7 +75,7 @@ static method finallyMutate() → core::int {
return x;
}
finally {
x = x.{core::num::+}(1){(core::num) → core::int};
x = x.{core::num::+}(1);
}
}
static method subtypeFn() → core::int {
@ -90,21 +90,21 @@ static method orderFn() → core::String {
core::String x = "st";
try
try {
x = x.{core::String::+}("ri"){(core::String) → core::String};
x = x.{core::String::+}("ri");
throw 2;
}
on core::Object catch(final core::Object e) {
x = x.{core::String::+}("n"){(core::String) → core::String};
x = x.{core::String::+}("n");
}
finally {
return x.{core::String::+}("g"){(core::String) → core::String};
return x.{core::String::+}("g");
}
}
static method notThrowStatement() → core::int {
core::int count = 0;
try {
for (core::int i = 0; i.{core::num::<}(1){(core::num) → core::bool}; throw "a") {
count = count.{core::num::+}(i){(core::num) → core::int};
for (core::int i = 0; i.{core::num::<}(1); throw "a") {
count = count.{core::num::+}(i);
}
}
on core::Object catch(final core::Object e) {

View file

@ -43,7 +43,7 @@ static method fn1(dynamic error) → core::int {
static method finallyReturn(dynamic error) → core::int {
try
try {
if(!(error =={core::Object::==}{(core::Object) → core::bool} 1))
if(!error.{core::Object::==}(1))
throw error;
}
on core::int catch(final core::int e) {
@ -58,7 +58,7 @@ static method finallyReturn(dynamic error) → core::int {
}
static method finallyReturn1(core::int x) → core::int {
try {
if(x =={core::num::==}{(core::Object) → core::bool} 1) {
if(x.{core::num::==}(1)) {
throw x;
}
else {
@ -75,7 +75,7 @@ static method finallyMutate() → core::int {
return x;
}
finally {
x = x.{core::num::+}(1){(core::num) → core::int};
x = x.{core::num::+}(1);
}
}
static method subtypeFn() → core::int {
@ -90,21 +90,21 @@ static method orderFn() → core::String {
core::String x = "st";
try
try {
x = x.{core::String::+}("ri"){(core::String) → core::String};
x = x.{core::String::+}("ri");
throw 2;
}
on core::Object catch(final core::Object e) {
x = x.{core::String::+}("n"){(core::String) → core::String};
x = x.{core::String::+}("n");
}
finally {
return x.{core::String::+}("g"){(core::String) → core::String};
return x.{core::String::+}("g");
}
}
static method notThrowStatement() → core::int {
core::int count = 0;
try {
for (core::int i = 0; i.{core::num::<}(1){(core::num) → core::bool}; throw "a") {
count = count.{core::num::+}(i){(core::num) → core::int};
for (core::int i = 0; i.{core::num::<}(1); throw "a") {
count = count.{core::num::+}(i);
}
}
on core::Object catch(final core::Object e) {

View file

@ -43,7 +43,7 @@ static method fn1(dynamic error) → core::int {
static method finallyReturn(dynamic error) → core::int {
try
try {
if(!(error =={core::Object::==}{(core::Object) → core::bool} 1))
if(!error.{core::Object::==}(1))
throw error;
}
on core::int catch(final core::int e) {
@ -58,7 +58,7 @@ static method finallyReturn(dynamic error) → core::int {
}
static method finallyReturn1(core::int x) → core::int {
try {
if(x =={core::num::==}{(core::Object) → core::bool} 1) {
if(x.{core::num::==}(1)) {
throw x;
}
else {
@ -75,7 +75,7 @@ static method finallyMutate() → core::int {
return x;
}
finally {
x = x.{core::num::+}(1){(core::num) → core::int};
x = x.{core::num::+}(1);
}
}
static method subtypeFn() → core::int {
@ -90,21 +90,21 @@ static method orderFn() → core::String {
core::String x = "st";
try
try {
x = x.{core::String::+}("ri"){(core::String) → core::String};
x = x.{core::String::+}("ri");
throw 2;
}
on core::Object catch(final core::Object e) {
x = x.{core::String::+}("n"){(core::String) → core::String};
x = x.{core::String::+}("n");
}
finally {
return x.{core::String::+}("g"){(core::String) → core::String};
return x.{core::String::+}("g");
}
}
static method notThrowStatement() → core::int {
core::int count = 0;
try {
for (core::int i = 0; i.{core::num::<}(1){(core::num) → core::bool}; throw "a") {
count = count.{core::num::+}(i){(core::num) → core::int};
for (core::int i = 0; i.{core::num::<}(1); throw "a") {
count = count.{core::num::+}(i);
}
}
on core::Object catch(final core::Object e) {

View file

@ -49,7 +49,7 @@ static const field core::int var4 = invalid-expression "Unhandled exception: \"s
static const field core::int var5 = invalid-expression "Unhandled exception: \"a\"";
static method finallyThrow(core::int x) → core::int {
try {
if(x =={core::num::==}{(core::Object) → core::bool} 1) {
if(x.{core::num::==}(1)) {
throw x;
}
else {
@ -70,8 +70,8 @@ static method unhandledThrow(dynamic x) → core::int {
}
static method unhandledThrow2() → core::int {
core::int count = 0;
for (core::int i = 0; i.{core::num::<}(1){(core::num) → core::bool}; throw "a") {
count = count.{core::num::+}(i){(core::num) → core::int};
for (core::int i = 0; i.{core::num::<}(1); throw "a") {
count = count.{core::num::+}(i);
}
return 0;
}

View file

@ -49,7 +49,7 @@ static const field core::int var4 = invalid-expression "Unhandled exception: \"s
static const field core::int var5 = invalid-expression "Unhandled exception: \"a\"";
static method finallyThrow(core::int x) → core::int {
try {
if(x =={core::num::==}{(core::Object) → core::bool} 1) {
if(x.{core::num::==}(1)) {
throw x;
}
else {
@ -70,8 +70,8 @@ static method unhandledThrow(dynamic x) → core::int {
}
static method unhandledThrow2() → core::int {
core::int count = 0;
for (core::int i = 0; i.{core::num::<}(1){(core::num) → core::bool}; throw "a") {
count = count.{core::num::+}(i){(core::num) → core::int};
for (core::int i = 0; i.{core::num::<}(1); throw "a") {
count = count.{core::num::+}(i);
}
return 0;
}

View file

@ -49,7 +49,7 @@ static const field core::int var4 = invalid-expression "Unhandled exception: \"s
static const field core::int var5 = invalid-expression "Unhandled exception: \"a\"";
static method finallyThrow(core::int x) → core::int {
try {
if(x =={core::num::==}{(core::Object) → core::bool} 1) {
if(x.{core::num::==}(1)) {
throw x;
}
else {
@ -70,8 +70,8 @@ static method unhandledThrow(dynamic x) → core::int {
}
static method unhandledThrow2() → core::int {
core::int count = 0;
for (core::int i = 0; i.{core::num::<}(1){(core::num) → core::bool}; throw "a") {
count = count.{core::num::+}(i){(core::num) → core::int};
for (core::int i = 0; i.{core::num::<}(1); throw "a") {
count = count.{core::num::+}(i);
}
return 0;
}

View file

@ -49,7 +49,7 @@ static const field core::int var4 = invalid-expression "Unhandled exception: \"s
static const field core::int var5 = invalid-expression "Unhandled exception: \"a\"";
static method finallyThrow(core::int x) → core::int {
try {
if(x =={core::num::==}{(core::Object) → core::bool} 1) {
if(x.{core::num::==}(1)) {
throw x;
}
else {
@ -70,8 +70,8 @@ static method unhandledThrow(dynamic x) → core::int {
}
static method unhandledThrow2() → core::int {
core::int count = 0;
for (core::int i = 0; i.{core::num::<}(1){(core::num) → core::bool}; throw "a") {
count = count.{core::num::+}(i){(core::num) → core::int};
for (core::int i = 0; i.{core::num::<}(1); throw "a") {
count = count.{core::num::+}(i);
}
return 0;
}

Some files were not shown because too many files have changed in this diff Show more