library;
//
// Problems in library:
//
// pkg/front_end/testcases/extensions/static_access.dart:7: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 Extension on Class {
// ^^^^^^^^^
//
// pkg/front_end/testcases/extensions/static_access.dart:7:24: Error: A function declaration needs an explicit list of parameters.
// Try adding a parameter list to the function declaration.
// extension Extension on Class {
//                        ^^^^^
//
// pkg/front_end/testcases/extensions/static_access.dart:7:24: Error: 'Class' is already declared in this scope.
// extension Extension on Class {
//                        ^^^^^
// pkg/front_end/testcases/extensions/static_access.dart:5:7: Context: Previous declaration of 'Class'.
// class Class {}
//       ^^^^^
//
// pkg/front_end/testcases/extensions/static_access.dart:7:1: Warning: Type 'extension' not found.
// extension Extension on Class {
// ^^^^^^^^^
//
// pkg/front_end/testcases/extensions/static_access.dart:7:21: Warning: Type 'on' not found.
// extension Extension on Class {
//                     ^^
//
import self as self;
import "dart:core" as core;

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