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

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