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);
  return z.{core::int::<<}(4);
}
static method loop(core::List<dynamic> xs) → void {
  core::int _ = xs.{core::List::length};
  for (core::int i = 0; i.{core::num::<}(xs.{core::List::length}); i = i.{core::num::+}(1)) {
  }
}
static method main() → dynamic {
  self::foo(4, 5);
  self::foo(6, 7);
  self::loop(<dynamic>["dfg"]);
}
