library;
import self as self;
import "dart:async" as asy;
import "dart:core" as core;

static field core::List<core::String>/core::List* {other} stringList = <dynamic>["bar"];
static method asyncString() → asy::Future<core::String>/core::String* {string} async {
  return "foo";
}
static method asyncString2() → asy::Future<core::String>/core::String* {string} async {
  return self::asyncString();
}
static method syncStarString() → core::Iterable<core::String>/Null sync* {
  yield "foo";
  yield* self::syncStarString2();
  yield* self::stringList;
}
static method syncStarString2() → core::Iterable<core::String>/Null sync* {
  yield "foo";
}
static method asyncStarString() → asy::Stream<core::String>/Null async* {
  yield "foo";
  yield* self::asyncStarString2();
  yield await self::asyncString();
}
static method asyncStarString2() → asy::Stream<core::String>/Null async* {
  yield "bar";
}
static method main() → dynamic/Null async {
  core::String/core::Object* {*} str = await self::asyncString();
}
