// Unhandled errors:
//
// pkg/front_end/testcases/co19_language_metadata_syntax_t04.dart:21:1: Error: Expected '{' before this.
// class B {}
// ^^^^^
//
// pkg/front_end/testcases/co19_language_metadata_syntax_t04.dart:20:1: Error: 'A' is already declared in this scope.
// A()
// ^

library;
import self as self;
import "dart:core" as core;

class A extends core::Object {
  const constructor •() → self::A
    : super core::Object::•()
    ;
}
class B extends core::Object {
  synthetic constructor •() → self::B
    : super core::Object::•()
    ;
}
static method main() → dynamic {}
