| 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}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| core::int* n = :sync-for-iterator.{core::Iterator::current}; |
| { |
| f = f.{core::num::*}(n); |
| } |
| } |
| } |
| 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}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final dynamic #t1 = :sync-for-iterator.{core::Iterator::current}; |
| { |
| n = #t1; |
| f = f.{core::num::*}(n as{TypeError,ForDynamic} 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}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final dynamic #t2 = :sync-for-iterator.{core::Iterator::current}; |
| { |
| self::global = #t2; |
| f = f.{core::num::*}(self::global as{TypeError,ForDynamic} core::num*) as{TypeError} core::int*; |
| } |
| } |
| } |
| return f; |
| } |
| static method main() → dynamic { |
| exp::Expect::isTrue(self::fact4().{core::Object::==}(24)); |
| exp::Expect::isTrue(self::fact5().{core::Object::==}(120)); |
| exp::Expect::isTrue(self::fact6().{core::Object::==}(720)); |
| } |