library;
import self as self;
import "dart:core" as core;

static method foo(core::int* x, core::int* y) → core::int* {
  core::int* z = x.{core::num::+}(y){(core::num*) →* core::int*};
  return z.{core::int::<<}(4){(core::int*) →* core::int*};
}
static method loop(core::List<dynamic>* xs) → void {
  core::int* _ = xs.{core::List::length}{core::int*};
  for (core::int* i = 0; i.{core::num::<}(xs.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
  }
}
static method main() → dynamic {
  self::foo(4, 5);
  self::foo(6, 7);
  self::loop(core::_GrowableList::_literal1<dynamic>("dfg"));
}
