library;
//
// Problems in library:
//
// pkg/front_end/testcases/extensions/implicit_this.dart:10:1: Error: This requires the 'extension-methods' experiment to be enabled.
// Try enabling this experiment by adding it to the command line when compiling and running.
// extension A2 on A1 {
// ^^^^^^^^^
//
// pkg/front_end/testcases/extensions/implicit_this.dart:10:17: Error: A function declaration needs an explicit list of parameters.
// Try adding a parameter list to the function declaration.
// extension A2 on A1 {
//                 ^^
//
// pkg/front_end/testcases/extensions/implicit_this.dart:10:17: Error: 'A1' is already declared in this scope.
// extension A2 on A1 {
//                 ^^
// pkg/front_end/testcases/extensions/implicit_this.dart:5:7: Context: Previous declaration of 'A1'.
// class A1 {
//       ^^
//
// pkg/front_end/testcases/extensions/implicit_this.dart:10:1: Warning: Type 'extension' not found.
// extension A2 on A1 {
// ^^^^^^^^^
//
// pkg/front_end/testcases/extensions/implicit_this.dart:10:14: Warning: Type 'on' not found.
// extension A2 on A1 {
//              ^^
//
import self as self;
import "dart:core" as core;

class A1 extends core::Object {
  field core::Object* field;
  synthetic constructor •() → self::A1*
    ;
  method method1() → void
    ;
}
static field invalid-type A2;
static method main() → dynamic
  ;
