part "duplicated_declarations_part.dart";
import 'duplicated_declarations_lib.dart' as Typedef;
import 'duplicated_declarations_lib.dart' as Typedef;
typedef Typedef = void Function();
typedef Typedef = Object Function();
import 'duplicated_declarations_lib.dart' as Typedef;
typedef void OldTypedef();
typedef Object OldTypedef();
var field = "1st";
var field = "2nd";
main() {}
main() {}
foo() {}
class C {
  C(a);
  C(a, b);
  var field = "1st";
  var field = "2nd";
  m() {}
  m() {}
  static s() {}
  static s() {}
  static f() => s;
}
class Sub extends C {
  Sub() : super(null);
  m() => super.m();
}
class C {
  C._();
}
enum Enum { Enum, a, a, b, }
enum Enum { a, b, c, }
enum AnotherEnum { a, b, c, _name, index, toString, values, }
useAnotherEnum() {}
