// @dart = 2.9999
class A {
  int a = 42;
  late int ;
  b = (this.a * 2) >> 1;
  foo(late int x) {}
}
bar(late int x) {}
baz() {}
hest() async {}
fisk() async {}
class B {
  late ;
  final int x = 42;
  const B();
}
class C {
  late ;
  final int x;
  initVars() {}
}
main() {}
