library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/macros/augment_class.dart:8:1: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
// Try adding the name of the type of the variable or the keyword 'var'.
// augment class Class1 {}
// ^^^^^^^
//
// pkg/front_end/testcases/macros/augment_class.dart:8:1: Error: Expected ';' after this.
// augment class Class1 {}
// ^^^^^^^
//
// pkg/front_end/testcases/macros/augment_class.dart:9:1: Error: Can't have modifier 'abstract' here.
// Try removing 'abstract'.
// abstract augment class Class2 {}
// ^^^^^^^^
//
// pkg/front_end/testcases/macros/augment_class.dart:9:10: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
// Try adding the name of the type of the variable or the keyword 'var'.
// abstract augment class Class2 {}
//          ^^^^^^^
//
// pkg/front_end/testcases/macros/augment_class.dart:9:10: Error: Expected ';' after this.
// abstract augment class Class2 {}
//          ^^^^^^^
//
// pkg/front_end/testcases/macros/augment_class.dart:9:10: Error: 'augment' is already declared in this scope.
// abstract augment class Class2 {}
//          ^^^^^^^
// pkg/front_end/testcases/macros/augment_class.dart:8:1: Context: Previous declaration of 'augment'.
// augment class Class1 {}
// ^^^^^^^
//
// pkg/front_end/testcases/macros/augment_class.dart:10:1: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
// Try adding the name of the type of the variable or the keyword 'var'.
// augment class Class3 = Super with Mixin;
// ^^^^^^^
//
// pkg/front_end/testcases/macros/augment_class.dart:10:1: Error: Expected ';' after this.
// augment class Class3 = Super with Mixin;
// ^^^^^^^
//
// pkg/front_end/testcases/macros/augment_class.dart:10:1: Error: 'augment' is already declared in this scope.
// augment class Class3 = Super with Mixin;
// ^^^^^^^
// pkg/front_end/testcases/macros/augment_class.dart:9:10: Context: Previous declaration of 'augment'.
// abstract augment class Class2 {}
//          ^^^^^^^
//
// pkg/front_end/testcases/macros/augment_class.dart:11:1: Error: Can't have modifier 'abstract' here.
// Try removing 'abstract'.
// abstract augment class Class4 = Super with Mixin;
// ^^^^^^^^
//
// pkg/front_end/testcases/macros/augment_class.dart:11:10: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
// Try adding the name of the type of the variable or the keyword 'var'.
// abstract augment class Class4 = Super with Mixin;
//          ^^^^^^^
//
// pkg/front_end/testcases/macros/augment_class.dart:11:10: Error: Expected ';' after this.
// abstract augment class Class4 = Super with Mixin;
//          ^^^^^^^
//
// pkg/front_end/testcases/macros/augment_class.dart:11:10: Error: 'augment' is already declared in this scope.
// abstract augment class Class4 = Super with Mixin;
//          ^^^^^^^
// pkg/front_end/testcases/macros/augment_class.dart:10:1: Context: Previous declaration of 'augment'.
// augment class Class3 = Super with Mixin;
// ^^^^^^^
//
import self as self;
import "dart:core" as core;

class Super extends core::Object {
  synthetic constructor •() → self::Super
    : super core::Object::•()
    ;
}
abstract class Mixin extends core::Object /*isMixinDeclaration*/  {
}
class Class1 extends core::Object {
  synthetic constructor •() → self::Class1
    : super core::Object::•()
    ;
}
class Class2 extends core::Object {
  synthetic constructor •() → self::Class2
    : super core::Object::•()
    ;
}
class Class3 = self::Super with self::Mixin {
  synthetic constructor •() → self::Class3
    : super self::Super::•()
    ;
}
class Class4 = self::Super with self::Mixin {
  synthetic constructor •() → self::Class4
    : super self::Super::•()
    ;
}
static field dynamic augment;
static method main() → dynamic {}
