library /*isNonNullableByDefault*/;
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"));
}
