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"]);
}
