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

import "dart:async";

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