Files
sdk/pkg/front_end/testcases/const_functions/const_functions_recursion.dart.weak.expect
T
Alexander Markov 88021fd67a [vm] Enable new kernel AST invocation nodes for the VM, take 2
This change was already reviewed at
https://dart-review.googlesource.com/c/sdk/+/197586.

Bugfix is in the separate change:
https://dart-review.googlesource.com/c/sdk/+/199365.

TEST=ci

Issue: https://github.com/dart-lang/sdk/issues/45340
Change-Id: I4311909e4893af53e88895512f03d3ef84c6bc5f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/199366
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2021-05-20 18:53:45 +00:00

30 lines
905 B
Plaintext

library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "package:expect/expect.dart" as exp;
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)
return 1;
return a.{core::num::*}(self::fn(a.{core::num::-}(1){(core::num) → core::int})){(core::num) → core::int};
}
static method localTest() → core::int {
function fnLocal(core::int a) → core::int {
if(a =={core::num::==}{(core::Object) → core::bool} 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 #C1;
}
static method main() → void {
exp::Expect::equals(#C1, 24);
exp::Expect::equals(self::localTest(), 24);
}
constants {
#C1 = 24
}