library;
//
// Problems in library:
//
// pkg/front_end/testcases/general/base_class_declaration.dart:7:1: Error: The 'class-modifiers' language feature is disabled for this library.
// Try removing the `@dart=` annotation or setting the language version to 3.0 or higher.
// base class A {}
// ^^^^
// pkg/front_end/testcases/general/base_class_declaration.dart:5:1: Context: This is the annotation that opts out this library from the 'class-modifiers' language feature.
// // @dart=2.19
// ^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/base_class_declaration.dart:9:10: Error: The 'class-modifiers' language feature is disabled for this library.
// Try removing the `@dart=` annotation or setting the language version to 3.0 or higher.
// abstract base class B {}
//          ^^^^
// pkg/front_end/testcases/general/base_class_declaration.dart:5:1: Context: This is the annotation that opts out this library from the 'class-modifiers' language feature.
// // @dart=2.19
// ^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/base_class_declaration.dart:11:1: Error: The 'class-modifiers' language feature is disabled for this library.
// Try removing the `@dart=` annotation or setting the language version to 3.0 or higher.
// base mixin M {}
// ^^^^
// pkg/front_end/testcases/general/base_class_declaration.dart:5:1: Context: This is the annotation that opts out this library from the 'class-modifiers' language feature.
// // @dart=2.19
// ^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/base_class_declaration.dart:12:1: Error: The 'class-modifiers' language feature is disabled for this library.
// Try removing the `@dart=` annotation or setting the language version to 3.0 or higher.
// base class C = Object with M;
// ^^^^
// pkg/front_end/testcases/general/base_class_declaration.dart:5:1: Context: This is the annotation that opts out this library from the 'class-modifiers' language feature.
// // @dart=2.19
// ^^^^^^^^^^^^^
//
import self as self;
import "dart:core" as core;

class A extends core::Object {
  synthetic constructor •() → self::A
    : super core::Object::•()
    ;
}
abstract class B extends core::Object {
  synthetic constructor •() → self::B
    : super core::Object::•()
    ;
}
abstract class M extends core::Object /*isMixinDeclaration*/  {
}
class C = core::Object with self::M /*hasConstConstructor*/  {
  const synthetic constructor •() → self::C
    : super core::Object::•()
    ;
}
