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 {
  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(<dynamic>["dfg"]);
}
