library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "dart:async" as asy;

static field void v1 = self::method();
static field void v2 = self::method();
static field core::List<void> l1 = <void>[self::method()];
static field core::List<void> l2 = <void>[self::method()];
static method method() → void {}
static method test(core::Iterable<void> iterable, asy::Stream<void> stream) → dynamic async /* futureValueType= dynamic */ {
  void v1 = self::method();
  void v2 = self::method();
  for (void v3 in iterable) {
  }
  for (void v4 in iterable) {
  }
  await for (void v5 in stream) {
  }
  await for (void v6 in stream) {
  }
  core::List<void> l1 = <void>[self::method()];
  core::List<void> l2 = <void>[self::method()];
}
static method main() → dynamic {}
