library;
//
// Problems in library:
//
// pkg/front_end/testcases/general/extension_methods.dart:13: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 E on C {
// ^^^^^^^^^
//
// pkg/front_end/testcases/general/extension_methods.dart:13:16: Error: A function declaration needs an explicit list of parameters.
// Try adding a parameter list to the function declaration.
// extension E on C {
//                ^
//
// pkg/front_end/testcases/general/extension_methods.dart:13:16: Error: 'C' is already declared in this scope.
// extension E on C {
//                ^
// pkg/front_end/testcases/general/extension_methods.dart:9:7: Context: Previous declaration of 'C'.
// class C {
//       ^
//
// pkg/front_end/testcases/general/extension_methods.dart:13:1: Warning: Type 'extension' not found.
// extension E on C {
// ^^^^^^^^^
//
// pkg/front_end/testcases/general/extension_methods.dart:13:13: Warning: Type 'on' not found.
// extension E on C {
//             ^^
//
import self as self;
import "dart:core" as core;

import "package:expect/expect.dart";

class C extends core::Object {
  synthetic constructor •() → self::C*
    ;
  get one() → core::int*
    ;
}
static field invalid-type E;
static method main() → dynamic
  ;
