blob: ad7b0183472e3f309f0c2626aff0b1fd6521dc65 [file] [log] [blame]
library;
import self as self;
import "dart:core" as core;
import "package:expect/expect.dart" as exp;
import "package:expect/expect.dart";
static field dynamic global;
static method fact4() dynamic {
core::int* f = 1;
{
core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal4<core::int*>(1, 2, 3, 4).{core::Iterable::iterator}{core::Iterator<core::int*>*};
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() core::bool}; ) {
core::int* n = :sync-for-iterator.{core::Iterator::current}{core::int*};
{
f = f.{core::num::*}(n){(core::num*) →* core::int*};
}
}
}
return f;
}
static method fact5() dynamic {
core::int* f = 1;
dynamic n;
{
core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::_literal5<dynamic>(1, 2, 3, 4, 5).{core::Iterable::iterator}{core::Iterator<dynamic>*};
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() core::bool}; ) {
final dynamic #t1 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
n = #t1;
f = f.{core::num::*}(n as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*} as{TypeError} core::int*;
}
}
}
return f;
}
static method fact6() dynamic {
core::int* f = 1;
{
core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::_literal6<dynamic>(1, 2, 3, 4, 5, 6).{core::Iterable::iterator}{core::Iterator<dynamic>*};
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() core::bool}; ) {
final dynamic #t2 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
self::global = #t2;
f = f.{core::num::*}(self::global as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*} as{TypeError} core::int*;
}
}
}
return f;
}
static method main() dynamic {
exp::Expect::isTrue(self::fact4() =={core::Object::==}{(core::Object*) →* core::bool*} 24);
exp::Expect::isTrue(self::fact5() =={core::Object::==}{(core::Object*) →* core::bool*} 120);
exp::Expect::isTrue(self::fact6() =={core::Object::==}{(core::Object*) →* core::bool*} 720);
}