import 'dart:async';

Enum caseReturn1(Enum e) {}
Enum caseReturn2(Enum e) {}
Future<int?> returnAsync6() async {}
Future<int?> returnAsync7() async {}
Future returnAsync1() async {}
FutureOr<int> returnAsync3() async {}
FutureOr<int?> returnAsync4() async {}
FutureOr returnAsync2() async {}
Iterable yieldSync() sync* {}
Stream yieldAsync() async* {}
String returnExplicit() {}
String returnImplicit() {}
String returnMixed(bool b) {}
enum Enum { a, b }
localFunctions() {}
main() {}
returnAsync5() async {}
