extension E on int {
  @constField
  static const int constField = 1;
  @constField2
  static const int constField1 = 2;
  @constField1
  static const int constField2 = 3;
  @constField
  static void staticMethod() {}
  @constField
  void instanceMethod() {}
}

main() {}
