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::==}(1)) return 1; 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::==}(1)) return 1; return a.{core::num::*}(fnLocal.call(a.{core::num::-}(1))); } return #C1; } static method main() → void { exp::Expect::equals(#C1, 24); exp::Expect::equals(self::localTest(), 24); } constants { #C1 = 24 }