late ;
final int lateTopLevelField;
class Class {
  static late ;
  final int lateStaticField1;
  static late ;
  final int lateStaticField2;
  static staticMethod() { }
  late ;
  final int lateInstanceField;
  instanceMethod() { }
}
extension Extension ;
on Class (){ }
main() { }
expect(expected, actual) { }
throws(f(), String message) { }
