Version 2.17.0-231.0.dev

Merge commit '988b8093e46fc059704b5d6767d498f34ba01cf9' into 'dev'
diff --git a/pkg/_fe_analyzer_shared/lib/src/parser/stack_listener.dart b/pkg/_fe_analyzer_shared/lib/src/parser/stack_listener.dart
index 4f5ad4e..a9c8bedb 100644
--- a/pkg/_fe_analyzer_shared/lib/src/parser/stack_listener.dart
+++ b/pkg/_fe_analyzer_shared/lib/src/parser/stack_listener.dart
@@ -56,6 +56,7 @@
   Initializers,
   Labels,
   Metadata,
+  MixinApplicationBuilder,
   Modifiers,
   Name,
   OperatorList,
diff --git a/pkg/front_end/lib/src/fasta/builder/mixin_application_builder.dart b/pkg/front_end/lib/src/fasta/builder/mixin_application_builder.dart
index f6d7e56..b4edd0a 100644
--- a/pkg/front_end/lib/src/fasta/builder/mixin_application_builder.dart
+++ b/pkg/front_end/lib/src/fasta/builder/mixin_application_builder.dart
@@ -4,90 +4,15 @@
 
 library fasta.mixin_application_builder;
 
-import 'package:kernel/ast.dart' show InterfaceType, Supertype, TypedefType;
-
-import '../problems.dart' show unsupported;
-import '../source/source_library_builder.dart';
-
-import 'library_builder.dart';
-import 'named_type_builder.dart';
-import 'nullability_builder.dart';
 import 'type_builder.dart';
 import 'type_variable_builder.dart';
 
-class MixinApplicationBuilder extends TypeBuilder {
-  final TypeBuilder? supertype;
+class MixinApplicationBuilder {
   final List<TypeBuilder> mixins;
-  @override
   final Uri fileUri;
-  @override
   final int charOffset;
-  Supertype? builtType;
 
   List<TypeVariableBuilder>? typeVariables;
 
-  MixinApplicationBuilder(
-      this.supertype, this.mixins, this.fileUri, this.charOffset);
-
-  @override
-  String? get name => null;
-
-  @override
-  NullabilityBuilder get nullabilityBuilder {
-    return unsupported("nullabilityBuilder", -1, null);
-  }
-
-  @override
-  String get debugName => "MixinApplicationBuilder";
-
-  @override
-  bool get isVoidType => false;
-
-  @override
-  StringBuffer printOn(StringBuffer buffer) {
-    buffer.write(supertype);
-    buffer.write(" with ");
-    bool first = true;
-    for (TypeBuilder t in mixins) {
-      if (!first) buffer.write(", ");
-      first = false;
-      t.printOn(buffer);
-    }
-    return buffer;
-  }
-
-  @override
-  InterfaceType build(LibraryBuilder library, {TypedefType? origin}) {
-    int charOffset = -1; // TODO(ahe): Provide these.
-    Uri? fileUri = null; // TODO(ahe): Provide these.
-    return unsupported("build", charOffset, fileUri);
-  }
-
-  @override
-  Supertype buildSupertype(
-      LibraryBuilder library, int charOffset, Uri fileUri) {
-    return unsupported("buildSupertype", charOffset, fileUri);
-  }
-
-  @override
-  Supertype buildMixedInType(
-      LibraryBuilder library, int charOffset, Uri fileUri) {
-    return unsupported("buildMixedInType", charOffset, fileUri);
-  }
-
-  @override
-  MixinApplicationBuilder withNullabilityBuilder(
-      NullabilityBuilder nullabilityBuilder) {
-    return unsupported("withNullabilityBuilder", -1, null);
-  }
-
-  @override
-  MixinApplicationBuilder clone(
-      List<NamedTypeBuilder> newTypes,
-      SourceLibraryBuilder contextLibrary,
-      TypeParameterScopeBuilder contextDeclaration) {
-    int charOffset = -1; // TODO(dmitryas): Provide these.
-    Uri? fileUri = null; // TODO(dmitryas): Provide these.
-    return unsupported("clone", charOffset, fileUri);
-  }
+  MixinApplicationBuilder(this.mixins, this.fileUri, this.charOffset);
 }
diff --git a/pkg/front_end/lib/src/fasta/source/outline_builder.dart b/pkg/front_end/lib/src/fasta/source/outline_builder.dart
index c12f2a1..4fdb9fc 100644
--- a/pkg/front_end/lib/src/fasta/source/outline_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/outline_builder.dart
@@ -1031,14 +1031,27 @@
   @override
   void handleRecoverClassHeader() {
     debugEvent("handleRecoverClassHeader");
+    assert(checkState(null, [
+      /* interfaces */ ValueKinds.TypeBuilderListOrNull,
+      /* mixins */ unionOfKinds([
+        ValueKinds.MixinApplicationBuilderOrNull,
+        ValueKinds.ParserRecovery,
+      ]),
+      /* supertype offset */ ValueKinds.Integer,
+      /* supertype */ unionOfKinds([
+        ValueKinds.TypeBuilderOrNull,
+        ValueKinds.ParserRecovery,
+      ]),
+    ]));
     // TODO(jensj): Possibly use these instead... E.g. "class A extend B {}"
     // will get here (because it's 'extends' with an 's') and discard the B...
     // Also Analyzer actually merges the information meaning that the two could
     // give different errors (if, say, one later assigns
     // A to a variable of type B).
     pop(NullValue.TypeBuilderList); // Interfaces.
+    pop(NullValue.MixinApplicationBuilder); // Mixin applications.
     pop(); // Supertype offset.
-    pop(); // Supertype.
+    pop(NullValue.TypeBuilder); // Supertype.
   }
 
   @override
@@ -1073,6 +1086,10 @@
     debugEvent("endClassDeclaration");
     assert(checkState(beginToken, [
       /* interfaces */ ValueKinds.TypeBuilderListOrNull,
+      /* mixins */ unionOfKinds([
+        ValueKinds.MixinApplicationBuilderOrNull,
+        ValueKinds.ParserRecovery,
+      ]),
       /* supertype offset */ ValueKinds.Integer,
       /* supertype */ unionOfKinds([
         ValueKinds.TypeBuilderOrNull,
@@ -1089,6 +1106,9 @@
 
     List<TypeBuilder>? interfaces =
         pop(NullValue.TypeBuilderList) as List<TypeBuilder>?;
+    MixinApplicationBuilder? mixinApplication =
+        nullIfParserRecovery(pop(NullValue.MixinApplicationBuilder))
+            as MixinApplicationBuilder?;
     int supertypeOffset = popCharOffset();
     TypeBuilder? supertype = nullIfParserRecovery(pop()) as TypeBuilder?;
     Token? augmentToken = pop(NullValue.Token) as Token?;
@@ -1098,8 +1118,8 @@
         pop() as List<TypeVariableBuilder>?;
     int nameOffset = popCharOffset();
     Object? name = pop();
-    if (typeVariables != null && supertype is MixinApplicationBuilder) {
-      supertype.typeVariables = typeVariables;
+    if (typeVariables != null && mixinApplication != null) {
+      mixinApplication.typeVariables = typeVariables;
     }
     List<MetadataBuilder>? metadata = pop() as List<MetadataBuilder>?;
     inAbstractClass = false;
@@ -1115,23 +1135,19 @@
 
       if (libraryBuilder.isNonNullableByDefault) {
         String classNameForErrors = "${name}";
-        TypeBuilder? supertypeForErrors = supertype is MixinApplicationBuilder
-            ? supertype.supertype
-            : supertype;
-        List<TypeBuilder>? mixins =
-            supertype is MixinApplicationBuilder ? supertype.mixins : null;
-        if (supertypeForErrors != null) {
-          if (supertypeForErrors.nullabilityBuilder.build(libraryBuilder) ==
+        if (supertype != null) {
+          if (supertype.nullabilityBuilder.build(libraryBuilder) ==
               Nullability.nullable) {
             libraryBuilder.addProblem(
                 templateNullableSuperclassError
-                    .withArguments(supertypeForErrors.fullNameForErrors),
+                    .withArguments(supertype.fullNameForErrors),
                 nameOffset,
                 classNameForErrors.length,
                 uri);
           }
         }
-        if (mixins != null) {
+        if (mixinApplication != null) {
+          List<TypeBuilder>? mixins = mixinApplication.mixins;
           for (TypeBuilder mixin in mixins) {
             if (mixin.nullabilityBuilder.build(libraryBuilder) ==
                 Nullability.nullable) {
@@ -1165,6 +1181,7 @@
           name as String,
           typeVariables,
           supertype,
+          mixinApplication,
           interfaces,
           startCharOffset,
           nameOffset,
@@ -1217,19 +1234,6 @@
     } else {
       int startOffset =
           metadata == null ? mixinToken.charOffset : metadata.first.charOffset;
-      TypeBuilder? supertype;
-      if (supertypeConstraints != null && supertypeConstraints.isNotEmpty) {
-        if (supertypeConstraints.length == 1) {
-          supertype = supertypeConstraints.first;
-        } else {
-          supertype = new MixinApplicationBuilder(
-              supertypeConstraints.first,
-              supertypeConstraints.skip(1).toList(),
-              supertypeConstraints.first.fileUri!,
-              supertypeConstraints.first.charOffset!);
-        }
-      }
-
       if (libraryBuilder.isNonNullableByDefault) {
         String classNameForErrors = "${name}";
         if (supertypeConstraints != null) {
@@ -1265,7 +1269,7 @@
           mixinDeclarationMask,
           name as String,
           typeVariables,
-          supertype,
+          supertypeConstraints,
           interfaces,
           startOffset,
           nameOffset,
@@ -1943,16 +1947,33 @@
   @override
   void handleNamedMixinApplicationWithClause(Token withKeyword) {
     debugEvent("NamedMixinApplicationWithClause");
+    assert(checkState(withKeyword, [
+      /* mixins */ unionOfKinds([
+        ValueKinds.ParserRecovery,
+        ValueKinds.TypeBuilderListOrNull,
+      ]),
+      /* supertype */ unionOfKinds([
+        ValueKinds.ParserRecovery,
+        ValueKinds.TypeBuilder,
+      ]),
+    ]));
     Object? mixins = pop();
-    Object? supertype = pop();
     if (mixins is ParserRecovery) {
       push(mixins);
-    } else if (supertype is ParserRecovery) {
-      push(supertype);
     } else {
-      push(libraryBuilder.addMixinApplication(supertype as TypeBuilder?,
+      push(libraryBuilder.addMixinApplication(
           mixins as List<TypeBuilder>, withKeyword.charOffset));
     }
+    assert(checkState(withKeyword, [
+      /* mixin application */ unionOfKinds([
+        ValueKinds.ParserRecovery,
+        ValueKinds.MixinApplicationBuilder,
+      ]),
+      /* supertype */ unionOfKinds([
+        ValueKinds.ParserRecovery,
+        ValueKinds.TypeBuilder,
+      ]),
+    ]));
   }
 
   @override
@@ -1968,9 +1989,16 @@
     debugEvent("endNamedMixinApplication");
     assert(checkState(beginToken, [
       if (implementsKeyword != null)
-        /* interfaces */ ValueKinds.TypeBuilderListOrNull,
+        /* interfaces */ unionOfKinds([
+          ValueKinds.ParserRecovery,
+          ValueKinds.TypeBuilderListOrNull,
+        ]),
       /* mixin application */ unionOfKinds([
         ValueKinds.ParserRecovery,
+        ValueKinds.MixinApplicationBuilder,
+      ]),
+      /* supertype */ unionOfKinds([
+        ValueKinds.ParserRecovery,
         ValueKinds.TypeBuilder,
       ]),
       /* augment token */ ValueKinds.TokenOrNull,
@@ -1983,8 +2011,10 @@
     ]));
 
     List<TypeBuilder>? interfaces =
-        popIfNotNull(implementsKeyword) as List<TypeBuilder>?;
+        nullIfParserRecovery(popIfNotNull(implementsKeyword))
+            as List<TypeBuilder>?;
     Object? mixinApplication = pop();
+    Object? supertype = pop();
     Token? augmentToken = pop(NullValue.Token) as Token?;
     Token? macroToken = pop(NullValue.Token) as Token?;
     int modifiers = pop() as int;
@@ -1994,7 +2024,9 @@
     Object? name = pop();
     List<MetadataBuilder>? metadata = pop() as List<MetadataBuilder>?;
     checkEmpty(beginToken.charOffset);
-    if (name is ParserRecovery || mixinApplication is ParserRecovery) {
+    if (name is ParserRecovery ||
+        supertype is ParserRecovery ||
+        mixinApplication is ParserRecovery) {
       libraryBuilder
           .endNestedDeclaration(
               TypeParameterScopeKind.namedMixinApplication, "<syntax-error>")
@@ -2004,9 +2036,8 @@
         String classNameForErrors = "${name}";
         MixinApplicationBuilder mixinApplicationBuilder =
             mixinApplication as MixinApplicationBuilder;
-        TypeBuilder? supertype = mixinApplicationBuilder.supertype;
         List<TypeBuilder> mixins = mixinApplicationBuilder.mixins;
-        if (supertype != null && supertype is! MixinApplicationBuilder) {
+        if (supertype is TypeBuilder && supertype is! MixinApplicationBuilder) {
           if (supertype.nullabilityBuilder.build(libraryBuilder) ==
               Nullability.nullable) {
             libraryBuilder.addProblem(
@@ -2050,7 +2081,8 @@
           name as String,
           typeVariables,
           modifiers,
-          mixinApplication as TypeBuilder?,
+          supertype as TypeBuilder?,
+          mixinApplication as MixinApplicationBuilder,
           interfaces,
           startCharOffset,
           charOffset,
@@ -2451,8 +2483,10 @@
 
     int endCharOffset = popCharOffset();
     int startCharOffset = popCharOffset();
-    List<TypeBuilder>? interfaces = pop() as List<TypeBuilder>?;
-    MixinApplicationBuilder? mixinBuilder = pop() as MixinApplicationBuilder?;
+    List<TypeBuilder>? interfaces =
+        nullIfParserRecovery(pop()) as List<TypeBuilder>?;
+    MixinApplicationBuilder? mixinBuilder =
+        nullIfParserRecovery(pop()) as MixinApplicationBuilder?;
     List<TypeVariableBuilder>? typeVariables =
         pop() as List<TypeVariableBuilder>?;
     int charOffset = popCharOffset(); // identifier char offset.
@@ -3289,27 +3323,71 @@
   @override
   void handleClassWithClause(Token withKeyword) {
     debugEvent("ClassWithClause");
+    assert(checkState(withKeyword, [
+      /* mixins */ unionOfKinds([
+        ValueKinds.TypeBuilderList,
+        ValueKinds.ParserRecovery,
+      ]),
+      /* supertype offset */ ValueKinds.Integer,
+      /* supertype */ unionOfKinds([
+        ValueKinds.TypeBuilderOrNull,
+        ValueKinds.ParserRecovery,
+      ]),
+    ]));
 
     Object? mixins = pop();
     int extendsOffset = popCharOffset();
-    Object? supertype = pop();
+    Object? supertype = peek();
+    push(extendsOffset);
     if (supertype is ParserRecovery || mixins is ParserRecovery) {
       push(new ParserRecovery(withKeyword.charOffset));
     } else {
-      push(libraryBuilder.addMixinApplication(supertype as TypeBuilder?,
+      push(libraryBuilder.addMixinApplication(
           mixins as List<TypeBuilder>, withKeyword.charOffset));
     }
-    push(extendsOffset);
+    assert(checkState(withKeyword, [
+      /* mixins */ unionOfKinds([
+        ValueKinds.MixinApplicationBuilderOrNull,
+        ValueKinds.ParserRecovery,
+      ]),
+      /* supertype offset */ ValueKinds.Integer,
+      /* supertype */ unionOfKinds([
+        ValueKinds.TypeBuilderOrNull,
+        ValueKinds.ParserRecovery,
+      ]),
+    ]));
   }
 
   @override
   void handleClassNoWithClause() {
     debugEvent("ClassNoWithClause");
+    assert(checkState(null, [
+      /* supertype offset */ ValueKinds.Integer,
+      /* supertype */ unionOfKinds([
+        ValueKinds.TypeBuilderOrNull,
+        ValueKinds.ParserRecovery,
+      ]),
+    ]));
+    push(NullValue.MixinApplicationBuilder);
+    assert(checkState(null, [
+      /* mixins */ ValueKinds.MixinApplicationBuilderOrNull,
+      /* supertype offset */ ValueKinds.Integer,
+      /* supertype */ unionOfKinds([
+        ValueKinds.TypeBuilderOrNull,
+        ValueKinds.ParserRecovery,
+      ]),
+    ]));
   }
 
   @override
   void handleEnumWithClause(Token withKeyword) {
     debugEvent("EnumWithClause");
+    assert(checkState(withKeyword, [
+      /* mixins */ unionOfKinds([
+        ValueKinds.TypeBuilderListOrNull,
+        ValueKinds.ParserRecovery,
+      ]),
+    ]));
 
     if (!libraryBuilder.enableEnhancedEnumsInLibrary) {
       addProblem(
@@ -3324,16 +3402,20 @@
       push(new ParserRecovery(withKeyword.charOffset));
     } else {
       push(libraryBuilder.addMixinApplication(
-          libraryBuilder.loader.target.underscoreEnumType,
-          mixins as List<TypeBuilder>,
-          withKeyword.charOffset));
+          mixins as List<TypeBuilder>, withKeyword.charOffset));
     }
+    assert(checkState(withKeyword, [
+      /* mixins */ unionOfKinds([
+        ValueKinds.MixinApplicationBuilderOrNull,
+        ValueKinds.ParserRecovery,
+      ]),
+    ]));
   }
 
   @override
   void handleEnumNoWithClause() {
     debugEvent("EnumNoWithClause");
-    push(NullValue.TypeBuilder);
+    push(NullValue.MixinApplicationBuilder);
   }
 
   @override
diff --git a/pkg/front_end/lib/src/fasta/source/source_library_builder.dart b/pkg/front_end/lib/src/fasta/source/source_library_builder.dart
index fe81c38..b11228e 100644
--- a/pkg/front_end/lib/src/fasta/source/source_library_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_library_builder.dart
@@ -1669,9 +1669,9 @@
         instanceTypeVariableAccess: instanceTypeVariableAccess));
   }
 
-  TypeBuilder addMixinApplication(
-      TypeBuilder? supertype, List<TypeBuilder> mixins, int charOffset) {
-    return new MixinApplicationBuilder(supertype, mixins, fileUri, charOffset);
+  MixinApplicationBuilder addMixinApplication(
+      List<TypeBuilder> mixins, int charOffset) {
+    return new MixinApplicationBuilder(mixins, fileUri, charOffset);
   }
 
   TypeBuilder addVoidType(int charOffset) {
@@ -1778,6 +1778,7 @@
       String className,
       List<TypeVariableBuilder>? typeVariables,
       TypeBuilder? supertype,
+      MixinApplicationBuilder? mixins,
       List<TypeBuilder>? interfaces,
       int startOffset,
       int nameOffset,
@@ -1792,6 +1793,7 @@
         className,
         typeVariables,
         supertype,
+        mixins,
         interfaces,
         startOffset,
         nameOffset,
@@ -1806,13 +1808,24 @@
       int modifiers,
       String className,
       List<TypeVariableBuilder>? typeVariables,
-      TypeBuilder? supertype,
+      List<TypeBuilder>? supertypeConstraints,
       List<TypeBuilder>? interfaces,
       int startOffset,
       int nameOffset,
       int endOffset,
       int supertypeOffset,
       {required bool isAugmentation}) {
+    TypeBuilder? supertype;
+    MixinApplicationBuilder? mixinApplication;
+    if (supertypeConstraints != null && supertypeConstraints.isNotEmpty) {
+      supertype = supertypeConstraints.first;
+      if (supertypeConstraints.length > 1) {
+        mixinApplication = new MixinApplicationBuilder(
+            supertypeConstraints.skip(1).toList(),
+            supertype.fileUri!,
+            supertype.charOffset!);
+      }
+    }
     _addClass(
         TypeParameterScopeKind.mixinDeclaration,
         metadata,
@@ -1820,6 +1833,7 @@
         className,
         typeVariables,
         supertype,
+        mixinApplication,
         interfaces,
         startOffset,
         nameOffset,
@@ -1836,6 +1850,7 @@
       String className,
       List<TypeVariableBuilder>? typeVariables,
       TypeBuilder? supertype,
+      MixinApplicationBuilder? mixins,
       List<TypeBuilder>? interfaces,
       int startOffset,
       int nameOffset,
@@ -1878,8 +1893,8 @@
         modifiers,
         className,
         typeVariables,
-        applyMixins(supertype, startOffset, nameOffset, endOffset, className,
-            isMixinDeclaration,
+        applyMixins(supertype, mixins, startOffset, nameOffset, endOffset,
+            className, isMixinDeclaration,
             typeVariables: typeVariables,
             isMacro: false,
             // TODO(johnniwinther): How can we support class with mixins?
@@ -2148,7 +2163,8 @@
   }
 
   TypeBuilder? applyMixins(
-      TypeBuilder? type,
+      TypeBuilder? supertype,
+      MixinApplicationBuilder? mixinApplications,
       int startCharOffset,
       int charOffset,
       int charEndOffset,
@@ -2171,7 +2187,7 @@
             "interfaces", "unnamed mixin application", charOffset, fileUri);
       }
     }
-    if (type is MixinApplicationBuilder) {
+    if (mixinApplications != null) {
       // Documentation below assumes the given mixin application is in one of
       // these forms:
       //
@@ -2188,7 +2204,7 @@
       /// 1. `S with M1`.
       /// 2. `(S with M1) with M2`.
       /// 3. `((S with M1) with M2) with M3`.
-      TypeBuilder supertype = type.supertype ?? loader.target.objectType;
+      supertype ??= loader.target.objectType;
 
       /// The variable part of the mixin application's synthetic name. It
       /// starts out as the name of the superclass, but is only used after it
@@ -2269,9 +2285,10 @@
       /// Iterate over the mixins from left to right. At the end of each
       /// iteration, a new [supertype] is computed that is the mixin
       /// application of [supertype] with the current mixin.
-      for (int i = 0; i < type.mixins.length; i++) {
-        TypeBuilder mixin = type.mixins[i];
-        isNamedMixinApplication = name != null && mixin == type.mixins.last;
+      for (int i = 0; i < mixinApplications.mixins.length; i++) {
+        TypeBuilder mixin = mixinApplications.mixins[i];
+        isNamedMixinApplication =
+            name != null && mixin == mixinApplications.mixins.last;
         bool isGeneric = false;
         if (!isNamedMixinApplication) {
           if (supertype is NamedTypeBuilder) {
@@ -2362,7 +2379,7 @@
             isNamedMixinApplication
                 ? interfaces
                 : isMixinDeclaration
-                    ? [supertype, mixin]
+                    ? [supertype!, mixin]
                     : null,
             null, // No `on` clause types.
             new Scope(
@@ -2394,7 +2411,7 @@
       }
       return supertype;
     } else {
-      return type;
+      return supertype;
     }
   }
 
@@ -2403,7 +2420,8 @@
       String name,
       List<TypeVariableBuilder>? typeVariables,
       int modifiers,
-      TypeBuilder? mixinApplication,
+      TypeBuilder? supertype,
+      MixinApplicationBuilder mixinApplication,
       List<TypeBuilder>? interfaces,
       int startCharOffset,
       int charOffset,
@@ -2413,7 +2431,7 @@
     // Nested declaration began in `OutlineBuilder.beginNamedMixinApplication`.
     endNestedDeclaration(TypeParameterScopeKind.namedMixinApplication, name)
         .resolveNamedTypes(typeVariables, this);
-    TypeBuilder supertype = applyMixins(mixinApplication, startCharOffset,
+    supertype = applyMixins(supertype, mixinApplication, startCharOffset,
         charOffset, charEndOffset, name, false,
         metadata: metadata,
         name: name,
@@ -2851,7 +2869,7 @@
       List<MetadataBuilder>? metadata,
       String name,
       List<TypeVariableBuilder>? typeVariables,
-      TypeBuilder? supertypeBuilder,
+      MixinApplicationBuilder? supertypeBuilder,
       List<TypeBuilder>? interfaceBuilders,
       List<EnumConstantInfo?>? enumConstantInfos,
       int startCharOffset,
@@ -2874,8 +2892,14 @@
         metadata,
         name,
         typeVariables,
-        applyMixins(supertypeBuilder, startCharOffset, charOffset,
-            charEndOffset, name, /* isMixinDeclaration = */ false,
+        applyMixins(
+            loader.target.underscoreEnumType,
+            supertypeBuilder,
+            startCharOffset,
+            charOffset,
+            charEndOffset,
+            name,
+            /* isMixinDeclaration = */ false,
             typeVariables: typeVariables,
             isMacro: false,
             isAugmentation: false),
diff --git a/pkg/front_end/lib/src/fasta/source/value_kinds.dart b/pkg/front_end/lib/src/fasta/source/value_kinds.dart
index 9a81d93..1f482cb 100644
--- a/pkg/front_end/lib/src/fasta/source/value_kinds.dart
+++ b/pkg/front_end/lib/src/fasta/source/value_kinds.dart
@@ -16,6 +16,7 @@
 
 import '../builder/formal_parameter_builder.dart' as type;
 import '../builder/metadata_builder.dart' as type;
+import '../builder/mixin_application_builder.dart' as type;
 import '../builder/type_builder.dart' as type;
 import '../builder/type_variable_builder.dart' as type;
 
@@ -69,6 +70,11 @@
   static const ValueKind Initializer =
       const SingleValueKind<type.Initializer>();
   static const ValueKind MethodBody = const SingleValueKind<type.MethodBody>();
+  static const ValueKind MixinApplicationBuilder =
+      const SingleValueKind<type.MixinApplicationBuilder>();
+  static const ValueKind MixinApplicationBuilderOrNull =
+      const SingleValueKind<type.MixinApplicationBuilder>(
+          NullValue.MixinApplicationBuilder);
   static const ValueKind Modifiers =
       const SingleValueKind<List<type.Modifier>>();
   static const ValueKind ModifiersOrNull =
@@ -116,6 +122,8 @@
       const SingleValueKind<type.TypeBuilder>();
   static const ValueKind TypeBuilderOrNull =
       const SingleValueKind<type.TypeBuilder>(NullValue.TypeBuilder);
+  static const ValueKind TypeBuilderList =
+      const SingleValueKind<List<type.TypeBuilder>>();
   static const ValueKind TypeBuilderListOrNull =
       const SingleValueKind<List<type.TypeBuilder>>(NullValue.TypeBuilderList);
   static const ValueKind TypeVariableListOrNull =
diff --git a/pkg/front_end/testcases/general/error_recovery/class_header.dart b/pkg/front_end/testcases/general/error_recovery/class_header.dart
new file mode 100644
index 0000000..b1ef295
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/class_header.dart
@@ -0,0 +1,93 @@
+// Copyright (c) 2022, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+class A extends B with C implements D {}
+class A1 extends B implements D with C {}
+class A2 implements D extends B with C {}
+class A3 implements D with C extends B {}
+class A4 with C implements D extends B {}
+class A5 with C extends B implements D {}
+class A6 extends B with C implements D extends B {}
+class A7 extends B with C implements D implements D {}
+class A8 extends B with C implements D with C {}
+class A9 extends B implements D with C extends B {}
+class A10 extends B implements D with C implements D {}
+class A11 extends B implements D with C with C {}
+class A12 extends B extends B with C implements D {}
+class A13 extends B with C with C implements D {}
+class A14 extends B with C implements D implements D {}
+class A15 with D extends B {}
+class A16 implements D extends B {}
+class A17 implements D with C {}
+class A18 extends {}
+class A19 extends B with {}
+class A20 with {}
+class A21 extends B with C implements {}
+class A22 with C implements {}
+class A23 implements {}
+class A24 extends B extends {}
+class A25 with C with {}
+class A26 implements D implements {}
+
+class N = B with C implements D;
+class N1 = B implements D with C;
+class N2 = implements D extends B with C;
+class N3 = implements D with C extends B;
+class N4 = with C implements D extends B;
+class N5 = with C extends B implements D;
+class N6 = B with C implements D extends B;
+class N7 = B with C implements D implements D;
+class N8 = B with C implements D with C;
+class N9 = B implements D with C extends B;
+class N10 = B implements D with C implements D;
+class N11 = B implements D with C with C;
+class N12 = B extends B with C implements D;
+class N13 = B with C with C implements D;
+class N14 = B with C implements D implements D;
+class N15 = with D extends B;
+class N16 = implements D extends B;
+class N17 = implements D with C;
+class N18 = ;
+class N19 = B with;
+class N20 = with;
+class N21 = B with C implements;
+class N22 = with C implements;
+class N23 = implements;
+class N24 = B extends;
+class N25 = with C with;
+class N26 = implements D implements;
+
+enum E extends B with C implements D { element }
+enum E1 extends B implements D with C { element }
+enum E2 implements D extends B with C { element }
+enum E3 implements D with C extends B { element }
+enum E4 with C implements D extends B { element }
+enum E5 with C extends B implements D { element }
+enum E6 extends B with C implements D extends B { element }
+enum E7 extends B with C implements D implements D { element }
+enum E8 extends B with C implements D with C { element }
+enum E9 extends B implements D with C extends B { element }
+enum E10 extends B implements D with C implements D { element }
+enum E11 extends B implements D with C with C { element }
+enum E12 extends B extends B with C implements D { element }
+enum E13 extends B with C with C implements D { element }
+enum E14 extends B with C implements D implements D { element }
+enum E15 with D extends B { element }
+enum E16 implements D extends B { element }
+enum E17 implements D with C { element }
+enum E18 extends { element }
+enum E19 extends B with { element }
+enum E20 with { element }
+enum E21 extends B with C implements { element }
+enum E22 with C implements { element }
+enum E23 implements { element }
+enum E24 extends B extends { element }
+enum E25 with C with { element }
+enum E26 implements D implements { element }
+
+class B {}
+class C {}
+class D {}
+
+main() {}
diff --git a/pkg/front_end/testcases/general/error_recovery/class_header.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_recovery/class_header.dart.textual_outline.expect
new file mode 100644
index 0000000..524157d
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/class_header.dart.textual_outline.expect
@@ -0,0 +1,142 @@
+class A extends B with C implements D {}
+class A1 extends B implements D with C {}
+class A2 implements D extends B with C {}
+class A3 implements D with C extends B {}
+class A4 with C implements D extends B {}
+class A5 with C extends B implements D {}
+class A6 extends B with C implements D extends B {}
+class A7 extends B with C implements D implements D {}
+class A8 extends B with C implements D with C {}
+class A9 extends B implements D with C extends B {}
+class A10 extends B implements D with C implements D {}
+class A11 extends B implements D with C with C {}
+class A12 extends B extends B with C implements D {}
+class A13 extends B with C with C implements D {}
+class A14 extends B with C implements D implements D {}
+class A15 with D extends B {}
+class A16 implements D extends B {}
+class A17 implements D with C {}
+class A18 extends {}
+class A19 extends B with {}
+class A20 with {}
+class A21 extends B with C implements {}
+class A22 with C implements {}
+class A23 implements {}
+class A24 extends B extends {}
+class A25 with C with {}
+class A26 implements D implements {}
+class N = B with C implements D;
+class N1 = B withimplements D ;
+with ;
+C;
+class N2 = implements withD ;
+extends ;
+B ;
+with ;
+C;
+class N3 = implements withD ;
+with ;
+C ;
+extends ;
+B;
+class N4 = with C implements D ;
+extends ;
+B;
+class N5 = with C ;
+extends ;
+B implements ;
+D;
+class N6 = B with C implements D ;
+extends ;
+B;
+class N7 = B with C implements D ;
+implements ;
+D;
+class N8 = B with C implements D ;
+with ;
+C;
+class N9 = B withimplements D ;
+with ;
+C ;
+extends ;
+B;
+class N10 = B withimplements D ;
+with ;
+C implements ;
+D;
+class N11 = B withimplements D ;
+with ;
+C ;
+with ;
+C;
+class N12 = B with;
+extends ;
+B ;
+with ;
+C implements ;
+D;
+class N13 = B with C ;
+with ;
+C implements ;
+D;
+class N14 = B with C implements D ;
+implements ;
+D;
+class N15 = with D ;
+extends ;
+B;
+class N16 = implements withD ;
+extends ;
+B;
+class N17 = implements withD ;
+with ;
+C;
+class N18 = with;
+class N19 = B with;
+class N20 = with;
+class N21 = B with C implements;
+class N22 = with C implements;
+class N23 = implementswith;
+class N24 = B with;
+extends;
+class N25 = with C ;
+with;
+class N26 = implements withD implements;
+enum E extends B with C implements D { element }
+enum E1 extends B implements D with C { element }
+enum E2 implements D extends B with C { element }
+enum E3 implements D with C extends B { element }
+enum E4 with C implements D extends B { element }
+enum E5 with C extends B implements D { element }
+enum E6 extends B with C implements D extends B { element }
+enum E7 extends B with C implements D implements D { element }
+enum E8 extends B with C implements D with C { element }
+enum E9 extends B implements D with C extends B { element }
+enum E10 extends B implements D with C implements D { element }
+enum E11 extends B implements D with C with C { element }
+enum E12 {}
+extends ;
+B ;
+extends ;
+B ;
+with ;
+C implements ;
+D (){}
+enum E13 extends B with C with C implements D { element }
+enum E14 extends B with C implements D implements D { element }
+enum E15 with D extends B { element }
+enum E16 implements D extends B { element }
+enum E17 implements D with C { element }
+enum E18 extends { element }
+enum E19 extends B with { element }
+enum E20 with { element }
+enum E21 extends B with C implements { element }
+enum E22 with C implements { element }
+enum E23 implements { element }
+enum E24 extends B extends { element }
+enum E25 with C with { element }
+enum E26 implements D implements { element }
+class B {}
+class C {}
+class D {}
+main() {}
diff --git a/pkg/front_end/testcases/general/error_recovery/class_header.dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/class_header.dart.weak.expect
new file mode 100644
index 0000000..fcda3be
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/class_header.dart.weak.expect
@@ -0,0 +1,3356 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:6:33: Error: The with clause must be before the implements clause.
+// Try moving the with clause before the implements clause.
+// class A1 extends B implements D with C {}
+//                                 ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:7:23: Error: The extends clause must be before the implements clause.
+// Try moving the extends clause before the implements clause.
+// class A2 implements D extends B with C {}
+//                       ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:7:33: Error: The with clause must be before the implements clause.
+// Try moving the with clause before the implements clause.
+// class A2 implements D extends B with C {}
+//                                 ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:8:23: Error: The with clause must be before the implements clause.
+// Try moving the with clause before the implements clause.
+// class A3 implements D with C extends B {}
+//                       ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:8:30: Error: The extends clause must be before the with clause.
+// Try moving the extends clause before the with clause.
+// class A3 implements D with C extends B {}
+//                              ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:9:30: Error: The extends clause must be before the with clause.
+// Try moving the extends clause before the with clause.
+// class A4 with C implements D extends B {}
+//                              ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:10:17: Error: The extends clause must be before the with clause.
+// Try moving the extends clause before the with clause.
+// class A5 with C extends B implements D {}
+//                 ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:11:40: Error: Each class definition can have at most one extends clause.
+// Try choosing one superclass and define your class to implement (or mix in) the others.
+// class A6 extends B with C implements D extends B {}
+//                                        ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:12:40: Error: Each class definition can have at most one implements clause.
+// Try combining all of the implements clauses into a single clause.
+// class A7 extends B with C implements D implements D {}
+//                                        ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:13:40: Error: Each class definition can have at most one with clause.
+// Try combining all of the with clauses into a single clause.
+// class A8 extends B with C implements D with C {}
+//                                        ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:14:33: Error: The with clause must be before the implements clause.
+// Try moving the with clause before the implements clause.
+// class A9 extends B implements D with C extends B {}
+//                                 ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:14:40: Error: Each class definition can have at most one extends clause.
+// Try choosing one superclass and define your class to implement (or mix in) the others.
+// class A9 extends B implements D with C extends B {}
+//                                        ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:15:34: Error: The with clause must be before the implements clause.
+// Try moving the with clause before the implements clause.
+// class A10 extends B implements D with C implements D {}
+//                                  ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:15:41: Error: Each class definition can have at most one implements clause.
+// Try combining all of the implements clauses into a single clause.
+// class A10 extends B implements D with C implements D {}
+//                                         ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:16:34: Error: The with clause must be before the implements clause.
+// Try moving the with clause before the implements clause.
+// class A11 extends B implements D with C with C {}
+//                                  ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:16:41: Error: Each class definition can have at most one with clause.
+// Try combining all of the with clauses into a single clause.
+// class A11 extends B implements D with C with C {}
+//                                         ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:17:21: Error: Each class definition can have at most one extends clause.
+// Try choosing one superclass and define your class to implement (or mix in) the others.
+// class A12 extends B extends B with C implements D {}
+//                     ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:18:28: Error: Each class definition can have at most one with clause.
+// Try combining all of the with clauses into a single clause.
+// class A13 extends B with C with C implements D {}
+//                            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:19:41: Error: Each class definition can have at most one implements clause.
+// Try combining all of the implements clauses into a single clause.
+// class A14 extends B with C implements D implements D {}
+//                                         ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:20:18: Error: The extends clause must be before the with clause.
+// Try moving the extends clause before the with clause.
+// class A15 with D extends B {}
+//                  ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:21:24: Error: The extends clause must be before the implements clause.
+// Try moving the extends clause before the implements clause.
+// class A16 implements D extends B {}
+//                        ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:22:24: Error: The with clause must be before the implements clause.
+// Try moving the with clause before the implements clause.
+// class A17 implements D with C {}
+//                        ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:23:19: Error: Expected a type, but got '{'.
+// class A18 extends {}
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:24:26: Error: Expected a type, but got '{'.
+// class A19 extends B with {}
+//                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:25:16: Error: Expected a type, but got '{'.
+// class A20 with {}
+//                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:26:39: Error: Expected a type, but got '{'.
+// class A21 extends B with C implements {}
+//                                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:27:29: Error: Expected a type, but got '{'.
+// class A22 with C implements {}
+//                             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:28:22: Error: Expected a type, but got '{'.
+// class A23 implements {}
+//                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:29:29: Error: Expected a type, but got '{'.
+// class A24 extends B extends {}
+//                             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:29:21: Error: Each class definition can have at most one extends clause.
+// Try choosing one superclass and define your class to implement (or mix in) the others.
+// class A24 extends B extends {}
+//                     ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:30:23: Error: Expected a type, but got '{'.
+// class A25 with C with {}
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:30:18: Error: Each class definition can have at most one with clause.
+// Try combining all of the with clauses into a single clause.
+// class A25 with C with {}
+//                  ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:31:35: Error: Expected a type, but got '{'.
+// class A26 implements D implements {}
+//                                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:31:24: Error: Each class definition can have at most one implements clause.
+// Try combining all of the implements clauses into a single clause.
+// class A26 implements D implements {}
+//                        ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:14: Error: Expected 'with' before this.
+// class N1 = B implements D with C;
+//              ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:25: Error: Expected ';' after this.
+// class N1 = B implements D with C;
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:27: 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'.
+// class N1 = B implements D with C;
+//                           ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:27: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N1 = B implements D with C;
+//                           ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:27: Error: Expected ';' after this.
+// class N1 = B implements D with C;
+//                           ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:32: 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'.
+// class N1 = B implements D with C;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:12: Error: The built-in identifier 'implements' can't be used as a type.
+// class N2 = implements D extends B with C;
+//            ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:23: Error: Expected 'with' before this.
+// class N2 = implements D extends B with C;
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:23: Error: Expected ';' after this.
+// class N2 = implements D extends B with C;
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:25: 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'.
+// class N2 = implements D extends B with C;
+//                         ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:25: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N2 = implements D extends B with C;
+//                         ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:25: Error: Expected ';' after this.
+// class N2 = implements D extends B with C;
+//                         ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:33: 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'.
+// class N2 = implements D extends B with C;
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:33: Error: Expected ';' after this.
+// class N2 = implements D extends B with C;
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:35: 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'.
+// class N2 = implements D extends B with C;
+//                                   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:35: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N2 = implements D extends B with C;
+//                                   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:35: Error: Expected ';' after this.
+// class N2 = implements D extends B with C;
+//                                   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:35: Error: 'with' is already declared in this scope.
+// class N2 = implements D extends B with C;
+//                                   ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:27: Context: Previous declaration of 'with'.
+// class N1 = B implements D with C;
+//                           ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:40: 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'.
+// class N2 = implements D extends B with C;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:40: Error: 'C' is already declared in this scope.
+// class N2 = implements D extends B with C;
+//                                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:32: Context: Previous declaration of 'C'.
+// class N1 = B implements D with C;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:12: Error: The built-in identifier 'implements' can't be used as a type.
+// class N3 = implements D with C extends B;
+//            ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:23: Error: Expected 'with' before this.
+// class N3 = implements D with C extends B;
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:23: Error: Expected ';' after this.
+// class N3 = implements D with C extends B;
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:25: 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'.
+// class N3 = implements D with C extends B;
+//                         ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:25: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N3 = implements D with C extends B;
+//                         ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:25: Error: Expected ';' after this.
+// class N3 = implements D with C extends B;
+//                         ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:25: Error: 'with' is already declared in this scope.
+// class N3 = implements D with C extends B;
+//                         ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:35: Context: Previous declaration of 'with'.
+// class N2 = implements D extends B with C;
+//                                   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:30: 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'.
+// class N3 = implements D with C extends B;
+//                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:30: Error: Expected ';' after this.
+// class N3 = implements D with C extends B;
+//                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:30: Error: 'C' is already declared in this scope.
+// class N3 = implements D with C extends B;
+//                              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:40: Context: Previous declaration of 'C'.
+// class N2 = implements D extends B with C;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:32: 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'.
+// class N3 = implements D with C extends B;
+//                                ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:32: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N3 = implements D with C extends B;
+//                                ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:32: Error: Expected ';' after this.
+// class N3 = implements D with C extends B;
+//                                ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:32: Error: 'extends' is already declared in this scope.
+// class N3 = implements D with C extends B;
+//                                ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:25: Context: Previous declaration of 'extends'.
+// class N2 = implements D extends B with C;
+//                         ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:40: 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'.
+// class N3 = implements D with C extends B;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:40: Error: 'B' is already declared in this scope.
+// class N3 = implements D with C extends B;
+//                                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:33: Context: Previous declaration of 'B'.
+// class N2 = implements D extends B with C;
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:12: Error: Expected a type, but got 'with'.
+// class N4 = with C implements D extends B;
+//            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:30: Error: Expected ';' after this.
+// class N4 = with C implements D extends B;
+//                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:32: 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'.
+// class N4 = with C implements D extends B;
+//                                ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:32: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N4 = with C implements D extends B;
+//                                ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:32: Error: Expected ';' after this.
+// class N4 = with C implements D extends B;
+//                                ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:32: Error: 'extends' is already declared in this scope.
+// class N4 = with C implements D extends B;
+//                                ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:32: Context: Previous declaration of 'extends'.
+// class N3 = implements D with C extends B;
+//                                ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:40: 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'.
+// class N4 = with C implements D extends B;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:40: Error: 'B' is already declared in this scope.
+// class N4 = with C implements D extends B;
+//                                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:40: Context: Previous declaration of 'B'.
+// class N3 = implements D with C extends B;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:12: Error: Expected a type, but got 'with'.
+// class N5 = with C extends B implements D;
+//            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:17: Error: Expected ';' after this.
+// class N5 = with C extends B implements D;
+//                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:19: 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'.
+// class N5 = with C extends B implements D;
+//                   ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:19: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N5 = with C extends B implements D;
+//                   ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:19: Error: Expected ';' after this.
+// class N5 = with C extends B implements D;
+//                   ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:19: Error: 'extends' is already declared in this scope.
+// class N5 = with C extends B implements D;
+//                   ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:32: Context: Previous declaration of 'extends'.
+// class N4 = with C implements D extends B;
+//                                ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:29: Error: Expected ';' after this.
+// class N5 = with C extends B implements D;
+//                             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:40: 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'.
+// class N5 = with C extends B implements D;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:32: Error: Expected ';' after this.
+// class N6 = B with C implements D extends B;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:34: 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'.
+// class N6 = B with C implements D extends B;
+//                                  ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:34: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N6 = B with C implements D extends B;
+//                                  ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:34: Error: Expected ';' after this.
+// class N6 = B with C implements D extends B;
+//                                  ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:34: Error: 'extends' is already declared in this scope.
+// class N6 = B with C implements D extends B;
+//                                  ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:19: Context: Previous declaration of 'extends'.
+// class N5 = with C extends B implements D;
+//                   ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:42: 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'.
+// class N6 = B with C implements D extends B;
+//                                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:42: Error: 'B' is already declared in this scope.
+// class N6 = B with C implements D extends B;
+//                                          ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:40: Context: Previous declaration of 'B'.
+// class N4 = with C implements D extends B;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:32: Error: Expected ';' after this.
+// class N7 = B with C implements D implements D;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:34: 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'.
+// class N7 = B with C implements D implements D;
+//                                  ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:34: Error: Expected ';' after this.
+// class N7 = B with C implements D implements D;
+//                                  ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:34: Error: 'implements' is already declared in this scope.
+// class N7 = B with C implements D implements D;
+//                                  ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:29: Context: Previous declaration of 'implements'.
+// class N5 = with C extends B implements D;
+//                             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:45: 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'.
+// class N7 = B with C implements D implements D;
+//                                             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:45: Error: 'D' is already declared in this scope.
+// class N7 = B with C implements D implements D;
+//                                             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:40: Context: Previous declaration of 'D'.
+// class N5 = with C extends B implements D;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:32: Error: Expected ';' after this.
+// class N8 = B with C implements D with C;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:34: 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'.
+// class N8 = B with C implements D with C;
+//                                  ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:34: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N8 = B with C implements D with C;
+//                                  ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:34: Error: Expected ';' after this.
+// class N8 = B with C implements D with C;
+//                                  ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:34: Error: 'with' is already declared in this scope.
+// class N8 = B with C implements D with C;
+//                                  ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:25: Context: Previous declaration of 'with'.
+// class N3 = implements D with C extends B;
+//                         ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:39: 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'.
+// class N8 = B with C implements D with C;
+//                                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:39: Error: 'C' is already declared in this scope.
+// class N8 = B with C implements D with C;
+//                                       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:30: Context: Previous declaration of 'C'.
+// class N3 = implements D with C extends B;
+//                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:14: Error: Expected 'with' before this.
+// class N9 = B implements D with C extends B;
+//              ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:25: Error: Expected ';' after this.
+// class N9 = B implements D with C extends B;
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:27: 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'.
+// class N9 = B implements D with C extends B;
+//                           ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:27: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N9 = B implements D with C extends B;
+//                           ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:27: Error: Expected ';' after this.
+// class N9 = B implements D with C extends B;
+//                           ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:27: Error: 'with' is already declared in this scope.
+// class N9 = B implements D with C extends B;
+//                           ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:34: Context: Previous declaration of 'with'.
+// class N8 = B with C implements D with C;
+//                                  ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:32: 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'.
+// class N9 = B implements D with C extends B;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:32: Error: Expected ';' after this.
+// class N9 = B implements D with C extends B;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:32: Error: 'C' is already declared in this scope.
+// class N9 = B implements D with C extends B;
+//                                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:39: Context: Previous declaration of 'C'.
+// class N8 = B with C implements D with C;
+//                                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:34: 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'.
+// class N9 = B implements D with C extends B;
+//                                  ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:34: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N9 = B implements D with C extends B;
+//                                  ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:34: Error: Expected ';' after this.
+// class N9 = B implements D with C extends B;
+//                                  ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:34: Error: 'extends' is already declared in this scope.
+// class N9 = B implements D with C extends B;
+//                                  ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:34: Context: Previous declaration of 'extends'.
+// class N6 = B with C implements D extends B;
+//                                  ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:42: 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'.
+// class N9 = B implements D with C extends B;
+//                                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:42: Error: 'B' is already declared in this scope.
+// class N9 = B implements D with C extends B;
+//                                          ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:42: Context: Previous declaration of 'B'.
+// class N6 = B with C implements D extends B;
+//                                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:15: Error: Expected 'with' before this.
+// class N10 = B implements D with C implements D;
+//               ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:26: Error: Expected ';' after this.
+// class N10 = B implements D with C implements D;
+//                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:28: 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'.
+// class N10 = B implements D with C implements D;
+//                            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:28: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N10 = B implements D with C implements D;
+//                            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:28: Error: Expected ';' after this.
+// class N10 = B implements D with C implements D;
+//                            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:28: Error: 'with' is already declared in this scope.
+// class N10 = B implements D with C implements D;
+//                            ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:27: Context: Previous declaration of 'with'.
+// class N9 = B implements D with C extends B;
+//                           ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:35: Error: Expected ';' after this.
+// class N10 = B implements D with C implements D;
+//                                   ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:35: Error: 'implements' is already declared in this scope.
+// class N10 = B implements D with C implements D;
+//                                   ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:34: Context: Previous declaration of 'implements'.
+// class N7 = B with C implements D implements D;
+//                                  ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:46: 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'.
+// class N10 = B implements D with C implements D;
+//                                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:46: Error: 'D' is already declared in this scope.
+// class N10 = B implements D with C implements D;
+//                                              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:45: Context: Previous declaration of 'D'.
+// class N7 = B with C implements D implements D;
+//                                             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:15: Error: Expected 'with' before this.
+// class N11 = B implements D with C with C;
+//               ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:26: Error: Expected ';' after this.
+// class N11 = B implements D with C with C;
+//                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:28: 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'.
+// class N11 = B implements D with C with C;
+//                            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:28: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N11 = B implements D with C with C;
+//                            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:28: Error: Expected ';' after this.
+// class N11 = B implements D with C with C;
+//                            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:28: Error: 'with' is already declared in this scope.
+// class N11 = B implements D with C with C;
+//                            ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:28: Context: Previous declaration of 'with'.
+// class N10 = B implements D with C implements D;
+//                            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:33: 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'.
+// class N11 = B implements D with C with C;
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:33: Error: Expected ';' after this.
+// class N11 = B implements D with C with C;
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:33: Error: 'C' is already declared in this scope.
+// class N11 = B implements D with C with C;
+//                                 ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:32: Context: Previous declaration of 'C'.
+// class N9 = B implements D with C extends B;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:35: 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'.
+// class N11 = B implements D with C with C;
+//                                   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:35: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N11 = B implements D with C with C;
+//                                   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:35: Error: Expected ';' after this.
+// class N11 = B implements D with C with C;
+//                                   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:35: Error: 'with' is already declared in this scope.
+// class N11 = B implements D with C with C;
+//                                   ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:28: Context: Previous declaration of 'with'.
+// class N11 = B implements D with C with C;
+//                            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:40: 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'.
+// class N11 = B implements D with C with C;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:40: Error: 'C' is already declared in this scope.
+// class N11 = B implements D with C with C;
+//                                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:33: Context: Previous declaration of 'C'.
+// class N11 = B implements D with C with C;
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:15: Error: Expected 'with' before this.
+// class N12 = B extends B with C implements D;
+//               ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:13: Error: Expected ';' after this.
+// class N12 = B extends B with C implements D;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:15: 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'.
+// class N12 = B extends B with C implements D;
+//               ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:15: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N12 = B extends B with C implements D;
+//               ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:15: Error: Expected ';' after this.
+// class N12 = B extends B with C implements D;
+//               ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:15: Error: 'extends' is already declared in this scope.
+// class N12 = B extends B with C implements D;
+//               ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:34: Context: Previous declaration of 'extends'.
+// class N9 = B implements D with C extends B;
+//                                  ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:23: 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'.
+// class N12 = B extends B with C implements D;
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:23: Error: Expected ';' after this.
+// class N12 = B extends B with C implements D;
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:23: Error: 'B' is already declared in this scope.
+// class N12 = B extends B with C implements D;
+//                       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:42: Context: Previous declaration of 'B'.
+// class N9 = B implements D with C extends B;
+//                                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:25: 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'.
+// class N12 = B extends B with C implements D;
+//                         ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:25: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N12 = B extends B with C implements D;
+//                         ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:25: Error: Expected ';' after this.
+// class N12 = B extends B with C implements D;
+//                         ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:25: Error: 'with' is already declared in this scope.
+// class N12 = B extends B with C implements D;
+//                         ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:35: Context: Previous declaration of 'with'.
+// class N11 = B implements D with C with C;
+//                                   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:32: Error: Expected ';' after this.
+// class N12 = B extends B with C implements D;
+//                                ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:32: Error: 'implements' is already declared in this scope.
+// class N12 = B extends B with C implements D;
+//                                ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:35: Context: Previous declaration of 'implements'.
+// class N10 = B implements D with C implements D;
+//                                   ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:43: 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'.
+// class N12 = B extends B with C implements D;
+//                                           ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:43: Error: 'D' is already declared in this scope.
+// class N12 = B extends B with C implements D;
+//                                           ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:46: Context: Previous declaration of 'D'.
+// class N10 = B implements D with C implements D;
+//                                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:20: Error: Expected ';' after this.
+// class N13 = B with C with C implements D;
+//                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:22: 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'.
+// class N13 = B with C with C implements D;
+//                      ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:22: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N13 = B with C with C implements D;
+//                      ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:22: Error: Expected ';' after this.
+// class N13 = B with C with C implements D;
+//                      ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:22: Error: 'with' is already declared in this scope.
+// class N13 = B with C with C implements D;
+//                      ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:25: Context: Previous declaration of 'with'.
+// class N12 = B extends B with C implements D;
+//                         ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:29: Error: Expected ';' after this.
+// class N13 = B with C with C implements D;
+//                             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:29: Error: 'implements' is already declared in this scope.
+// class N13 = B with C with C implements D;
+//                             ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:32: Context: Previous declaration of 'implements'.
+// class N12 = B extends B with C implements D;
+//                                ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:40: 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'.
+// class N13 = B with C with C implements D;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:40: Error: 'D' is already declared in this scope.
+// class N13 = B with C with C implements D;
+//                                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:43: Context: Previous declaration of 'D'.
+// class N12 = B extends B with C implements D;
+//                                           ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:33: Error: Expected ';' after this.
+// class N14 = B with C implements D implements D;
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:35: 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'.
+// class N14 = B with C implements D implements D;
+//                                   ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:35: Error: Expected ';' after this.
+// class N14 = B with C implements D implements D;
+//                                   ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:35: Error: 'implements' is already declared in this scope.
+// class N14 = B with C implements D implements D;
+//                                   ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:29: Context: Previous declaration of 'implements'.
+// class N13 = B with C with C implements D;
+//                             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:46: 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'.
+// class N14 = B with C implements D implements D;
+//                                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:46: Error: 'D' is already declared in this scope.
+// class N14 = B with C implements D implements D;
+//                                              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:40: Context: Previous declaration of 'D'.
+// class N13 = B with C with C implements D;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:13: Error: Expected a type, but got 'with'.
+// class N15 = with D extends B;
+//             ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:18: Error: Expected ';' after this.
+// class N15 = with D extends B;
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:20: 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'.
+// class N15 = with D extends B;
+//                    ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:20: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N15 = with D extends B;
+//                    ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:20: Error: Expected ';' after this.
+// class N15 = with D extends B;
+//                    ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:20: Error: 'extends' is already declared in this scope.
+// class N15 = with D extends B;
+//                    ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:15: Context: Previous declaration of 'extends'.
+// class N12 = B extends B with C implements D;
+//               ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:28: 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'.
+// class N15 = with D extends B;
+//                            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:28: Error: 'B' is already declared in this scope.
+// class N15 = with D extends B;
+//                            ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:23: Context: Previous declaration of 'B'.
+// class N12 = B extends B with C implements D;
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:13: Error: The built-in identifier 'implements' can't be used as a type.
+// class N16 = implements D extends B;
+//             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:24: Error: Expected 'with' before this.
+// class N16 = implements D extends B;
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:24: Error: Expected ';' after this.
+// class N16 = implements D extends B;
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:26: 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'.
+// class N16 = implements D extends B;
+//                          ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:26: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N16 = implements D extends B;
+//                          ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:26: Error: Expected ';' after this.
+// class N16 = implements D extends B;
+//                          ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:26: Error: 'extends' is already declared in this scope.
+// class N16 = implements D extends B;
+//                          ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:20: Context: Previous declaration of 'extends'.
+// class N15 = with D extends B;
+//                    ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:34: 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'.
+// class N16 = implements D extends B;
+//                                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:34: Error: 'B' is already declared in this scope.
+// class N16 = implements D extends B;
+//                                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:28: Context: Previous declaration of 'B'.
+// class N15 = with D extends B;
+//                            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:13: Error: The built-in identifier 'implements' can't be used as a type.
+// class N17 = implements D with C;
+//             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:24: Error: Expected 'with' before this.
+// class N17 = implements D with C;
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:24: Error: Expected ';' after this.
+// class N17 = implements D with C;
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:26: 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'.
+// class N17 = implements D with C;
+//                          ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:26: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N17 = implements D with C;
+//                          ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:26: Error: Expected ';' after this.
+// class N17 = implements D with C;
+//                          ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:26: Error: 'with' is already declared in this scope.
+// class N17 = implements D with C;
+//                          ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:22: Context: Previous declaration of 'with'.
+// class N13 = B with C with C implements D;
+//                      ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:31: 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'.
+// class N17 = implements D with C;
+//                               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:31: Error: 'C' is already declared in this scope.
+// class N17 = implements D with C;
+//                               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:40: Context: Previous declaration of 'C'.
+// class N11 = B implements D with C with C;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:51:13: Error: Expected a type, but got ';'.
+// class N18 = ;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:51:13: Error: Expected 'with' before this.
+// class N18 = ;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:52:19: Error: Expected a type, but got ';'.
+// class N19 = B with;
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:53:13: Error: Expected a type, but got 'with'.
+// class N20 = with;
+//             ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:53:17: Error: Expected a type, but got ';'.
+// class N20 = with;
+//                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:54:32: Error: Expected a type, but got ';'.
+// class N21 = B with C implements;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:55:13: Error: Expected a type, but got 'with'.
+// class N22 = with C implements;
+//             ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:55:30: Error: Expected a type, but got ';'.
+// class N22 = with C implements;
+//                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:56:13: Error: The built-in identifier 'implements' can't be used as a type.
+// class N23 = implements;
+//             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:56:23: Error: Expected 'with' before this.
+// class N23 = implements;
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:57:15: Error: Expected 'with' before this.
+// class N24 = B extends;
+//               ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:57:13: Error: Expected ';' after this.
+// class N24 = B extends;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:57:15: 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'.
+// class N24 = B extends;
+//               ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:57:15: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N24 = B extends;
+//               ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:57:15: Error: 'extends' is already declared in this scope.
+// class N24 = B extends;
+//               ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:26: Context: Previous declaration of 'extends'.
+// class N16 = implements D extends B;
+//                          ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:58:13: Error: Expected a type, but got 'with'.
+// class N25 = with C with;
+//             ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:58:18: Error: Expected ';' after this.
+// class N25 = with C with;
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:58:20: 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'.
+// class N25 = with C with;
+//                    ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:58:20: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N25 = with C with;
+//                    ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:58:20: Error: 'with' is already declared in this scope.
+// class N25 = with C with;
+//                    ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:26: Context: Previous declaration of 'with'.
+// class N17 = implements D with C;
+//                          ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:59:13: Error: The built-in identifier 'implements' can't be used as a type.
+// class N26 = implements D implements;
+//             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:59:24: Error: Expected 'with' before this.
+// class N26 = implements D implements;
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:59:36: Error: Expected a type, but got ';'.
+// class N26 = implements D implements;
+//                                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:61:8: Error: Unexpected tokens.
+// enum E extends B with C implements D { element }
+//        ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:62:9: Error: Unexpected tokens.
+// enum E1 extends B implements D with C { element }
+//         ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:62:32: Error: The 'with' clause must come before the 'implements' clause.
+// Try moving the 'with' clause before the 'implements' clause.
+// enum E1 extends B implements D with C { element }
+//                                ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:63:22: Error: Unexpected tokens.
+// enum E2 implements D extends B with C { element }
+//                      ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:63:32: Error: The 'with' clause must come before the 'implements' clause.
+// Try moving the 'with' clause before the 'implements' clause.
+// enum E2 implements D extends B with C { element }
+//                                ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:64:22: Error: The 'with' clause must come before the 'implements' clause.
+// Try moving the 'with' clause before the 'implements' clause.
+// enum E3 implements D with C extends B { element }
+//                      ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:64:29: Error: Unexpected tokens.
+// enum E3 implements D with C extends B { element }
+//                             ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:65:29: Error: Unexpected tokens.
+// enum E4 with C implements D extends B { element }
+//                             ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:66:16: Error: Unexpected tokens.
+// enum E5 with C extends B implements D { element }
+//                ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:67:9: Error: Unexpected tokens.
+// enum E6 extends B with C implements D extends B { element }
+//         ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:67:39: Error: Unexpected tokens.
+// enum E6 extends B with C implements D extends B { element }
+//                                       ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:68:9: Error: Unexpected tokens.
+// enum E7 extends B with C implements D implements D { element }
+//         ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:68:39: Error: Each 'enum' definition can have at most one 'implements' clause.
+// Try combining all of the 'implements' clauses into a single clause.
+// enum E7 extends B with C implements D implements D { element }
+//                                       ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:69:9: Error: Unexpected tokens.
+// enum E8 extends B with C implements D with C { element }
+//         ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:69:39: Error: Each 'enum' definition can have at most one 'with' clause.
+// Try combining all of the 'with' clauses into a single clause.
+// enum E8 extends B with C implements D with C { element }
+//                                       ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:70:9: Error: Unexpected tokens.
+// enum E9 extends B implements D with C extends B { element }
+//         ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:70:32: Error: The 'with' clause must come before the 'implements' clause.
+// Try moving the 'with' clause before the 'implements' clause.
+// enum E9 extends B implements D with C extends B { element }
+//                                ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:70:39: Error: Unexpected tokens.
+// enum E9 extends B implements D with C extends B { element }
+//                                       ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:71:10: Error: Unexpected tokens.
+// enum E10 extends B implements D with C implements D { element }
+//          ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:71:33: Error: The 'with' clause must come before the 'implements' clause.
+// Try moving the 'with' clause before the 'implements' clause.
+// enum E10 extends B implements D with C implements D { element }
+//                                 ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:71:40: Error: Each 'enum' definition can have at most one 'implements' clause.
+// Try combining all of the 'implements' clauses into a single clause.
+// enum E10 extends B implements D with C implements D { element }
+//                                        ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:72:10: Error: Unexpected tokens.
+// enum E11 extends B implements D with C with C { element }
+//          ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:72:33: Error: The 'with' clause must come before the 'implements' clause.
+// Try moving the 'with' clause before the 'implements' clause.
+// enum E11 extends B implements D with C with C { element }
+//                                 ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:72:40: Error: Each 'enum' definition can have at most one 'with' clause.
+// Try combining all of the 'with' clauses into a single clause.
+// enum E11 extends B implements D with C with C { element }
+//                                        ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:10: Error: Expected a enum body, but got 'extends'.
+// An enum definition must have a body with at least one constant name.
+// enum E12 extends B extends B with C implements D { element }
+//          ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73: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'.
+// enum E12 extends B extends B with C implements D { element }
+//          ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:10: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// enum E12 extends B extends B with C implements D { element }
+//          ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:10: Error: Expected ';' after this.
+// enum E12 extends B extends B with C implements D { element }
+//          ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:10: Error: 'extends' is already declared in this scope.
+// enum E12 extends B extends B with C implements D { element }
+//          ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:57:15: Context: Previous declaration of 'extends'.
+// class N24 = B extends;
+//               ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:18: 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'.
+// enum E12 extends B extends B with C implements D { element }
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:18: Error: Expected ';' after this.
+// enum E12 extends B extends B with C implements D { element }
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:18: Error: 'B' is already declared in this scope.
+// enum E12 extends B extends B with C implements D { element }
+//                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:34: Context: Previous declaration of 'B'.
+// class N16 = implements D extends B;
+//                                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:20: 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'.
+// enum E12 extends B extends B with C implements D { element }
+//                    ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:20: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// enum E12 extends B extends B with C implements D { element }
+//                    ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:20: Error: Expected ';' after this.
+// enum E12 extends B extends B with C implements D { element }
+//                    ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:20: Error: 'extends' is already declared in this scope.
+// enum E12 extends B extends B with C implements D { element }
+//                    ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:10: Context: Previous declaration of 'extends'.
+// enum E12 extends B extends B with C implements D { element }
+//          ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:28: 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'.
+// enum E12 extends B extends B with C implements D { element }
+//                            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:28: Error: Expected ';' after this.
+// enum E12 extends B extends B with C implements D { element }
+//                            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:28: Error: 'B' is already declared in this scope.
+// enum E12 extends B extends B with C implements D { element }
+//                            ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:18: Context: Previous declaration of 'B'.
+// enum E12 extends B extends B with C implements D { element }
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:30: 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'.
+// enum E12 extends B extends B with C implements D { element }
+//                              ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:30: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// enum E12 extends B extends B with C implements D { element }
+//                              ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:30: Error: Expected ';' after this.
+// enum E12 extends B extends B with C implements D { element }
+//                              ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:30: Error: 'with' is already declared in this scope.
+// enum E12 extends B extends B with C implements D { element }
+//                              ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:58:20: Context: Previous declaration of 'with'.
+// class N25 = with C with;
+//                    ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:37: Error: Expected ';' after this.
+// enum E12 extends B extends B with C implements D { element }
+//                                     ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:37: Error: 'implements' is already declared in this scope.
+// enum E12 extends B extends B with C implements D { element }
+//                                     ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:35: Context: Previous declaration of 'implements'.
+// class N14 = B with C implements D implements D;
+//                                   ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:48: Error: A function declaration needs an explicit list of parameters.
+// Try adding a parameter list to the function declaration.
+// enum E12 extends B extends B with C implements D { element }
+//                                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:48: Error: 'D' is already declared in this scope.
+// enum E12 extends B extends B with C implements D { element }
+//                                                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:46: Context: Previous declaration of 'D'.
+// class N14 = B with C implements D implements D;
+//                                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:74:10: Error: Unexpected tokens.
+// enum E13 extends B with C with C implements D { element }
+//          ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:74:27: Error: Each 'enum' definition can have at most one 'with' clause.
+// Try combining all of the 'with' clauses into a single clause.
+// enum E13 extends B with C with C implements D { element }
+//                           ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:75:10: Error: Unexpected tokens.
+// enum E14 extends B with C implements D implements D { element }
+//          ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:75:40: Error: Each 'enum' definition can have at most one 'implements' clause.
+// Try combining all of the 'implements' clauses into a single clause.
+// enum E14 extends B with C implements D implements D { element }
+//                                        ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:76:17: Error: Unexpected tokens.
+// enum E15 with D extends B { element }
+//                 ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:77:23: Error: Unexpected tokens.
+// enum E16 implements D extends B { element }
+//                       ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:78:23: Error: The 'with' clause must come before the 'implements' clause.
+// Try moving the 'with' clause before the 'implements' clause.
+// enum E17 implements D with C { element }
+//                       ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:79:10: Error: Unexpected token 'extends'.
+// enum E18 extends { element }
+//          ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:80:10: Error: Unexpected tokens.
+// enum E19 extends B with { element }
+//          ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:80:25: Error: Expected a type, but got '{'.
+// enum E19 extends B with { element }
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:81:15: Error: Expected a type, but got '{'.
+// enum E20 with { element }
+//               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:82:10: Error: Unexpected tokens.
+// enum E21 extends B with C implements { element }
+//          ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:82:38: Error: Expected a type, but got '{'.
+// enum E21 extends B with C implements { element }
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:83:28: Error: Expected a type, but got '{'.
+// enum E22 with C implements { element }
+//                            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:84:21: Error: Expected a type, but got '{'.
+// enum E23 implements { element }
+//                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:85:10: Error: Unexpected tokens.
+// enum E24 extends B extends { element }
+//          ^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:86:17: Error: Each 'enum' definition can have at most one 'with' clause.
+// Try combining all of the 'with' clauses into a single clause.
+// enum E25 with C with { element }
+//                 ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:87:23: Error: Each 'enum' definition can have at most one 'implements' clause.
+// Try combining all of the 'implements' clauses into a single clause.
+// enum E26 implements D implements { element }
+//                       ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:89:7: Error: 'B' is already declared in this scope.
+// class B {}
+//       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:28: Context: Previous declaration of 'B'.
+// enum E12 extends B extends B with C implements D { element }
+//                            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:90:7: Error: 'C' is already declared in this scope.
+// class C {}
+//       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:31: Context: Previous declaration of 'C'.
+// class N17 = implements D with C;
+//                               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:91:7: Error: 'D' is already declared in this scope.
+// class D {}
+//       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:48: Context: Previous declaration of 'D'.
+// enum E12 extends B extends B with C implements D { element }
+//                                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:5:17: Error: 'B' isn't a type.
+// class A extends B with C implements D {}
+//                 ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:5:17: Context: This isn't a type.
+// class A extends B with C implements D {}
+//                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:5:24: Error: 'C' isn't a type.
+// class A extends B with C implements D {}
+//                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:5:24: Context: This isn't a type.
+// class A extends B with C implements D {}
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:5:37: Error: 'D' isn't a type.
+// class A extends B with C implements D {}
+//                                     ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:5:37: Context: This isn't a type.
+// class A extends B with C implements D {}
+//                                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:6:18: Error: 'B' isn't a type.
+// class A1 extends B implements D with C {}
+//                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:6:18: Context: This isn't a type.
+// class A1 extends B implements D with C {}
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:6:31: Error: 'D' isn't a type.
+// class A1 extends B implements D with C {}
+//                               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:6:31: Context: This isn't a type.
+// class A1 extends B implements D with C {}
+//                               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:6:38: Error: 'C' isn't a type.
+// class A1 extends B implements D with C {}
+//                                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:6:38: Context: This isn't a type.
+// class A1 extends B implements D with C {}
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:7:21: Error: 'D' isn't a type.
+// class A2 implements D extends B with C {}
+//                     ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:7:21: Context: This isn't a type.
+// class A2 implements D extends B with C {}
+//                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:7:31: Error: 'B' isn't a type.
+// class A2 implements D extends B with C {}
+//                               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:7:31: Context: This isn't a type.
+// class A2 implements D extends B with C {}
+//                               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:7:38: Error: 'C' isn't a type.
+// class A2 implements D extends B with C {}
+//                                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:7:38: Context: This isn't a type.
+// class A2 implements D extends B with C {}
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:8:21: Error: 'D' isn't a type.
+// class A3 implements D with C extends B {}
+//                     ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:8:21: Context: This isn't a type.
+// class A3 implements D with C extends B {}
+//                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:8:28: Error: 'C' isn't a type.
+// class A3 implements D with C extends B {}
+//                            ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:8:28: Context: This isn't a type.
+// class A3 implements D with C extends B {}
+//                            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:8:38: Error: 'B' isn't a type.
+// class A3 implements D with C extends B {}
+//                                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:8:38: Context: This isn't a type.
+// class A3 implements D with C extends B {}
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:9:15: Error: 'C' isn't a type.
+// class A4 with C implements D extends B {}
+//               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:9:15: Context: This isn't a type.
+// class A4 with C implements D extends B {}
+//               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:9:28: Error: 'D' isn't a type.
+// class A4 with C implements D extends B {}
+//                            ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:9:28: Context: This isn't a type.
+// class A4 with C implements D extends B {}
+//                            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:9:38: Error: 'B' isn't a type.
+// class A4 with C implements D extends B {}
+//                                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:9:38: Context: This isn't a type.
+// class A4 with C implements D extends B {}
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:10:15: Error: 'C' isn't a type.
+// class A5 with C extends B implements D {}
+//               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:10:15: Context: This isn't a type.
+// class A5 with C extends B implements D {}
+//               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:10:25: Error: 'B' isn't a type.
+// class A5 with C extends B implements D {}
+//                         ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:10:25: Context: This isn't a type.
+// class A5 with C extends B implements D {}
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:10:38: Error: 'D' isn't a type.
+// class A5 with C extends B implements D {}
+//                                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:10:38: Context: This isn't a type.
+// class A5 with C extends B implements D {}
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:11:18: Error: 'B' isn't a type.
+// class A6 extends B with C implements D extends B {}
+//                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:11:18: Context: This isn't a type.
+// class A6 extends B with C implements D extends B {}
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:11:25: Error: 'C' isn't a type.
+// class A6 extends B with C implements D extends B {}
+//                         ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:11:25: Context: This isn't a type.
+// class A6 extends B with C implements D extends B {}
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:11:38: Error: 'D' isn't a type.
+// class A6 extends B with C implements D extends B {}
+//                                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:11:38: Context: This isn't a type.
+// class A6 extends B with C implements D extends B {}
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:11:48: Error: 'B' isn't a type.
+// class A6 extends B with C implements D extends B {}
+//                                                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:11:48: Context: This isn't a type.
+// class A6 extends B with C implements D extends B {}
+//                                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:12:18: Error: 'B' isn't a type.
+// class A7 extends B with C implements D implements D {}
+//                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:12:18: Context: This isn't a type.
+// class A7 extends B with C implements D implements D {}
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:12:25: Error: 'C' isn't a type.
+// class A7 extends B with C implements D implements D {}
+//                         ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:12:25: Context: This isn't a type.
+// class A7 extends B with C implements D implements D {}
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:12:38: Error: 'D' isn't a type.
+// class A7 extends B with C implements D implements D {}
+//                                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:12:38: Context: This isn't a type.
+// class A7 extends B with C implements D implements D {}
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:12:51: Error: 'D' isn't a type.
+// class A7 extends B with C implements D implements D {}
+//                                                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:12:51: Context: This isn't a type.
+// class A7 extends B with C implements D implements D {}
+//                                                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:13:18: Error: 'B' isn't a type.
+// class A8 extends B with C implements D with C {}
+//                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:13:18: Context: This isn't a type.
+// class A8 extends B with C implements D with C {}
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:13:25: Error: 'C' isn't a type.
+// class A8 extends B with C implements D with C {}
+//                         ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:13:25: Context: This isn't a type.
+// class A8 extends B with C implements D with C {}
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:13:38: Error: 'D' isn't a type.
+// class A8 extends B with C implements D with C {}
+//                                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:13:38: Context: This isn't a type.
+// class A8 extends B with C implements D with C {}
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:13:45: Error: 'C' isn't a type.
+// class A8 extends B with C implements D with C {}
+//                                             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:13:45: Context: This isn't a type.
+// class A8 extends B with C implements D with C {}
+//                                             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:14:18: Error: 'B' isn't a type.
+// class A9 extends B implements D with C extends B {}
+//                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:14:18: Context: This isn't a type.
+// class A9 extends B implements D with C extends B {}
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:14:31: Error: 'D' isn't a type.
+// class A9 extends B implements D with C extends B {}
+//                               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:14:31: Context: This isn't a type.
+// class A9 extends B implements D with C extends B {}
+//                               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:14:38: Error: 'C' isn't a type.
+// class A9 extends B implements D with C extends B {}
+//                                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:14:38: Context: This isn't a type.
+// class A9 extends B implements D with C extends B {}
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:14:48: Error: 'B' isn't a type.
+// class A9 extends B implements D with C extends B {}
+//                                                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:14:48: Context: This isn't a type.
+// class A9 extends B implements D with C extends B {}
+//                                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:15:19: Error: 'B' isn't a type.
+// class A10 extends B implements D with C implements D {}
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:15:19: Context: This isn't a type.
+// class A10 extends B implements D with C implements D {}
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:15:32: Error: 'D' isn't a type.
+// class A10 extends B implements D with C implements D {}
+//                                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:15:32: Context: This isn't a type.
+// class A10 extends B implements D with C implements D {}
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:15:39: Error: 'C' isn't a type.
+// class A10 extends B implements D with C implements D {}
+//                                       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:15:39: Context: This isn't a type.
+// class A10 extends B implements D with C implements D {}
+//                                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:15:52: Error: 'D' isn't a type.
+// class A10 extends B implements D with C implements D {}
+//                                                    ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:15:52: Context: This isn't a type.
+// class A10 extends B implements D with C implements D {}
+//                                                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:16:19: Error: 'B' isn't a type.
+// class A11 extends B implements D with C with C {}
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:16:19: Context: This isn't a type.
+// class A11 extends B implements D with C with C {}
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:16:32: Error: 'D' isn't a type.
+// class A11 extends B implements D with C with C {}
+//                                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:16:32: Context: This isn't a type.
+// class A11 extends B implements D with C with C {}
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:16:39: Error: 'C' isn't a type.
+// class A11 extends B implements D with C with C {}
+//                                       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:16:39: Context: This isn't a type.
+// class A11 extends B implements D with C with C {}
+//                                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:16:46: Error: 'C' isn't a type.
+// class A11 extends B implements D with C with C {}
+//                                              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:16:46: Context: This isn't a type.
+// class A11 extends B implements D with C with C {}
+//                                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:17:19: Error: 'B' isn't a type.
+// class A12 extends B extends B with C implements D {}
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:17:19: Context: This isn't a type.
+// class A12 extends B extends B with C implements D {}
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:17:29: Error: 'B' isn't a type.
+// class A12 extends B extends B with C implements D {}
+//                             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:17:29: Context: This isn't a type.
+// class A12 extends B extends B with C implements D {}
+//                             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:17:36: Error: 'C' isn't a type.
+// class A12 extends B extends B with C implements D {}
+//                                    ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:17:36: Context: This isn't a type.
+// class A12 extends B extends B with C implements D {}
+//                                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:17:49: Error: 'D' isn't a type.
+// class A12 extends B extends B with C implements D {}
+//                                                 ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:17:49: Context: This isn't a type.
+// class A12 extends B extends B with C implements D {}
+//                                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:18:19: Error: 'B' isn't a type.
+// class A13 extends B with C with C implements D {}
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:18:19: Context: This isn't a type.
+// class A13 extends B with C with C implements D {}
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:18:26: Error: 'C' isn't a type.
+// class A13 extends B with C with C implements D {}
+//                          ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:18:26: Context: This isn't a type.
+// class A13 extends B with C with C implements D {}
+//                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:18:33: Error: 'C' isn't a type.
+// class A13 extends B with C with C implements D {}
+//                                 ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:18:33: Context: This isn't a type.
+// class A13 extends B with C with C implements D {}
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:18:46: Error: 'D' isn't a type.
+// class A13 extends B with C with C implements D {}
+//                                              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:18:46: Context: This isn't a type.
+// class A13 extends B with C with C implements D {}
+//                                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:19:19: Error: 'B' isn't a type.
+// class A14 extends B with C implements D implements D {}
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:19:19: Context: This isn't a type.
+// class A14 extends B with C implements D implements D {}
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:19:26: Error: 'C' isn't a type.
+// class A14 extends B with C implements D implements D {}
+//                          ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:19:26: Context: This isn't a type.
+// class A14 extends B with C implements D implements D {}
+//                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:19:39: Error: 'D' isn't a type.
+// class A14 extends B with C implements D implements D {}
+//                                       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:19:39: Context: This isn't a type.
+// class A14 extends B with C implements D implements D {}
+//                                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:19:52: Error: 'D' isn't a type.
+// class A14 extends B with C implements D implements D {}
+//                                                    ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:19:52: Context: This isn't a type.
+// class A14 extends B with C implements D implements D {}
+//                                                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:20:16: Error: 'D' isn't a type.
+// class A15 with D extends B {}
+//                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:20:16: Context: This isn't a type.
+// class A15 with D extends B {}
+//                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:20:26: Error: 'B' isn't a type.
+// class A15 with D extends B {}
+//                          ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:20:26: Context: This isn't a type.
+// class A15 with D extends B {}
+//                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:21:22: Error: 'D' isn't a type.
+// class A16 implements D extends B {}
+//                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:21:22: Context: This isn't a type.
+// class A16 implements D extends B {}
+//                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:21:32: Error: 'B' isn't a type.
+// class A16 implements D extends B {}
+//                                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:21:32: Context: This isn't a type.
+// class A16 implements D extends B {}
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:22:22: Error: 'D' isn't a type.
+// class A17 implements D with C {}
+//                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:22:22: Context: This isn't a type.
+// class A17 implements D with C {}
+//                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:22:29: Error: 'C' isn't a type.
+// class A17 implements D with C {}
+//                             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:22:29: Context: This isn't a type.
+// class A17 implements D with C {}
+//                             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:24:19: Error: 'B' isn't a type.
+// class A19 extends B with {}
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:24:19: Context: This isn't a type.
+// class A19 extends B with {}
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:26:19: Error: 'B' isn't a type.
+// class A21 extends B with C implements {}
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:26:19: Context: This isn't a type.
+// class A21 extends B with C implements {}
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:26:26: Error: 'C' isn't a type.
+// class A21 extends B with C implements {}
+//                          ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:26:26: Context: This isn't a type.
+// class A21 extends B with C implements {}
+//                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:27:16: Error: 'C' isn't a type.
+// class A22 with C implements {}
+//                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:27:16: Context: This isn't a type.
+// class A22 with C implements {}
+//                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:29:19: Error: 'B' isn't a type.
+// class A24 extends B extends {}
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:29:19: Context: This isn't a type.
+// class A24 extends B extends {}
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:30:16: Error: 'C' isn't a type.
+// class A25 with C with {}
+//                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:30:16: Context: This isn't a type.
+// class A25 with C with {}
+//                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:31:22: Error: 'D' isn't a type.
+// class A26 implements D implements {}
+//                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:31:22: Context: This isn't a type.
+// class A26 implements D implements {}
+//                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:33:11: Error: 'B' isn't a type.
+// class N = B with C implements D;
+//           ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:33:11: Context: This isn't a type.
+// class N = B with C implements D;
+//           ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:33:18: Error: 'C' isn't a type.
+// class N = B with C implements D;
+//                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:33:18: Context: This isn't a type.
+// class N = B with C implements D;
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:33:31: Error: 'D' isn't a type.
+// class N = B with C implements D;
+//                               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:33:31: Context: This isn't a type.
+// class N = B with C implements D;
+//                               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:12: Error: 'B' isn't a type.
+// class N1 = B implements D with C;
+//            ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:12: Context: This isn't a type.
+// class N1 = B implements D with C;
+//            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:25: Error: 'D' isn't a type.
+// class N1 = B implements D with C;
+//                         ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:25: Context: This isn't a type.
+// class N1 = B implements D with C;
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:12: Error: 'implements' isn't a type.
+// class N2 = implements D extends B with C;
+//            ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:12: Context: This isn't a type.
+// class N2 = implements D extends B with C;
+//            ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:23: Error: 'D' isn't a type.
+// class N2 = implements D extends B with C;
+//                       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:23: Context: This isn't a type.
+// class N2 = implements D extends B with C;
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:12: Error: 'implements' isn't a type.
+// class N3 = implements D with C extends B;
+//            ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:12: Context: This isn't a type.
+// class N3 = implements D with C extends B;
+//            ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:23: Error: 'D' isn't a type.
+// class N3 = implements D with C extends B;
+//                       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:23: Context: This isn't a type.
+// class N3 = implements D with C extends B;
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:17: Error: 'C' isn't a type.
+// class N4 = with C implements D extends B;
+//                 ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:17: Context: This isn't a type.
+// class N4 = with C implements D extends B;
+//                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:30: Error: 'D' isn't a type.
+// class N4 = with C implements D extends B;
+//                              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:30: Context: This isn't a type.
+// class N4 = with C implements D extends B;
+//                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:17: Error: 'C' isn't a type.
+// class N5 = with C extends B implements D;
+//                 ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:17: Context: This isn't a type.
+// class N5 = with C extends B implements D;
+//                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:27: Error: 'B' isn't a type.
+// class N5 = with C extends B implements D;
+//                           ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:27: Context: This isn't a type.
+// class N5 = with C extends B implements D;
+//                           ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:12: Error: 'B' isn't a type.
+// class N6 = B with C implements D extends B;
+//            ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:12: Context: This isn't a type.
+// class N6 = B with C implements D extends B;
+//            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:19: Error: 'C' isn't a type.
+// class N6 = B with C implements D extends B;
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:19: Context: This isn't a type.
+// class N6 = B with C implements D extends B;
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:32: Error: 'D' isn't a type.
+// class N6 = B with C implements D extends B;
+//                                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:32: Context: This isn't a type.
+// class N6 = B with C implements D extends B;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:12: Error: 'B' isn't a type.
+// class N7 = B with C implements D implements D;
+//            ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:12: Context: This isn't a type.
+// class N7 = B with C implements D implements D;
+//            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:19: Error: 'C' isn't a type.
+// class N7 = B with C implements D implements D;
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:19: Context: This isn't a type.
+// class N7 = B with C implements D implements D;
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:32: Error: 'D' isn't a type.
+// class N7 = B with C implements D implements D;
+//                                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:32: Context: This isn't a type.
+// class N7 = B with C implements D implements D;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:12: Error: 'B' isn't a type.
+// class N8 = B with C implements D with C;
+//            ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:12: Context: This isn't a type.
+// class N8 = B with C implements D with C;
+//            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:19: Error: 'C' isn't a type.
+// class N8 = B with C implements D with C;
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:19: Context: This isn't a type.
+// class N8 = B with C implements D with C;
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:32: Error: 'D' isn't a type.
+// class N8 = B with C implements D with C;
+//                                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:32: Context: This isn't a type.
+// class N8 = B with C implements D with C;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:12: Error: 'B' isn't a type.
+// class N9 = B implements D with C extends B;
+//            ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:12: Context: This isn't a type.
+// class N9 = B implements D with C extends B;
+//            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:25: Error: 'D' isn't a type.
+// class N9 = B implements D with C extends B;
+//                         ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:25: Context: This isn't a type.
+// class N9 = B implements D with C extends B;
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:13: Error: 'B' isn't a type.
+// class N10 = B implements D with C implements D;
+//             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:13: Context: This isn't a type.
+// class N10 = B implements D with C implements D;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:26: Error: 'D' isn't a type.
+// class N10 = B implements D with C implements D;
+//                          ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:26: Context: This isn't a type.
+// class N10 = B implements D with C implements D;
+//                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:33: Error: 'C' isn't a type.
+// class N10 = B implements D with C implements D;
+//                                 ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:33: Context: This isn't a type.
+// class N10 = B implements D with C implements D;
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:13: Error: 'B' isn't a type.
+// class N11 = B implements D with C with C;
+//             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:13: Context: This isn't a type.
+// class N11 = B implements D with C with C;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:26: Error: 'D' isn't a type.
+// class N11 = B implements D with C with C;
+//                          ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:26: Context: This isn't a type.
+// class N11 = B implements D with C with C;
+//                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:13: Error: 'B' isn't a type.
+// class N12 = B extends B with C implements D;
+//             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:13: Context: This isn't a type.
+// class N12 = B extends B with C implements D;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:30: Error: 'C' isn't a type.
+// class N12 = B extends B with C implements D;
+//                              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:30: Context: This isn't a type.
+// class N12 = B extends B with C implements D;
+//                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:13: Error: 'B' isn't a type.
+// class N13 = B with C with C implements D;
+//             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:13: Context: This isn't a type.
+// class N13 = B with C with C implements D;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:20: Error: 'C' isn't a type.
+// class N13 = B with C with C implements D;
+//                    ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:20: Context: This isn't a type.
+// class N13 = B with C with C implements D;
+//                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:27: Error: 'C' isn't a type.
+// class N13 = B with C with C implements D;
+//                           ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:27: Context: This isn't a type.
+// class N13 = B with C with C implements D;
+//                           ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:13: Error: 'B' isn't a type.
+// class N14 = B with C implements D implements D;
+//             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:13: Context: This isn't a type.
+// class N14 = B with C implements D implements D;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:20: Error: 'C' isn't a type.
+// class N14 = B with C implements D implements D;
+//                    ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:20: Context: This isn't a type.
+// class N14 = B with C implements D implements D;
+//                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:33: Error: 'D' isn't a type.
+// class N14 = B with C implements D implements D;
+//                                 ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:33: Context: This isn't a type.
+// class N14 = B with C implements D implements D;
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:18: Error: 'D' isn't a type.
+// class N15 = with D extends B;
+//                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:18: Context: This isn't a type.
+// class N15 = with D extends B;
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:13: Error: 'implements' isn't a type.
+// class N16 = implements D extends B;
+//             ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:13: Context: This isn't a type.
+// class N16 = implements D extends B;
+//             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:24: Error: 'D' isn't a type.
+// class N16 = implements D extends B;
+//                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:24: Context: This isn't a type.
+// class N16 = implements D extends B;
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:13: Error: 'implements' isn't a type.
+// class N17 = implements D with C;
+//             ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:13: Context: This isn't a type.
+// class N17 = implements D with C;
+//             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:24: Error: 'D' isn't a type.
+// class N17 = implements D with C;
+//                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:24: Context: This isn't a type.
+// class N17 = implements D with C;
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:52:13: Error: 'B' isn't a type.
+// class N19 = B with;
+//             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:52:13: Context: This isn't a type.
+// class N19 = B with;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:54:13: Error: 'B' isn't a type.
+// class N21 = B with C implements;
+//             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:54:13: Context: This isn't a type.
+// class N21 = B with C implements;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:54:20: Error: 'C' isn't a type.
+// class N21 = B with C implements;
+//                    ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:54:20: Context: This isn't a type.
+// class N21 = B with C implements;
+//                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:55:18: Error: 'C' isn't a type.
+// class N22 = with C implements;
+//                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:55:18: Context: This isn't a type.
+// class N22 = with C implements;
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:56:13: Error: 'implements' isn't a type.
+// class N23 = implements;
+//             ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:56:13: Context: This isn't a type.
+// class N23 = implements;
+//             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:57:13: Error: 'B' isn't a type.
+// class N24 = B extends;
+//             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:57:13: Context: This isn't a type.
+// class N24 = B extends;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:58:18: Error: 'C' isn't a type.
+// class N25 = with C with;
+//                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:58:18: Context: This isn't a type.
+// class N25 = with C with;
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:59:13: Error: 'implements' isn't a type.
+// class N26 = implements D implements;
+//             ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:59:13: Context: This isn't a type.
+// class N26 = implements D implements;
+//             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:59:24: Error: 'D' isn't a type.
+// class N26 = implements D implements;
+//                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:59:24: Context: This isn't a type.
+// class N26 = implements D implements;
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:61:23: Error: 'C' isn't a type.
+// enum E extends B with C implements D { element }
+//                       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:61:23: Context: This isn't a type.
+// enum E extends B with C implements D { element }
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:61:36: Error: 'D' isn't a type.
+// enum E extends B with C implements D { element }
+//                                    ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:61:36: Context: This isn't a type.
+// enum E extends B with C implements D { element }
+//                                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:62:30: Error: 'D' isn't a type.
+// enum E1 extends B implements D with C { element }
+//                              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:62:30: Context: This isn't a type.
+// enum E1 extends B implements D with C { element }
+//                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:63:20: Error: 'D' isn't a type.
+// enum E2 implements D extends B with C { element }
+//                    ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:63:20: Context: This isn't a type.
+// enum E2 implements D extends B with C { element }
+//                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:64:20: Error: 'D' isn't a type.
+// enum E3 implements D with C extends B { element }
+//                    ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:64:20: Context: This isn't a type.
+// enum E3 implements D with C extends B { element }
+//                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:65:14: Error: 'C' isn't a type.
+// enum E4 with C implements D extends B { element }
+//              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:65:14: Context: This isn't a type.
+// enum E4 with C implements D extends B { element }
+//              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:65:27: Error: 'D' isn't a type.
+// enum E4 with C implements D extends B { element }
+//                           ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:65:27: Context: This isn't a type.
+// enum E4 with C implements D extends B { element }
+//                           ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:66:14: Error: 'C' isn't a type.
+// enum E5 with C extends B implements D { element }
+//              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:66:14: Context: This isn't a type.
+// enum E5 with C extends B implements D { element }
+//              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:66:37: Error: 'D' isn't a type.
+// enum E5 with C extends B implements D { element }
+//                                     ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:66:37: Context: This isn't a type.
+// enum E5 with C extends B implements D { element }
+//                                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:67:24: Error: 'C' isn't a type.
+// enum E6 extends B with C implements D extends B { element }
+//                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:67:24: Context: This isn't a type.
+// enum E6 extends B with C implements D extends B { element }
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:67:37: Error: 'D' isn't a type.
+// enum E6 extends B with C implements D extends B { element }
+//                                     ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:67:37: Context: This isn't a type.
+// enum E6 extends B with C implements D extends B { element }
+//                                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:68:24: Error: 'C' isn't a type.
+// enum E7 extends B with C implements D implements D { element }
+//                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:68:24: Context: This isn't a type.
+// enum E7 extends B with C implements D implements D { element }
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:68:37: Error: 'D' isn't a type.
+// enum E7 extends B with C implements D implements D { element }
+//                                     ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:68:37: Context: This isn't a type.
+// enum E7 extends B with C implements D implements D { element }
+//                                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:69:24: Error: 'C' isn't a type.
+// enum E8 extends B with C implements D with C { element }
+//                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:69:24: Context: This isn't a type.
+// enum E8 extends B with C implements D with C { element }
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:69:37: Error: 'D' isn't a type.
+// enum E8 extends B with C implements D with C { element }
+//                                     ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:69:37: Context: This isn't a type.
+// enum E8 extends B with C implements D with C { element }
+//                                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:70:30: Error: 'D' isn't a type.
+// enum E9 extends B implements D with C extends B { element }
+//                              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:70:30: Context: This isn't a type.
+// enum E9 extends B implements D with C extends B { element }
+//                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:71:31: Error: 'D' isn't a type.
+// enum E10 extends B implements D with C implements D { element }
+//                               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:71:31: Context: This isn't a type.
+// enum E10 extends B implements D with C implements D { element }
+//                               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:72:31: Error: 'D' isn't a type.
+// enum E11 extends B implements D with C with C { element }
+//                               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:72:31: Context: This isn't a type.
+// enum E11 extends B implements D with C with C { element }
+//                               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:35: Error: 'C' isn't a type.
+// enum E12 extends B extends B with C implements D { element }
+//                                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:35: Context: This isn't a type.
+// enum E12 extends B extends B with C implements D { element }
+//                                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:74:25: Error: 'C' isn't a type.
+// enum E13 extends B with C with C implements D { element }
+//                         ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:74:25: Context: This isn't a type.
+// enum E13 extends B with C with C implements D { element }
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:74:45: Error: 'D' isn't a type.
+// enum E13 extends B with C with C implements D { element }
+//                                             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:74:45: Context: This isn't a type.
+// enum E13 extends B with C with C implements D { element }
+//                                             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:75:25: Error: 'C' isn't a type.
+// enum E14 extends B with C implements D implements D { element }
+//                         ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:75:25: Context: This isn't a type.
+// enum E14 extends B with C implements D implements D { element }
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:75:38: Error: 'D' isn't a type.
+// enum E14 extends B with C implements D implements D { element }
+//                                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:75:38: Context: This isn't a type.
+// enum E14 extends B with C implements D implements D { element }
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:76:15: Error: 'D' isn't a type.
+// enum E15 with D extends B { element }
+//               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:76:15: Context: This isn't a type.
+// enum E15 with D extends B { element }
+//               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:77:21: Error: 'D' isn't a type.
+// enum E16 implements D extends B { element }
+//                     ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:77:21: Context: This isn't a type.
+// enum E16 implements D extends B { element }
+//                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:78:21: Error: 'D' isn't a type.
+// enum E17 implements D with C { element }
+//                     ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:78:21: Context: This isn't a type.
+// enum E17 implements D with C { element }
+//                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:82:25: Error: 'C' isn't a type.
+// enum E21 extends B with C implements { element }
+//                         ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:82:25: Context: This isn't a type.
+// enum E21 extends B with C implements { element }
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:83:15: Error: 'C' isn't a type.
+// enum E22 with C implements { element }
+//               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:83:15: Context: This isn't a type.
+// enum E22 with C implements { element }
+//               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:86:15: Error: 'C' isn't a type.
+// enum E25 with C with { element }
+//               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:86:15: Context: This isn't a type.
+// enum E25 with C with { element }
+//               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:87:21: Error: 'D' isn't a type.
+// enum E26 implements D implements { element }
+//                     ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:87:21: Context: This isn't a type.
+// enum E26 implements D implements { element }
+//                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:5:7: Error: The type 'C' can't be mixed in.
+// class A extends B with C implements D {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:9:7: Error: The type 'C' can't be mixed in.
+// class A4 with C implements D extends B {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:10:7: Error: The type 'C' can't be mixed in.
+// class A5 with C extends B implements D {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:11:7: Error: The type 'C' can't be mixed in.
+// class A6 extends B with C implements D extends B {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:12:7: Error: The type 'C' can't be mixed in.
+// class A7 extends B with C implements D implements D {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:13:7: Error: The type 'C' can't be mixed in.
+// class A8 extends B with C implements D with C {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:18:7: Error: The type 'C' can't be mixed in.
+// class A13 extends B with C with C implements D {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:19:7: Error: The type 'C' can't be mixed in.
+// class A14 extends B with C implements D implements D {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:20:7: Error: The type 'D' can't be mixed in.
+// class A15 with D extends B {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:26:7: Error: The type 'C' can't be mixed in.
+// class A21 extends B with C implements {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:27:7: Error: The type 'C' can't be mixed in.
+// class A22 with C implements {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:30:7: Error: The type 'C' can't be mixed in.
+// class A25 with C with {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:33:7: Error: The type 'C' can't be mixed in.
+// class N = B with C implements D;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:7: Error: The type 'D' can't be mixed in.
+// class N2 = implements D extends B with C;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:7: Error: The type 'D' can't be mixed in.
+// class N3 = implements D with C extends B;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:7: Error: The type 'C' can't be mixed in.
+// class N6 = B with C implements D extends B;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:7: Error: The type 'C' can't be mixed in.
+// class N7 = B with C implements D implements D;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:7: Error: The type 'C' can't be mixed in.
+// class N8 = B with C implements D with C;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:7: Error: The type 'C' can't be mixed in.
+// class N13 = B with C with C implements D;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:7: Error: The type 'C' can't be mixed in.
+// class N14 = B with C implements D implements D;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:7: Error: The type 'D' can't be mixed in.
+// class N16 = implements D extends B;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:7: Error: The type 'D' can't be mixed in.
+// class N17 = implements D with C;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:54:7: Error: The type 'C' can't be mixed in.
+// class N21 = B with C implements;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:59:7: Error: The type 'D' can't be mixed in.
+// class N26 = implements D implements;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:61:6: Error: The type 'C' can't be mixed in.
+// enum E extends B with C implements D { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:65:6: Error: The type 'C' can't be mixed in.
+// enum E4 with C implements D extends B { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:66:6: Error: The type 'C' can't be mixed in.
+// enum E5 with C extends B implements D { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:67:6: Error: The type 'C' can't be mixed in.
+// enum E6 extends B with C implements D extends B { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:68:6: Error: The type 'C' can't be mixed in.
+// enum E7 extends B with C implements D implements D { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:69:6: Error: The type 'C' can't be mixed in.
+// enum E8 extends B with C implements D with C { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:74:6: Error: The type 'C' can't be mixed in.
+// enum E13 extends B with C with C implements D { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:75:6: Error: The type 'C' can't be mixed in.
+// enum E14 extends B with C implements D implements D { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:76:6: Error: The type 'D' can't be mixed in.
+// enum E15 with D extends B { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:82:6: Error: The type 'C' can't be mixed in.
+// enum E21 extends B with C implements { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:83:6: Error: The type 'C' can't be mixed in.
+// enum E22 with C implements { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:86:6: Error: The type 'C' can't be mixed in.
+// enum E25 with C with { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:27: Error: Can't use 'B' because it is declared more than once.
+// class N5 = with C extends B implements D;
+//                           ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:33: Error: Can't use 'C' because it is declared more than once.
+// class N10 = B implements D with C implements D;
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:30: Error: Can't use 'C' because it is declared more than once.
+// class N12 = B extends B with C implements D;
+//                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:27: Error: Can't use 'C' because it is declared more than once.
+// class N13 = B with C with C implements D;
+//                           ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:35: Error: Can't use 'C' because it is declared more than once.
+// enum E12 extends B extends B with C implements D { element }
+//                                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:52: Error: Expected ';' after this.
+// enum E12 extends B extends B with C implements D { element }
+//                                                    ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:52: Error: Undefined name 'element'.
+// enum E12 extends B extends B with C implements D { element }
+//                                                    ^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+abstract class _A&B&C extends core::Object /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_A&B&C
+    : super core::Object::•()
+    ;
+}
+class A extends self::_A&B&C {
+  synthetic constructor •() → self::A
+    : super self::_A&B&C::•()
+    ;
+}
+class A1 extends core::Object {
+  synthetic constructor •() → self::A1
+    : super core::Object::•()
+    ;
+}
+class A2 extends core::Object {
+  synthetic constructor •() → self::A2
+    : super core::Object::•()
+    ;
+}
+class A3 extends core::Object {
+  synthetic constructor •() → self::A3
+    : super core::Object::•()
+    ;
+}
+abstract class _A4&Object&C extends core::Object /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_A4&Object&C
+    : super core::Object::•()
+    ;
+}
+class A4 extends self::_A4&Object&C {
+  synthetic constructor •() → self::A4
+    : super self::_A4&Object&C::•()
+    ;
+}
+abstract class _A5&Object&C extends core::Object /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_A5&Object&C
+    : super core::Object::•()
+    ;
+}
+class A5 extends self::_A5&Object&C {
+  synthetic constructor •() → self::A5
+    : super self::_A5&Object&C::•()
+    ;
+}
+abstract class _A6&B&C extends core::Object /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_A6&B&C
+    : super core::Object::•()
+    ;
+}
+class A6 extends self::_A6&B&C {
+  synthetic constructor •() → self::A6
+    : super self::_A6&B&C::•()
+    ;
+}
+abstract class _A7&B&C extends core::Object /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_A7&B&C
+    : super core::Object::•()
+    ;
+}
+class A7 extends self::_A7&B&C {
+  synthetic constructor •() → self::A7
+    : super self::_A7&B&C::•()
+    ;
+}
+abstract class _A8&B&C extends core::Object /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_A8&B&C
+    : super core::Object::•()
+    ;
+}
+class A8 extends self::_A8&B&C {
+  synthetic constructor •() → self::A8
+    : super self::_A8&B&C::•()
+    ;
+}
+class A9 extends core::Object {
+  synthetic constructor •() → self::A9
+    : super core::Object::•()
+    ;
+}
+class A10 extends core::Object {
+  synthetic constructor •() → self::A10
+    : super core::Object::•()
+    ;
+}
+class A11 extends core::Object {
+  synthetic constructor •() → self::A11
+    : super core::Object::•()
+    ;
+}
+class A12 extends core::Object {
+  synthetic constructor •() → self::A12
+    : super core::Object::•()
+    ;
+}
+abstract class _A13&B&C extends core::Object /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_A13&B&C
+    : super core::Object::•()
+    ;
+}
+class A13 extends self::_A13&B&C {
+  synthetic constructor •() → self::A13
+    : super self::_A13&B&C::•()
+    ;
+}
+abstract class _A14&B&C extends core::Object /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_A14&B&C
+    : super core::Object::•()
+    ;
+}
+class A14 extends self::_A14&B&C {
+  synthetic constructor •() → self::A14
+    : super self::_A14&B&C::•()
+    ;
+}
+abstract class _A15&Object&D extends core::Object /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_A15&Object&D
+    : super core::Object::•()
+    ;
+}
+class A15 extends self::_A15&Object&D {
+  synthetic constructor •() → self::A15
+    : super self::_A15&Object&D::•()
+    ;
+}
+class A16 extends core::Object {
+  synthetic constructor •() → self::A16
+    : super core::Object::•()
+    ;
+}
+class A17 extends core::Object {
+  synthetic constructor •() → self::A17
+    : super core::Object::•()
+    ;
+}
+class A18 extends core::Object {
+  synthetic constructor •() → self::A18
+    : super core::Object::•()
+    ;
+}
+class A19 extends core::Object {
+  synthetic constructor •() → self::A19
+    : super core::Object::•()
+    ;
+}
+class A20 extends core::Object {
+  synthetic constructor •() → self::A20
+    : super core::Object::•()
+    ;
+}
+abstract class _A21&B&C extends core::Object /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_A21&B&C
+    : super core::Object::•()
+    ;
+}
+class A21 extends self::_A21&B&C {
+  synthetic constructor •() → self::A21
+    : super self::_A21&B&C::•()
+    ;
+}
+abstract class _A22&Object&C extends core::Object /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_A22&Object&C
+    : super core::Object::•()
+    ;
+}
+class A22 extends self::_A22&Object&C {
+  synthetic constructor •() → self::A22
+    : super self::_A22&Object&C::•()
+    ;
+}
+class A23 extends core::Object {
+  synthetic constructor •() → self::A23
+    : super core::Object::•()
+    ;
+}
+class A24 extends core::Object {
+  synthetic constructor •() → self::A24
+    : super core::Object::•()
+    ;
+}
+abstract class _A25&Object&C extends core::Object /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_A25&Object&C
+    : super core::Object::•()
+    ;
+}
+class A25 extends self::_A25&Object&C {
+  synthetic constructor •() → self::A25
+    : super self::_A25&Object&C::•()
+    ;
+}
+class A26 extends core::Object {
+  synthetic constructor •() → self::A26
+    : super core::Object::•()
+    ;
+}
+class N extends core::Object {
+  synthetic constructor •() → self::N
+    : super core::Object::•()
+    ;
+}
+class C#8 extends core::Object {
+  synthetic constructor •() → self::C#8
+    : super core::Object::•()
+    ;
+}
+class N2 extends core::Object {
+  synthetic constructor •() → self::N2
+    : super core::Object::•()
+    ;
+}
+class B#10 extends core::Object {
+  synthetic constructor •() → self::B#10
+    : super core::Object::•()
+    ;
+}
+class N3 extends core::Object {
+  synthetic constructor •() → self::N3
+    : super core::Object::•()
+    ;
+}
+class D#7 extends core::Object {
+  synthetic constructor •() → self::D#7
+    : super core::Object::•()
+    ;
+}
+class N6 extends core::Object {
+  synthetic constructor •() → self::N6
+    : super core::Object::•()
+    ;
+}
+class N7 extends core::Object {
+  synthetic constructor •() → self::N7
+    : super core::Object::•()
+    ;
+}
+class N8 extends core::Object {
+  synthetic constructor •() → self::N8
+    : super core::Object::•()
+    ;
+}
+class N13 extends core::Object {
+  synthetic constructor •() → self::N13
+    : super core::Object::•()
+    ;
+}
+class N14 extends core::Object {
+  synthetic constructor •() → self::N14
+    : super core::Object::•()
+    ;
+}
+class N16 extends core::Object {
+  synthetic constructor •() → self::N16
+    : super core::Object::•()
+    ;
+}
+class N17 extends core::Object {
+  synthetic constructor •() → self::N17
+    : super core::Object::•()
+    ;
+}
+class N21 extends core::Object {
+  synthetic constructor •() → self::N21
+    : super core::Object::•()
+    ;
+}
+class N26 extends core::Object {
+  synthetic constructor •() → self::N26
+    : super core::Object::•()
+    ;
+}
+abstract class _E&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E extends self::_E&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E> values = #C4;
+  static const field self::E element = #C3;
+  const constructor •(core::int index, core::String name) → self::E
+    : super self::_E&_Enum&C::•(index, name)
+    ;
+  method toString() → core::String
+    return "E.${this.{core::_Enum::_name}{core::String}}";
+}
+class E1 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E1> values = #C6;
+  static const field self::E1 element = #C5;
+  const constructor •(core::int index, core::String name) → self::E1
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E1.${this.{core::_Enum::_name}{core::String}}";
+}
+class E2 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E2> values = #C8;
+  static const field self::E2 element = #C7;
+  const constructor •(core::int index, core::String name) → self::E2
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E2.${this.{core::_Enum::_name}{core::String}}";
+}
+class E3 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E3> values = #C10;
+  static const field self::E3 element = #C9;
+  const constructor •(core::int index, core::String name) → self::E3
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E3.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E4&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E4&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E4 extends self::_E4&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E4> values = #C12;
+  static const field self::E4 element = #C11;
+  const constructor •(core::int index, core::String name) → self::E4
+    : super self::_E4&_Enum&C::•(index, name)
+    ;
+  method toString() → core::String
+    return "E4.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E5&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E5&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E5 extends self::_E5&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E5> values = #C14;
+  static const field self::E5 element = #C13;
+  const constructor •(core::int index, core::String name) → self::E5
+    : super self::_E5&_Enum&C::•(index, name)
+    ;
+  method toString() → core::String
+    return "E5.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E6&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E6&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E6 extends self::_E6&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E6> values = #C16;
+  static const field self::E6 element = #C15;
+  const constructor •(core::int index, core::String name) → self::E6
+    : super self::_E6&_Enum&C::•(index, name)
+    ;
+  method toString() → core::String
+    return "E6.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E7&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E7&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E7 extends self::_E7&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E7> values = #C18;
+  static const field self::E7 element = #C17;
+  const constructor •(core::int index, core::String name) → self::E7
+    : super self::_E7&_Enum&C::•(index, name)
+    ;
+  method toString() → core::String
+    return "E7.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E8&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E8&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E8 extends self::_E8&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E8> values = #C20;
+  static const field self::E8 element = #C19;
+  const constructor •(core::int index, core::String name) → self::E8
+    : super self::_E8&_Enum&C::•(index, name)
+    ;
+  method toString() → core::String
+    return "E8.${this.{core::_Enum::_name}{core::String}}";
+}
+class E9 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E9> values = #C22;
+  static const field self::E9 element = #C21;
+  const constructor •(core::int index, core::String name) → self::E9
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E9.${this.{core::_Enum::_name}{core::String}}";
+}
+class E10 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E10> values = #C24;
+  static const field self::E10 element = #C23;
+  const constructor •(core::int index, core::String name) → self::E10
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E10.${this.{core::_Enum::_name}{core::String}}";
+}
+class E11 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E11> values = #C26;
+  static const field self::E11 element = #C25;
+  const constructor •(core::int index, core::String name) → self::E11
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E11.${this.{core::_Enum::_name}{core::String}}";
+}
+class E12 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E12> values = #C27;
+  const constructor •(core::int index, core::String name) → self::E12
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E12.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E13&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E13&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E13 extends self::_E13&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E13> values = #C29;
+  static const field self::E13 element = #C28;
+  const constructor •(core::int index, core::String name) → self::E13
+    : super self::_E13&_Enum&C::•(index, name)
+    ;
+  method toString() → core::String
+    return "E13.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E14&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E14&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E14 extends self::_E14&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E14> values = #C31;
+  static const field self::E14 element = #C30;
+  const constructor •(core::int index, core::String name) → self::E14
+    : super self::_E14&_Enum&C::•(index, name)
+    ;
+  method toString() → core::String
+    return "E14.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E15&_Enum&D extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E15&_Enum&D
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E15 extends self::_E15&_Enum&D /*isEnum*/  {
+  static const field core::List<self::E15> values = #C33;
+  static const field self::E15 element = #C32;
+  const constructor •(core::int index, core::String name) → self::E15
+    : super self::_E15&_Enum&D::•(index, name)
+    ;
+  method toString() → core::String
+    return "E15.${this.{core::_Enum::_name}{core::String}}";
+}
+class E16 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E16> values = #C35;
+  static const field self::E16 element = #C34;
+  const constructor •(core::int index, core::String name) → self::E16
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E16.${this.{core::_Enum::_name}{core::String}}";
+}
+class E17 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E17> values = #C37;
+  static const field self::E17 element = #C36;
+  const constructor •(core::int index, core::String name) → self::E17
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E17.${this.{core::_Enum::_name}{core::String}}";
+}
+class E18 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E18> values = #C39;
+  static const field self::E18 element = #C38;
+  const constructor •(core::int index, core::String name) → self::E18
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E18.${this.{core::_Enum::_name}{core::String}}";
+}
+class E19 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E19> values = #C41;
+  static const field self::E19 element = #C40;
+  const constructor •(core::int index, core::String name) → self::E19
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E19.${this.{core::_Enum::_name}{core::String}}";
+}
+class E20 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E20> values = #C43;
+  static const field self::E20 element = #C42;
+  const constructor •(core::int index, core::String name) → self::E20
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E20.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E21&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E21&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E21 extends self::_E21&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E21> values = #C45;
+  static const field self::E21 element = #C44;
+  const constructor •(core::int index, core::String name) → self::E21
+    : super self::_E21&_Enum&C::•(index, name)
+    ;
+  method toString() → core::String
+    return "E21.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E22&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E22&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E22 extends self::_E22&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E22> values = #C47;
+  static const field self::E22 element = #C46;
+  const constructor •(core::int index, core::String name) → self::E22
+    : super self::_E22&_Enum&C::•(index, name)
+    ;
+  method toString() → core::String
+    return "E22.${this.{core::_Enum::_name}{core::String}}";
+}
+class E23 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E23> values = #C49;
+  static const field self::E23 element = #C48;
+  const constructor •(core::int index, core::String name) → self::E23
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E23.${this.{core::_Enum::_name}{core::String}}";
+}
+class E24 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E24> values = #C51;
+  static const field self::E24 element = #C50;
+  const constructor •(core::int index, core::String name) → self::E24
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E24.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E25&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E25&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E25 extends self::_E25&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E25> values = #C53;
+  static const field self::E25 element = #C52;
+  const constructor •(core::int index, core::String name) → self::E25
+    : super self::_E25&_Enum&C::•(index, name)
+    ;
+  method toString() → core::String
+    return "E25.${this.{core::_Enum::_name}{core::String}}";
+}
+class E26 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E26> values = #C55;
+  static const field self::E26 element = #C54;
+  const constructor •(core::int index, core::String name) → self::E26
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E26.${this.{core::_Enum::_name}{core::String}}";
+}
+static field dynamic with;
+static field dynamic C;
+static field dynamic extends;
+static field dynamic B;
+static field invalid-type implements;
+static field dynamic D;
+static method main() → dynamic {}
+
+constants  {
+  #C1 = 0
+  #C2 = "element"
+  #C3 = self::E {index:#C1, _name:#C2}
+  #C4 = <self::E*>[#C3]
+  #C5 = self::E1 {index:#C1, _name:#C2}
+  #C6 = <self::E1*>[#C5]
+  #C7 = self::E2 {index:#C1, _name:#C2}
+  #C8 = <self::E2*>[#C7]
+  #C9 = self::E3 {index:#C1, _name:#C2}
+  #C10 = <self::E3*>[#C9]
+  #C11 = self::E4 {index:#C1, _name:#C2}
+  #C12 = <self::E4*>[#C11]
+  #C13 = self::E5 {index:#C1, _name:#C2}
+  #C14 = <self::E5*>[#C13]
+  #C15 = self::E6 {index:#C1, _name:#C2}
+  #C16 = <self::E6*>[#C15]
+  #C17 = self::E7 {index:#C1, _name:#C2}
+  #C18 = <self::E7*>[#C17]
+  #C19 = self::E8 {index:#C1, _name:#C2}
+  #C20 = <self::E8*>[#C19]
+  #C21 = self::E9 {index:#C1, _name:#C2}
+  #C22 = <self::E9*>[#C21]
+  #C23 = self::E10 {index:#C1, _name:#C2}
+  #C24 = <self::E10*>[#C23]
+  #C25 = self::E11 {index:#C1, _name:#C2}
+  #C26 = <self::E11*>[#C25]
+  #C27 = <self::E12*>[]
+  #C28 = self::E13 {index:#C1, _name:#C2}
+  #C29 = <self::E13*>[#C28]
+  #C30 = self::E14 {index:#C1, _name:#C2}
+  #C31 = <self::E14*>[#C30]
+  #C32 = self::E15 {index:#C1, _name:#C2}
+  #C33 = <self::E15*>[#C32]
+  #C34 = self::E16 {index:#C1, _name:#C2}
+  #C35 = <self::E16*>[#C34]
+  #C36 = self::E17 {index:#C1, _name:#C2}
+  #C37 = <self::E17*>[#C36]
+  #C38 = self::E18 {index:#C1, _name:#C2}
+  #C39 = <self::E18*>[#C38]
+  #C40 = self::E19 {index:#C1, _name:#C2}
+  #C41 = <self::E19*>[#C40]
+  #C42 = self::E20 {index:#C1, _name:#C2}
+  #C43 = <self::E20*>[#C42]
+  #C44 = self::E21 {index:#C1, _name:#C2}
+  #C45 = <self::E21*>[#C44]
+  #C46 = self::E22 {index:#C1, _name:#C2}
+  #C47 = <self::E22*>[#C46]
+  #C48 = self::E23 {index:#C1, _name:#C2}
+  #C49 = <self::E23*>[#C48]
+  #C50 = self::E24 {index:#C1, _name:#C2}
+  #C51 = <self::E24*>[#C50]
+  #C52 = self::E25 {index:#C1, _name:#C2}
+  #C53 = <self::E25*>[#C52]
+  #C54 = self::E26 {index:#C1, _name:#C2}
+  #C55 = <self::E26*>[#C54]
+}
+
+
+Constructor coverage from constants:
+org-dartlang-testcase:///class_header.dart:
+- E. (from org-dartlang-testcase:///class_header.dart:61:6)
+- _E&_Enum&C. (from org-dartlang-testcase:///class_header.dart:61:6)
+- _Enum. (from org-dartlang-sdk:///sdk/lib/core/enum.dart:103:9)
+- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
+- E1. (from org-dartlang-testcase:///class_header.dart:62:6)
+- E2. (from org-dartlang-testcase:///class_header.dart:63:6)
+- E3. (from org-dartlang-testcase:///class_header.dart:64:6)
+- E4. (from org-dartlang-testcase:///class_header.dart:65:6)
+- _E4&_Enum&C. (from org-dartlang-testcase:///class_header.dart:65:6)
+- E5. (from org-dartlang-testcase:///class_header.dart:66:6)
+- _E5&_Enum&C. (from org-dartlang-testcase:///class_header.dart:66:6)
+- E6. (from org-dartlang-testcase:///class_header.dart:67:6)
+- _E6&_Enum&C. (from org-dartlang-testcase:///class_header.dart:67:6)
+- E7. (from org-dartlang-testcase:///class_header.dart:68:6)
+- _E7&_Enum&C. (from org-dartlang-testcase:///class_header.dart:68:6)
+- E8. (from org-dartlang-testcase:///class_header.dart:69:6)
+- _E8&_Enum&C. (from org-dartlang-testcase:///class_header.dart:69:6)
+- E9. (from org-dartlang-testcase:///class_header.dart:70:6)
+- E10. (from org-dartlang-testcase:///class_header.dart:71:6)
+- E11. (from org-dartlang-testcase:///class_header.dart:72:6)
+- E13. (from org-dartlang-testcase:///class_header.dart:74:6)
+- _E13&_Enum&C. (from org-dartlang-testcase:///class_header.dart:74:6)
+- E14. (from org-dartlang-testcase:///class_header.dart:75:6)
+- _E14&_Enum&C. (from org-dartlang-testcase:///class_header.dart:75:6)
+- E15. (from org-dartlang-testcase:///class_header.dart:76:6)
+- _E15&_Enum&D. (from org-dartlang-testcase:///class_header.dart:76:6)
+- E16. (from org-dartlang-testcase:///class_header.dart:77:6)
+- E17. (from org-dartlang-testcase:///class_header.dart:78:6)
+- E18. (from org-dartlang-testcase:///class_header.dart:79:6)
+- E19. (from org-dartlang-testcase:///class_header.dart:80:6)
+- E20. (from org-dartlang-testcase:///class_header.dart:81:6)
+- E21. (from org-dartlang-testcase:///class_header.dart:82:6)
+- _E21&_Enum&C. (from org-dartlang-testcase:///class_header.dart:82:6)
+- E22. (from org-dartlang-testcase:///class_header.dart:83:6)
+- _E22&_Enum&C. (from org-dartlang-testcase:///class_header.dart:83:6)
+- E23. (from org-dartlang-testcase:///class_header.dart:84:6)
+- E24. (from org-dartlang-testcase:///class_header.dart:85:6)
+- E25. (from org-dartlang-testcase:///class_header.dart:86:6)
+- _E25&_Enum&C. (from org-dartlang-testcase:///class_header.dart:86:6)
+- E26. (from org-dartlang-testcase:///class_header.dart:87:6)
diff --git a/pkg/front_end/testcases/general/error_recovery/class_header.dart.weak.modular.expect b/pkg/front_end/testcases/general/error_recovery/class_header.dart.weak.modular.expect
new file mode 100644
index 0000000..fcda3be
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/class_header.dart.weak.modular.expect
@@ -0,0 +1,3356 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:6:33: Error: The with clause must be before the implements clause.
+// Try moving the with clause before the implements clause.
+// class A1 extends B implements D with C {}
+//                                 ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:7:23: Error: The extends clause must be before the implements clause.
+// Try moving the extends clause before the implements clause.
+// class A2 implements D extends B with C {}
+//                       ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:7:33: Error: The with clause must be before the implements clause.
+// Try moving the with clause before the implements clause.
+// class A2 implements D extends B with C {}
+//                                 ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:8:23: Error: The with clause must be before the implements clause.
+// Try moving the with clause before the implements clause.
+// class A3 implements D with C extends B {}
+//                       ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:8:30: Error: The extends clause must be before the with clause.
+// Try moving the extends clause before the with clause.
+// class A3 implements D with C extends B {}
+//                              ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:9:30: Error: The extends clause must be before the with clause.
+// Try moving the extends clause before the with clause.
+// class A4 with C implements D extends B {}
+//                              ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:10:17: Error: The extends clause must be before the with clause.
+// Try moving the extends clause before the with clause.
+// class A5 with C extends B implements D {}
+//                 ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:11:40: Error: Each class definition can have at most one extends clause.
+// Try choosing one superclass and define your class to implement (or mix in) the others.
+// class A6 extends B with C implements D extends B {}
+//                                        ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:12:40: Error: Each class definition can have at most one implements clause.
+// Try combining all of the implements clauses into a single clause.
+// class A7 extends B with C implements D implements D {}
+//                                        ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:13:40: Error: Each class definition can have at most one with clause.
+// Try combining all of the with clauses into a single clause.
+// class A8 extends B with C implements D with C {}
+//                                        ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:14:33: Error: The with clause must be before the implements clause.
+// Try moving the with clause before the implements clause.
+// class A9 extends B implements D with C extends B {}
+//                                 ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:14:40: Error: Each class definition can have at most one extends clause.
+// Try choosing one superclass and define your class to implement (or mix in) the others.
+// class A9 extends B implements D with C extends B {}
+//                                        ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:15:34: Error: The with clause must be before the implements clause.
+// Try moving the with clause before the implements clause.
+// class A10 extends B implements D with C implements D {}
+//                                  ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:15:41: Error: Each class definition can have at most one implements clause.
+// Try combining all of the implements clauses into a single clause.
+// class A10 extends B implements D with C implements D {}
+//                                         ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:16:34: Error: The with clause must be before the implements clause.
+// Try moving the with clause before the implements clause.
+// class A11 extends B implements D with C with C {}
+//                                  ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:16:41: Error: Each class definition can have at most one with clause.
+// Try combining all of the with clauses into a single clause.
+// class A11 extends B implements D with C with C {}
+//                                         ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:17:21: Error: Each class definition can have at most one extends clause.
+// Try choosing one superclass and define your class to implement (or mix in) the others.
+// class A12 extends B extends B with C implements D {}
+//                     ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:18:28: Error: Each class definition can have at most one with clause.
+// Try combining all of the with clauses into a single clause.
+// class A13 extends B with C with C implements D {}
+//                            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:19:41: Error: Each class definition can have at most one implements clause.
+// Try combining all of the implements clauses into a single clause.
+// class A14 extends B with C implements D implements D {}
+//                                         ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:20:18: Error: The extends clause must be before the with clause.
+// Try moving the extends clause before the with clause.
+// class A15 with D extends B {}
+//                  ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:21:24: Error: The extends clause must be before the implements clause.
+// Try moving the extends clause before the implements clause.
+// class A16 implements D extends B {}
+//                        ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:22:24: Error: The with clause must be before the implements clause.
+// Try moving the with clause before the implements clause.
+// class A17 implements D with C {}
+//                        ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:23:19: Error: Expected a type, but got '{'.
+// class A18 extends {}
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:24:26: Error: Expected a type, but got '{'.
+// class A19 extends B with {}
+//                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:25:16: Error: Expected a type, but got '{'.
+// class A20 with {}
+//                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:26:39: Error: Expected a type, but got '{'.
+// class A21 extends B with C implements {}
+//                                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:27:29: Error: Expected a type, but got '{'.
+// class A22 with C implements {}
+//                             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:28:22: Error: Expected a type, but got '{'.
+// class A23 implements {}
+//                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:29:29: Error: Expected a type, but got '{'.
+// class A24 extends B extends {}
+//                             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:29:21: Error: Each class definition can have at most one extends clause.
+// Try choosing one superclass and define your class to implement (or mix in) the others.
+// class A24 extends B extends {}
+//                     ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:30:23: Error: Expected a type, but got '{'.
+// class A25 with C with {}
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:30:18: Error: Each class definition can have at most one with clause.
+// Try combining all of the with clauses into a single clause.
+// class A25 with C with {}
+//                  ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:31:35: Error: Expected a type, but got '{'.
+// class A26 implements D implements {}
+//                                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:31:24: Error: Each class definition can have at most one implements clause.
+// Try combining all of the implements clauses into a single clause.
+// class A26 implements D implements {}
+//                        ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:14: Error: Expected 'with' before this.
+// class N1 = B implements D with C;
+//              ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:25: Error: Expected ';' after this.
+// class N1 = B implements D with C;
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:27: 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'.
+// class N1 = B implements D with C;
+//                           ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:27: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N1 = B implements D with C;
+//                           ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:27: Error: Expected ';' after this.
+// class N1 = B implements D with C;
+//                           ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:32: 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'.
+// class N1 = B implements D with C;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:12: Error: The built-in identifier 'implements' can't be used as a type.
+// class N2 = implements D extends B with C;
+//            ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:23: Error: Expected 'with' before this.
+// class N2 = implements D extends B with C;
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:23: Error: Expected ';' after this.
+// class N2 = implements D extends B with C;
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:25: 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'.
+// class N2 = implements D extends B with C;
+//                         ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:25: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N2 = implements D extends B with C;
+//                         ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:25: Error: Expected ';' after this.
+// class N2 = implements D extends B with C;
+//                         ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:33: 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'.
+// class N2 = implements D extends B with C;
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:33: Error: Expected ';' after this.
+// class N2 = implements D extends B with C;
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:35: 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'.
+// class N2 = implements D extends B with C;
+//                                   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:35: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N2 = implements D extends B with C;
+//                                   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:35: Error: Expected ';' after this.
+// class N2 = implements D extends B with C;
+//                                   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:35: Error: 'with' is already declared in this scope.
+// class N2 = implements D extends B with C;
+//                                   ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:27: Context: Previous declaration of 'with'.
+// class N1 = B implements D with C;
+//                           ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:40: 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'.
+// class N2 = implements D extends B with C;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:40: Error: 'C' is already declared in this scope.
+// class N2 = implements D extends B with C;
+//                                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:32: Context: Previous declaration of 'C'.
+// class N1 = B implements D with C;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:12: Error: The built-in identifier 'implements' can't be used as a type.
+// class N3 = implements D with C extends B;
+//            ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:23: Error: Expected 'with' before this.
+// class N3 = implements D with C extends B;
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:23: Error: Expected ';' after this.
+// class N3 = implements D with C extends B;
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:25: 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'.
+// class N3 = implements D with C extends B;
+//                         ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:25: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N3 = implements D with C extends B;
+//                         ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:25: Error: Expected ';' after this.
+// class N3 = implements D with C extends B;
+//                         ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:25: Error: 'with' is already declared in this scope.
+// class N3 = implements D with C extends B;
+//                         ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:35: Context: Previous declaration of 'with'.
+// class N2 = implements D extends B with C;
+//                                   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:30: 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'.
+// class N3 = implements D with C extends B;
+//                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:30: Error: Expected ';' after this.
+// class N3 = implements D with C extends B;
+//                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:30: Error: 'C' is already declared in this scope.
+// class N3 = implements D with C extends B;
+//                              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:40: Context: Previous declaration of 'C'.
+// class N2 = implements D extends B with C;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:32: 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'.
+// class N3 = implements D with C extends B;
+//                                ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:32: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N3 = implements D with C extends B;
+//                                ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:32: Error: Expected ';' after this.
+// class N3 = implements D with C extends B;
+//                                ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:32: Error: 'extends' is already declared in this scope.
+// class N3 = implements D with C extends B;
+//                                ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:25: Context: Previous declaration of 'extends'.
+// class N2 = implements D extends B with C;
+//                         ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:40: 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'.
+// class N3 = implements D with C extends B;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:40: Error: 'B' is already declared in this scope.
+// class N3 = implements D with C extends B;
+//                                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:33: Context: Previous declaration of 'B'.
+// class N2 = implements D extends B with C;
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:12: Error: Expected a type, but got 'with'.
+// class N4 = with C implements D extends B;
+//            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:30: Error: Expected ';' after this.
+// class N4 = with C implements D extends B;
+//                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:32: 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'.
+// class N4 = with C implements D extends B;
+//                                ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:32: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N4 = with C implements D extends B;
+//                                ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:32: Error: Expected ';' after this.
+// class N4 = with C implements D extends B;
+//                                ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:32: Error: 'extends' is already declared in this scope.
+// class N4 = with C implements D extends B;
+//                                ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:32: Context: Previous declaration of 'extends'.
+// class N3 = implements D with C extends B;
+//                                ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:40: 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'.
+// class N4 = with C implements D extends B;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:40: Error: 'B' is already declared in this scope.
+// class N4 = with C implements D extends B;
+//                                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:40: Context: Previous declaration of 'B'.
+// class N3 = implements D with C extends B;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:12: Error: Expected a type, but got 'with'.
+// class N5 = with C extends B implements D;
+//            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:17: Error: Expected ';' after this.
+// class N5 = with C extends B implements D;
+//                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:19: 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'.
+// class N5 = with C extends B implements D;
+//                   ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:19: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N5 = with C extends B implements D;
+//                   ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:19: Error: Expected ';' after this.
+// class N5 = with C extends B implements D;
+//                   ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:19: Error: 'extends' is already declared in this scope.
+// class N5 = with C extends B implements D;
+//                   ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:32: Context: Previous declaration of 'extends'.
+// class N4 = with C implements D extends B;
+//                                ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:29: Error: Expected ';' after this.
+// class N5 = with C extends B implements D;
+//                             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:40: 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'.
+// class N5 = with C extends B implements D;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:32: Error: Expected ';' after this.
+// class N6 = B with C implements D extends B;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:34: 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'.
+// class N6 = B with C implements D extends B;
+//                                  ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:34: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N6 = B with C implements D extends B;
+//                                  ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:34: Error: Expected ';' after this.
+// class N6 = B with C implements D extends B;
+//                                  ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:34: Error: 'extends' is already declared in this scope.
+// class N6 = B with C implements D extends B;
+//                                  ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:19: Context: Previous declaration of 'extends'.
+// class N5 = with C extends B implements D;
+//                   ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:42: 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'.
+// class N6 = B with C implements D extends B;
+//                                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:42: Error: 'B' is already declared in this scope.
+// class N6 = B with C implements D extends B;
+//                                          ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:40: Context: Previous declaration of 'B'.
+// class N4 = with C implements D extends B;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:32: Error: Expected ';' after this.
+// class N7 = B with C implements D implements D;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:34: 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'.
+// class N7 = B with C implements D implements D;
+//                                  ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:34: Error: Expected ';' after this.
+// class N7 = B with C implements D implements D;
+//                                  ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:34: Error: 'implements' is already declared in this scope.
+// class N7 = B with C implements D implements D;
+//                                  ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:29: Context: Previous declaration of 'implements'.
+// class N5 = with C extends B implements D;
+//                             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:45: 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'.
+// class N7 = B with C implements D implements D;
+//                                             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:45: Error: 'D' is already declared in this scope.
+// class N7 = B with C implements D implements D;
+//                                             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:40: Context: Previous declaration of 'D'.
+// class N5 = with C extends B implements D;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:32: Error: Expected ';' after this.
+// class N8 = B with C implements D with C;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:34: 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'.
+// class N8 = B with C implements D with C;
+//                                  ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:34: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N8 = B with C implements D with C;
+//                                  ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:34: Error: Expected ';' after this.
+// class N8 = B with C implements D with C;
+//                                  ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:34: Error: 'with' is already declared in this scope.
+// class N8 = B with C implements D with C;
+//                                  ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:25: Context: Previous declaration of 'with'.
+// class N3 = implements D with C extends B;
+//                         ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:39: 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'.
+// class N8 = B with C implements D with C;
+//                                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:39: Error: 'C' is already declared in this scope.
+// class N8 = B with C implements D with C;
+//                                       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:30: Context: Previous declaration of 'C'.
+// class N3 = implements D with C extends B;
+//                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:14: Error: Expected 'with' before this.
+// class N9 = B implements D with C extends B;
+//              ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:25: Error: Expected ';' after this.
+// class N9 = B implements D with C extends B;
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:27: 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'.
+// class N9 = B implements D with C extends B;
+//                           ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:27: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N9 = B implements D with C extends B;
+//                           ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:27: Error: Expected ';' after this.
+// class N9 = B implements D with C extends B;
+//                           ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:27: Error: 'with' is already declared in this scope.
+// class N9 = B implements D with C extends B;
+//                           ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:34: Context: Previous declaration of 'with'.
+// class N8 = B with C implements D with C;
+//                                  ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:32: 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'.
+// class N9 = B implements D with C extends B;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:32: Error: Expected ';' after this.
+// class N9 = B implements D with C extends B;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:32: Error: 'C' is already declared in this scope.
+// class N9 = B implements D with C extends B;
+//                                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:39: Context: Previous declaration of 'C'.
+// class N8 = B with C implements D with C;
+//                                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:34: 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'.
+// class N9 = B implements D with C extends B;
+//                                  ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:34: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N9 = B implements D with C extends B;
+//                                  ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:34: Error: Expected ';' after this.
+// class N9 = B implements D with C extends B;
+//                                  ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:34: Error: 'extends' is already declared in this scope.
+// class N9 = B implements D with C extends B;
+//                                  ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:34: Context: Previous declaration of 'extends'.
+// class N6 = B with C implements D extends B;
+//                                  ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:42: 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'.
+// class N9 = B implements D with C extends B;
+//                                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:42: Error: 'B' is already declared in this scope.
+// class N9 = B implements D with C extends B;
+//                                          ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:42: Context: Previous declaration of 'B'.
+// class N6 = B with C implements D extends B;
+//                                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:15: Error: Expected 'with' before this.
+// class N10 = B implements D with C implements D;
+//               ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:26: Error: Expected ';' after this.
+// class N10 = B implements D with C implements D;
+//                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:28: 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'.
+// class N10 = B implements D with C implements D;
+//                            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:28: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N10 = B implements D with C implements D;
+//                            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:28: Error: Expected ';' after this.
+// class N10 = B implements D with C implements D;
+//                            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:28: Error: 'with' is already declared in this scope.
+// class N10 = B implements D with C implements D;
+//                            ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:27: Context: Previous declaration of 'with'.
+// class N9 = B implements D with C extends B;
+//                           ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:35: Error: Expected ';' after this.
+// class N10 = B implements D with C implements D;
+//                                   ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:35: Error: 'implements' is already declared in this scope.
+// class N10 = B implements D with C implements D;
+//                                   ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:34: Context: Previous declaration of 'implements'.
+// class N7 = B with C implements D implements D;
+//                                  ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:46: 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'.
+// class N10 = B implements D with C implements D;
+//                                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:46: Error: 'D' is already declared in this scope.
+// class N10 = B implements D with C implements D;
+//                                              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:45: Context: Previous declaration of 'D'.
+// class N7 = B with C implements D implements D;
+//                                             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:15: Error: Expected 'with' before this.
+// class N11 = B implements D with C with C;
+//               ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:26: Error: Expected ';' after this.
+// class N11 = B implements D with C with C;
+//                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:28: 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'.
+// class N11 = B implements D with C with C;
+//                            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:28: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N11 = B implements D with C with C;
+//                            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:28: Error: Expected ';' after this.
+// class N11 = B implements D with C with C;
+//                            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:28: Error: 'with' is already declared in this scope.
+// class N11 = B implements D with C with C;
+//                            ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:28: Context: Previous declaration of 'with'.
+// class N10 = B implements D with C implements D;
+//                            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:33: 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'.
+// class N11 = B implements D with C with C;
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:33: Error: Expected ';' after this.
+// class N11 = B implements D with C with C;
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:33: Error: 'C' is already declared in this scope.
+// class N11 = B implements D with C with C;
+//                                 ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:32: Context: Previous declaration of 'C'.
+// class N9 = B implements D with C extends B;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:35: 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'.
+// class N11 = B implements D with C with C;
+//                                   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:35: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N11 = B implements D with C with C;
+//                                   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:35: Error: Expected ';' after this.
+// class N11 = B implements D with C with C;
+//                                   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:35: Error: 'with' is already declared in this scope.
+// class N11 = B implements D with C with C;
+//                                   ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:28: Context: Previous declaration of 'with'.
+// class N11 = B implements D with C with C;
+//                            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:40: 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'.
+// class N11 = B implements D with C with C;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:40: Error: 'C' is already declared in this scope.
+// class N11 = B implements D with C with C;
+//                                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:33: Context: Previous declaration of 'C'.
+// class N11 = B implements D with C with C;
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:15: Error: Expected 'with' before this.
+// class N12 = B extends B with C implements D;
+//               ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:13: Error: Expected ';' after this.
+// class N12 = B extends B with C implements D;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:15: 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'.
+// class N12 = B extends B with C implements D;
+//               ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:15: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N12 = B extends B with C implements D;
+//               ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:15: Error: Expected ';' after this.
+// class N12 = B extends B with C implements D;
+//               ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:15: Error: 'extends' is already declared in this scope.
+// class N12 = B extends B with C implements D;
+//               ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:34: Context: Previous declaration of 'extends'.
+// class N9 = B implements D with C extends B;
+//                                  ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:23: 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'.
+// class N12 = B extends B with C implements D;
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:23: Error: Expected ';' after this.
+// class N12 = B extends B with C implements D;
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:23: Error: 'B' is already declared in this scope.
+// class N12 = B extends B with C implements D;
+//                       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:42: Context: Previous declaration of 'B'.
+// class N9 = B implements D with C extends B;
+//                                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:25: 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'.
+// class N12 = B extends B with C implements D;
+//                         ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:25: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N12 = B extends B with C implements D;
+//                         ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:25: Error: Expected ';' after this.
+// class N12 = B extends B with C implements D;
+//                         ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:25: Error: 'with' is already declared in this scope.
+// class N12 = B extends B with C implements D;
+//                         ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:35: Context: Previous declaration of 'with'.
+// class N11 = B implements D with C with C;
+//                                   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:32: Error: Expected ';' after this.
+// class N12 = B extends B with C implements D;
+//                                ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:32: Error: 'implements' is already declared in this scope.
+// class N12 = B extends B with C implements D;
+//                                ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:35: Context: Previous declaration of 'implements'.
+// class N10 = B implements D with C implements D;
+//                                   ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:43: 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'.
+// class N12 = B extends B with C implements D;
+//                                           ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:43: Error: 'D' is already declared in this scope.
+// class N12 = B extends B with C implements D;
+//                                           ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:46: Context: Previous declaration of 'D'.
+// class N10 = B implements D with C implements D;
+//                                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:20: Error: Expected ';' after this.
+// class N13 = B with C with C implements D;
+//                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:22: 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'.
+// class N13 = B with C with C implements D;
+//                      ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:22: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N13 = B with C with C implements D;
+//                      ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:22: Error: Expected ';' after this.
+// class N13 = B with C with C implements D;
+//                      ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:22: Error: 'with' is already declared in this scope.
+// class N13 = B with C with C implements D;
+//                      ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:25: Context: Previous declaration of 'with'.
+// class N12 = B extends B with C implements D;
+//                         ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:29: Error: Expected ';' after this.
+// class N13 = B with C with C implements D;
+//                             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:29: Error: 'implements' is already declared in this scope.
+// class N13 = B with C with C implements D;
+//                             ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:32: Context: Previous declaration of 'implements'.
+// class N12 = B extends B with C implements D;
+//                                ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:40: 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'.
+// class N13 = B with C with C implements D;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:40: Error: 'D' is already declared in this scope.
+// class N13 = B with C with C implements D;
+//                                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:43: Context: Previous declaration of 'D'.
+// class N12 = B extends B with C implements D;
+//                                           ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:33: Error: Expected ';' after this.
+// class N14 = B with C implements D implements D;
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:35: 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'.
+// class N14 = B with C implements D implements D;
+//                                   ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:35: Error: Expected ';' after this.
+// class N14 = B with C implements D implements D;
+//                                   ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:35: Error: 'implements' is already declared in this scope.
+// class N14 = B with C implements D implements D;
+//                                   ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:29: Context: Previous declaration of 'implements'.
+// class N13 = B with C with C implements D;
+//                             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:46: 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'.
+// class N14 = B with C implements D implements D;
+//                                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:46: Error: 'D' is already declared in this scope.
+// class N14 = B with C implements D implements D;
+//                                              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:40: Context: Previous declaration of 'D'.
+// class N13 = B with C with C implements D;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:13: Error: Expected a type, but got 'with'.
+// class N15 = with D extends B;
+//             ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:18: Error: Expected ';' after this.
+// class N15 = with D extends B;
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:20: 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'.
+// class N15 = with D extends B;
+//                    ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:20: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N15 = with D extends B;
+//                    ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:20: Error: Expected ';' after this.
+// class N15 = with D extends B;
+//                    ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:20: Error: 'extends' is already declared in this scope.
+// class N15 = with D extends B;
+//                    ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:15: Context: Previous declaration of 'extends'.
+// class N12 = B extends B with C implements D;
+//               ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:28: 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'.
+// class N15 = with D extends B;
+//                            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:28: Error: 'B' is already declared in this scope.
+// class N15 = with D extends B;
+//                            ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:23: Context: Previous declaration of 'B'.
+// class N12 = B extends B with C implements D;
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:13: Error: The built-in identifier 'implements' can't be used as a type.
+// class N16 = implements D extends B;
+//             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:24: Error: Expected 'with' before this.
+// class N16 = implements D extends B;
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:24: Error: Expected ';' after this.
+// class N16 = implements D extends B;
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:26: 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'.
+// class N16 = implements D extends B;
+//                          ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:26: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N16 = implements D extends B;
+//                          ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:26: Error: Expected ';' after this.
+// class N16 = implements D extends B;
+//                          ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:26: Error: 'extends' is already declared in this scope.
+// class N16 = implements D extends B;
+//                          ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:20: Context: Previous declaration of 'extends'.
+// class N15 = with D extends B;
+//                    ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:34: 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'.
+// class N16 = implements D extends B;
+//                                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:34: Error: 'B' is already declared in this scope.
+// class N16 = implements D extends B;
+//                                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:28: Context: Previous declaration of 'B'.
+// class N15 = with D extends B;
+//                            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:13: Error: The built-in identifier 'implements' can't be used as a type.
+// class N17 = implements D with C;
+//             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:24: Error: Expected 'with' before this.
+// class N17 = implements D with C;
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:24: Error: Expected ';' after this.
+// class N17 = implements D with C;
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:26: 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'.
+// class N17 = implements D with C;
+//                          ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:26: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N17 = implements D with C;
+//                          ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:26: Error: Expected ';' after this.
+// class N17 = implements D with C;
+//                          ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:26: Error: 'with' is already declared in this scope.
+// class N17 = implements D with C;
+//                          ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:22: Context: Previous declaration of 'with'.
+// class N13 = B with C with C implements D;
+//                      ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:31: 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'.
+// class N17 = implements D with C;
+//                               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:31: Error: 'C' is already declared in this scope.
+// class N17 = implements D with C;
+//                               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:40: Context: Previous declaration of 'C'.
+// class N11 = B implements D with C with C;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:51:13: Error: Expected a type, but got ';'.
+// class N18 = ;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:51:13: Error: Expected 'with' before this.
+// class N18 = ;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:52:19: Error: Expected a type, but got ';'.
+// class N19 = B with;
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:53:13: Error: Expected a type, but got 'with'.
+// class N20 = with;
+//             ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:53:17: Error: Expected a type, but got ';'.
+// class N20 = with;
+//                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:54:32: Error: Expected a type, but got ';'.
+// class N21 = B with C implements;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:55:13: Error: Expected a type, but got 'with'.
+// class N22 = with C implements;
+//             ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:55:30: Error: Expected a type, but got ';'.
+// class N22 = with C implements;
+//                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:56:13: Error: The built-in identifier 'implements' can't be used as a type.
+// class N23 = implements;
+//             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:56:23: Error: Expected 'with' before this.
+// class N23 = implements;
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:57:15: Error: Expected 'with' before this.
+// class N24 = B extends;
+//               ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:57:13: Error: Expected ';' after this.
+// class N24 = B extends;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:57:15: 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'.
+// class N24 = B extends;
+//               ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:57:15: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N24 = B extends;
+//               ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:57:15: Error: 'extends' is already declared in this scope.
+// class N24 = B extends;
+//               ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:26: Context: Previous declaration of 'extends'.
+// class N16 = implements D extends B;
+//                          ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:58:13: Error: Expected a type, but got 'with'.
+// class N25 = with C with;
+//             ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:58:18: Error: Expected ';' after this.
+// class N25 = with C with;
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:58:20: 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'.
+// class N25 = with C with;
+//                    ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:58:20: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N25 = with C with;
+//                    ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:58:20: Error: 'with' is already declared in this scope.
+// class N25 = with C with;
+//                    ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:26: Context: Previous declaration of 'with'.
+// class N17 = implements D with C;
+//                          ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:59:13: Error: The built-in identifier 'implements' can't be used as a type.
+// class N26 = implements D implements;
+//             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:59:24: Error: Expected 'with' before this.
+// class N26 = implements D implements;
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:59:36: Error: Expected a type, but got ';'.
+// class N26 = implements D implements;
+//                                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:61:8: Error: Unexpected tokens.
+// enum E extends B with C implements D { element }
+//        ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:62:9: Error: Unexpected tokens.
+// enum E1 extends B implements D with C { element }
+//         ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:62:32: Error: The 'with' clause must come before the 'implements' clause.
+// Try moving the 'with' clause before the 'implements' clause.
+// enum E1 extends B implements D with C { element }
+//                                ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:63:22: Error: Unexpected tokens.
+// enum E2 implements D extends B with C { element }
+//                      ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:63:32: Error: The 'with' clause must come before the 'implements' clause.
+// Try moving the 'with' clause before the 'implements' clause.
+// enum E2 implements D extends B with C { element }
+//                                ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:64:22: Error: The 'with' clause must come before the 'implements' clause.
+// Try moving the 'with' clause before the 'implements' clause.
+// enum E3 implements D with C extends B { element }
+//                      ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:64:29: Error: Unexpected tokens.
+// enum E3 implements D with C extends B { element }
+//                             ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:65:29: Error: Unexpected tokens.
+// enum E4 with C implements D extends B { element }
+//                             ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:66:16: Error: Unexpected tokens.
+// enum E5 with C extends B implements D { element }
+//                ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:67:9: Error: Unexpected tokens.
+// enum E6 extends B with C implements D extends B { element }
+//         ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:67:39: Error: Unexpected tokens.
+// enum E6 extends B with C implements D extends B { element }
+//                                       ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:68:9: Error: Unexpected tokens.
+// enum E7 extends B with C implements D implements D { element }
+//         ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:68:39: Error: Each 'enum' definition can have at most one 'implements' clause.
+// Try combining all of the 'implements' clauses into a single clause.
+// enum E7 extends B with C implements D implements D { element }
+//                                       ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:69:9: Error: Unexpected tokens.
+// enum E8 extends B with C implements D with C { element }
+//         ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:69:39: Error: Each 'enum' definition can have at most one 'with' clause.
+// Try combining all of the 'with' clauses into a single clause.
+// enum E8 extends B with C implements D with C { element }
+//                                       ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:70:9: Error: Unexpected tokens.
+// enum E9 extends B implements D with C extends B { element }
+//         ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:70:32: Error: The 'with' clause must come before the 'implements' clause.
+// Try moving the 'with' clause before the 'implements' clause.
+// enum E9 extends B implements D with C extends B { element }
+//                                ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:70:39: Error: Unexpected tokens.
+// enum E9 extends B implements D with C extends B { element }
+//                                       ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:71:10: Error: Unexpected tokens.
+// enum E10 extends B implements D with C implements D { element }
+//          ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:71:33: Error: The 'with' clause must come before the 'implements' clause.
+// Try moving the 'with' clause before the 'implements' clause.
+// enum E10 extends B implements D with C implements D { element }
+//                                 ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:71:40: Error: Each 'enum' definition can have at most one 'implements' clause.
+// Try combining all of the 'implements' clauses into a single clause.
+// enum E10 extends B implements D with C implements D { element }
+//                                        ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:72:10: Error: Unexpected tokens.
+// enum E11 extends B implements D with C with C { element }
+//          ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:72:33: Error: The 'with' clause must come before the 'implements' clause.
+// Try moving the 'with' clause before the 'implements' clause.
+// enum E11 extends B implements D with C with C { element }
+//                                 ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:72:40: Error: Each 'enum' definition can have at most one 'with' clause.
+// Try combining all of the 'with' clauses into a single clause.
+// enum E11 extends B implements D with C with C { element }
+//                                        ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:10: Error: Expected a enum body, but got 'extends'.
+// An enum definition must have a body with at least one constant name.
+// enum E12 extends B extends B with C implements D { element }
+//          ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73: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'.
+// enum E12 extends B extends B with C implements D { element }
+//          ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:10: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// enum E12 extends B extends B with C implements D { element }
+//          ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:10: Error: Expected ';' after this.
+// enum E12 extends B extends B with C implements D { element }
+//          ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:10: Error: 'extends' is already declared in this scope.
+// enum E12 extends B extends B with C implements D { element }
+//          ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:57:15: Context: Previous declaration of 'extends'.
+// class N24 = B extends;
+//               ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:18: 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'.
+// enum E12 extends B extends B with C implements D { element }
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:18: Error: Expected ';' after this.
+// enum E12 extends B extends B with C implements D { element }
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:18: Error: 'B' is already declared in this scope.
+// enum E12 extends B extends B with C implements D { element }
+//                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:34: Context: Previous declaration of 'B'.
+// class N16 = implements D extends B;
+//                                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:20: 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'.
+// enum E12 extends B extends B with C implements D { element }
+//                    ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:20: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// enum E12 extends B extends B with C implements D { element }
+//                    ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:20: Error: Expected ';' after this.
+// enum E12 extends B extends B with C implements D { element }
+//                    ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:20: Error: 'extends' is already declared in this scope.
+// enum E12 extends B extends B with C implements D { element }
+//                    ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:10: Context: Previous declaration of 'extends'.
+// enum E12 extends B extends B with C implements D { element }
+//          ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:28: 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'.
+// enum E12 extends B extends B with C implements D { element }
+//                            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:28: Error: Expected ';' after this.
+// enum E12 extends B extends B with C implements D { element }
+//                            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:28: Error: 'B' is already declared in this scope.
+// enum E12 extends B extends B with C implements D { element }
+//                            ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:18: Context: Previous declaration of 'B'.
+// enum E12 extends B extends B with C implements D { element }
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:30: 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'.
+// enum E12 extends B extends B with C implements D { element }
+//                              ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:30: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// enum E12 extends B extends B with C implements D { element }
+//                              ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:30: Error: Expected ';' after this.
+// enum E12 extends B extends B with C implements D { element }
+//                              ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:30: Error: 'with' is already declared in this scope.
+// enum E12 extends B extends B with C implements D { element }
+//                              ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:58:20: Context: Previous declaration of 'with'.
+// class N25 = with C with;
+//                    ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:37: Error: Expected ';' after this.
+// enum E12 extends B extends B with C implements D { element }
+//                                     ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:37: Error: 'implements' is already declared in this scope.
+// enum E12 extends B extends B with C implements D { element }
+//                                     ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:35: Context: Previous declaration of 'implements'.
+// class N14 = B with C implements D implements D;
+//                                   ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:48: Error: A function declaration needs an explicit list of parameters.
+// Try adding a parameter list to the function declaration.
+// enum E12 extends B extends B with C implements D { element }
+//                                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:48: Error: 'D' is already declared in this scope.
+// enum E12 extends B extends B with C implements D { element }
+//                                                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:46: Context: Previous declaration of 'D'.
+// class N14 = B with C implements D implements D;
+//                                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:74:10: Error: Unexpected tokens.
+// enum E13 extends B with C with C implements D { element }
+//          ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:74:27: Error: Each 'enum' definition can have at most one 'with' clause.
+// Try combining all of the 'with' clauses into a single clause.
+// enum E13 extends B with C with C implements D { element }
+//                           ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:75:10: Error: Unexpected tokens.
+// enum E14 extends B with C implements D implements D { element }
+//          ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:75:40: Error: Each 'enum' definition can have at most one 'implements' clause.
+// Try combining all of the 'implements' clauses into a single clause.
+// enum E14 extends B with C implements D implements D { element }
+//                                        ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:76:17: Error: Unexpected tokens.
+// enum E15 with D extends B { element }
+//                 ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:77:23: Error: Unexpected tokens.
+// enum E16 implements D extends B { element }
+//                       ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:78:23: Error: The 'with' clause must come before the 'implements' clause.
+// Try moving the 'with' clause before the 'implements' clause.
+// enum E17 implements D with C { element }
+//                       ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:79:10: Error: Unexpected token 'extends'.
+// enum E18 extends { element }
+//          ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:80:10: Error: Unexpected tokens.
+// enum E19 extends B with { element }
+//          ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:80:25: Error: Expected a type, but got '{'.
+// enum E19 extends B with { element }
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:81:15: Error: Expected a type, but got '{'.
+// enum E20 with { element }
+//               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:82:10: Error: Unexpected tokens.
+// enum E21 extends B with C implements { element }
+//          ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:82:38: Error: Expected a type, but got '{'.
+// enum E21 extends B with C implements { element }
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:83:28: Error: Expected a type, but got '{'.
+// enum E22 with C implements { element }
+//                            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:84:21: Error: Expected a type, but got '{'.
+// enum E23 implements { element }
+//                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:85:10: Error: Unexpected tokens.
+// enum E24 extends B extends { element }
+//          ^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:86:17: Error: Each 'enum' definition can have at most one 'with' clause.
+// Try combining all of the 'with' clauses into a single clause.
+// enum E25 with C with { element }
+//                 ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:87:23: Error: Each 'enum' definition can have at most one 'implements' clause.
+// Try combining all of the 'implements' clauses into a single clause.
+// enum E26 implements D implements { element }
+//                       ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:89:7: Error: 'B' is already declared in this scope.
+// class B {}
+//       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:28: Context: Previous declaration of 'B'.
+// enum E12 extends B extends B with C implements D { element }
+//                            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:90:7: Error: 'C' is already declared in this scope.
+// class C {}
+//       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:31: Context: Previous declaration of 'C'.
+// class N17 = implements D with C;
+//                               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:91:7: Error: 'D' is already declared in this scope.
+// class D {}
+//       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:48: Context: Previous declaration of 'D'.
+// enum E12 extends B extends B with C implements D { element }
+//                                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:5:17: Error: 'B' isn't a type.
+// class A extends B with C implements D {}
+//                 ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:5:17: Context: This isn't a type.
+// class A extends B with C implements D {}
+//                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:5:24: Error: 'C' isn't a type.
+// class A extends B with C implements D {}
+//                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:5:24: Context: This isn't a type.
+// class A extends B with C implements D {}
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:5:37: Error: 'D' isn't a type.
+// class A extends B with C implements D {}
+//                                     ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:5:37: Context: This isn't a type.
+// class A extends B with C implements D {}
+//                                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:6:18: Error: 'B' isn't a type.
+// class A1 extends B implements D with C {}
+//                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:6:18: Context: This isn't a type.
+// class A1 extends B implements D with C {}
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:6:31: Error: 'D' isn't a type.
+// class A1 extends B implements D with C {}
+//                               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:6:31: Context: This isn't a type.
+// class A1 extends B implements D with C {}
+//                               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:6:38: Error: 'C' isn't a type.
+// class A1 extends B implements D with C {}
+//                                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:6:38: Context: This isn't a type.
+// class A1 extends B implements D with C {}
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:7:21: Error: 'D' isn't a type.
+// class A2 implements D extends B with C {}
+//                     ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:7:21: Context: This isn't a type.
+// class A2 implements D extends B with C {}
+//                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:7:31: Error: 'B' isn't a type.
+// class A2 implements D extends B with C {}
+//                               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:7:31: Context: This isn't a type.
+// class A2 implements D extends B with C {}
+//                               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:7:38: Error: 'C' isn't a type.
+// class A2 implements D extends B with C {}
+//                                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:7:38: Context: This isn't a type.
+// class A2 implements D extends B with C {}
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:8:21: Error: 'D' isn't a type.
+// class A3 implements D with C extends B {}
+//                     ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:8:21: Context: This isn't a type.
+// class A3 implements D with C extends B {}
+//                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:8:28: Error: 'C' isn't a type.
+// class A3 implements D with C extends B {}
+//                            ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:8:28: Context: This isn't a type.
+// class A3 implements D with C extends B {}
+//                            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:8:38: Error: 'B' isn't a type.
+// class A3 implements D with C extends B {}
+//                                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:8:38: Context: This isn't a type.
+// class A3 implements D with C extends B {}
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:9:15: Error: 'C' isn't a type.
+// class A4 with C implements D extends B {}
+//               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:9:15: Context: This isn't a type.
+// class A4 with C implements D extends B {}
+//               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:9:28: Error: 'D' isn't a type.
+// class A4 with C implements D extends B {}
+//                            ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:9:28: Context: This isn't a type.
+// class A4 with C implements D extends B {}
+//                            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:9:38: Error: 'B' isn't a type.
+// class A4 with C implements D extends B {}
+//                                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:9:38: Context: This isn't a type.
+// class A4 with C implements D extends B {}
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:10:15: Error: 'C' isn't a type.
+// class A5 with C extends B implements D {}
+//               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:10:15: Context: This isn't a type.
+// class A5 with C extends B implements D {}
+//               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:10:25: Error: 'B' isn't a type.
+// class A5 with C extends B implements D {}
+//                         ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:10:25: Context: This isn't a type.
+// class A5 with C extends B implements D {}
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:10:38: Error: 'D' isn't a type.
+// class A5 with C extends B implements D {}
+//                                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:10:38: Context: This isn't a type.
+// class A5 with C extends B implements D {}
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:11:18: Error: 'B' isn't a type.
+// class A6 extends B with C implements D extends B {}
+//                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:11:18: Context: This isn't a type.
+// class A6 extends B with C implements D extends B {}
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:11:25: Error: 'C' isn't a type.
+// class A6 extends B with C implements D extends B {}
+//                         ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:11:25: Context: This isn't a type.
+// class A6 extends B with C implements D extends B {}
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:11:38: Error: 'D' isn't a type.
+// class A6 extends B with C implements D extends B {}
+//                                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:11:38: Context: This isn't a type.
+// class A6 extends B with C implements D extends B {}
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:11:48: Error: 'B' isn't a type.
+// class A6 extends B with C implements D extends B {}
+//                                                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:11:48: Context: This isn't a type.
+// class A6 extends B with C implements D extends B {}
+//                                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:12:18: Error: 'B' isn't a type.
+// class A7 extends B with C implements D implements D {}
+//                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:12:18: Context: This isn't a type.
+// class A7 extends B with C implements D implements D {}
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:12:25: Error: 'C' isn't a type.
+// class A7 extends B with C implements D implements D {}
+//                         ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:12:25: Context: This isn't a type.
+// class A7 extends B with C implements D implements D {}
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:12:38: Error: 'D' isn't a type.
+// class A7 extends B with C implements D implements D {}
+//                                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:12:38: Context: This isn't a type.
+// class A7 extends B with C implements D implements D {}
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:12:51: Error: 'D' isn't a type.
+// class A7 extends B with C implements D implements D {}
+//                                                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:12:51: Context: This isn't a type.
+// class A7 extends B with C implements D implements D {}
+//                                                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:13:18: Error: 'B' isn't a type.
+// class A8 extends B with C implements D with C {}
+//                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:13:18: Context: This isn't a type.
+// class A8 extends B with C implements D with C {}
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:13:25: Error: 'C' isn't a type.
+// class A8 extends B with C implements D with C {}
+//                         ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:13:25: Context: This isn't a type.
+// class A8 extends B with C implements D with C {}
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:13:38: Error: 'D' isn't a type.
+// class A8 extends B with C implements D with C {}
+//                                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:13:38: Context: This isn't a type.
+// class A8 extends B with C implements D with C {}
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:13:45: Error: 'C' isn't a type.
+// class A8 extends B with C implements D with C {}
+//                                             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:13:45: Context: This isn't a type.
+// class A8 extends B with C implements D with C {}
+//                                             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:14:18: Error: 'B' isn't a type.
+// class A9 extends B implements D with C extends B {}
+//                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:14:18: Context: This isn't a type.
+// class A9 extends B implements D with C extends B {}
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:14:31: Error: 'D' isn't a type.
+// class A9 extends B implements D with C extends B {}
+//                               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:14:31: Context: This isn't a type.
+// class A9 extends B implements D with C extends B {}
+//                               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:14:38: Error: 'C' isn't a type.
+// class A9 extends B implements D with C extends B {}
+//                                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:14:38: Context: This isn't a type.
+// class A9 extends B implements D with C extends B {}
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:14:48: Error: 'B' isn't a type.
+// class A9 extends B implements D with C extends B {}
+//                                                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:14:48: Context: This isn't a type.
+// class A9 extends B implements D with C extends B {}
+//                                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:15:19: Error: 'B' isn't a type.
+// class A10 extends B implements D with C implements D {}
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:15:19: Context: This isn't a type.
+// class A10 extends B implements D with C implements D {}
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:15:32: Error: 'D' isn't a type.
+// class A10 extends B implements D with C implements D {}
+//                                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:15:32: Context: This isn't a type.
+// class A10 extends B implements D with C implements D {}
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:15:39: Error: 'C' isn't a type.
+// class A10 extends B implements D with C implements D {}
+//                                       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:15:39: Context: This isn't a type.
+// class A10 extends B implements D with C implements D {}
+//                                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:15:52: Error: 'D' isn't a type.
+// class A10 extends B implements D with C implements D {}
+//                                                    ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:15:52: Context: This isn't a type.
+// class A10 extends B implements D with C implements D {}
+//                                                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:16:19: Error: 'B' isn't a type.
+// class A11 extends B implements D with C with C {}
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:16:19: Context: This isn't a type.
+// class A11 extends B implements D with C with C {}
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:16:32: Error: 'D' isn't a type.
+// class A11 extends B implements D with C with C {}
+//                                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:16:32: Context: This isn't a type.
+// class A11 extends B implements D with C with C {}
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:16:39: Error: 'C' isn't a type.
+// class A11 extends B implements D with C with C {}
+//                                       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:16:39: Context: This isn't a type.
+// class A11 extends B implements D with C with C {}
+//                                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:16:46: Error: 'C' isn't a type.
+// class A11 extends B implements D with C with C {}
+//                                              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:16:46: Context: This isn't a type.
+// class A11 extends B implements D with C with C {}
+//                                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:17:19: Error: 'B' isn't a type.
+// class A12 extends B extends B with C implements D {}
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:17:19: Context: This isn't a type.
+// class A12 extends B extends B with C implements D {}
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:17:29: Error: 'B' isn't a type.
+// class A12 extends B extends B with C implements D {}
+//                             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:17:29: Context: This isn't a type.
+// class A12 extends B extends B with C implements D {}
+//                             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:17:36: Error: 'C' isn't a type.
+// class A12 extends B extends B with C implements D {}
+//                                    ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:17:36: Context: This isn't a type.
+// class A12 extends B extends B with C implements D {}
+//                                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:17:49: Error: 'D' isn't a type.
+// class A12 extends B extends B with C implements D {}
+//                                                 ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:17:49: Context: This isn't a type.
+// class A12 extends B extends B with C implements D {}
+//                                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:18:19: Error: 'B' isn't a type.
+// class A13 extends B with C with C implements D {}
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:18:19: Context: This isn't a type.
+// class A13 extends B with C with C implements D {}
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:18:26: Error: 'C' isn't a type.
+// class A13 extends B with C with C implements D {}
+//                          ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:18:26: Context: This isn't a type.
+// class A13 extends B with C with C implements D {}
+//                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:18:33: Error: 'C' isn't a type.
+// class A13 extends B with C with C implements D {}
+//                                 ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:18:33: Context: This isn't a type.
+// class A13 extends B with C with C implements D {}
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:18:46: Error: 'D' isn't a type.
+// class A13 extends B with C with C implements D {}
+//                                              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:18:46: Context: This isn't a type.
+// class A13 extends B with C with C implements D {}
+//                                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:19:19: Error: 'B' isn't a type.
+// class A14 extends B with C implements D implements D {}
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:19:19: Context: This isn't a type.
+// class A14 extends B with C implements D implements D {}
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:19:26: Error: 'C' isn't a type.
+// class A14 extends B with C implements D implements D {}
+//                          ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:19:26: Context: This isn't a type.
+// class A14 extends B with C implements D implements D {}
+//                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:19:39: Error: 'D' isn't a type.
+// class A14 extends B with C implements D implements D {}
+//                                       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:19:39: Context: This isn't a type.
+// class A14 extends B with C implements D implements D {}
+//                                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:19:52: Error: 'D' isn't a type.
+// class A14 extends B with C implements D implements D {}
+//                                                    ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:19:52: Context: This isn't a type.
+// class A14 extends B with C implements D implements D {}
+//                                                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:20:16: Error: 'D' isn't a type.
+// class A15 with D extends B {}
+//                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:20:16: Context: This isn't a type.
+// class A15 with D extends B {}
+//                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:20:26: Error: 'B' isn't a type.
+// class A15 with D extends B {}
+//                          ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:20:26: Context: This isn't a type.
+// class A15 with D extends B {}
+//                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:21:22: Error: 'D' isn't a type.
+// class A16 implements D extends B {}
+//                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:21:22: Context: This isn't a type.
+// class A16 implements D extends B {}
+//                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:21:32: Error: 'B' isn't a type.
+// class A16 implements D extends B {}
+//                                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:21:32: Context: This isn't a type.
+// class A16 implements D extends B {}
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:22:22: Error: 'D' isn't a type.
+// class A17 implements D with C {}
+//                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:22:22: Context: This isn't a type.
+// class A17 implements D with C {}
+//                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:22:29: Error: 'C' isn't a type.
+// class A17 implements D with C {}
+//                             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:22:29: Context: This isn't a type.
+// class A17 implements D with C {}
+//                             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:24:19: Error: 'B' isn't a type.
+// class A19 extends B with {}
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:24:19: Context: This isn't a type.
+// class A19 extends B with {}
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:26:19: Error: 'B' isn't a type.
+// class A21 extends B with C implements {}
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:26:19: Context: This isn't a type.
+// class A21 extends B with C implements {}
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:26:26: Error: 'C' isn't a type.
+// class A21 extends B with C implements {}
+//                          ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:26:26: Context: This isn't a type.
+// class A21 extends B with C implements {}
+//                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:27:16: Error: 'C' isn't a type.
+// class A22 with C implements {}
+//                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:27:16: Context: This isn't a type.
+// class A22 with C implements {}
+//                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:29:19: Error: 'B' isn't a type.
+// class A24 extends B extends {}
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:29:19: Context: This isn't a type.
+// class A24 extends B extends {}
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:30:16: Error: 'C' isn't a type.
+// class A25 with C with {}
+//                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:30:16: Context: This isn't a type.
+// class A25 with C with {}
+//                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:31:22: Error: 'D' isn't a type.
+// class A26 implements D implements {}
+//                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:31:22: Context: This isn't a type.
+// class A26 implements D implements {}
+//                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:33:11: Error: 'B' isn't a type.
+// class N = B with C implements D;
+//           ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:33:11: Context: This isn't a type.
+// class N = B with C implements D;
+//           ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:33:18: Error: 'C' isn't a type.
+// class N = B with C implements D;
+//                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:33:18: Context: This isn't a type.
+// class N = B with C implements D;
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:33:31: Error: 'D' isn't a type.
+// class N = B with C implements D;
+//                               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:33:31: Context: This isn't a type.
+// class N = B with C implements D;
+//                               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:12: Error: 'B' isn't a type.
+// class N1 = B implements D with C;
+//            ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:12: Context: This isn't a type.
+// class N1 = B implements D with C;
+//            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:25: Error: 'D' isn't a type.
+// class N1 = B implements D with C;
+//                         ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:25: Context: This isn't a type.
+// class N1 = B implements D with C;
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:12: Error: 'implements' isn't a type.
+// class N2 = implements D extends B with C;
+//            ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:12: Context: This isn't a type.
+// class N2 = implements D extends B with C;
+//            ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:23: Error: 'D' isn't a type.
+// class N2 = implements D extends B with C;
+//                       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:23: Context: This isn't a type.
+// class N2 = implements D extends B with C;
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:12: Error: 'implements' isn't a type.
+// class N3 = implements D with C extends B;
+//            ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:12: Context: This isn't a type.
+// class N3 = implements D with C extends B;
+//            ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:23: Error: 'D' isn't a type.
+// class N3 = implements D with C extends B;
+//                       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:23: Context: This isn't a type.
+// class N3 = implements D with C extends B;
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:17: Error: 'C' isn't a type.
+// class N4 = with C implements D extends B;
+//                 ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:17: Context: This isn't a type.
+// class N4 = with C implements D extends B;
+//                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:30: Error: 'D' isn't a type.
+// class N4 = with C implements D extends B;
+//                              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:30: Context: This isn't a type.
+// class N4 = with C implements D extends B;
+//                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:17: Error: 'C' isn't a type.
+// class N5 = with C extends B implements D;
+//                 ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:17: Context: This isn't a type.
+// class N5 = with C extends B implements D;
+//                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:27: Error: 'B' isn't a type.
+// class N5 = with C extends B implements D;
+//                           ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:27: Context: This isn't a type.
+// class N5 = with C extends B implements D;
+//                           ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:12: Error: 'B' isn't a type.
+// class N6 = B with C implements D extends B;
+//            ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:12: Context: This isn't a type.
+// class N6 = B with C implements D extends B;
+//            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:19: Error: 'C' isn't a type.
+// class N6 = B with C implements D extends B;
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:19: Context: This isn't a type.
+// class N6 = B with C implements D extends B;
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:32: Error: 'D' isn't a type.
+// class N6 = B with C implements D extends B;
+//                                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:32: Context: This isn't a type.
+// class N6 = B with C implements D extends B;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:12: Error: 'B' isn't a type.
+// class N7 = B with C implements D implements D;
+//            ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:12: Context: This isn't a type.
+// class N7 = B with C implements D implements D;
+//            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:19: Error: 'C' isn't a type.
+// class N7 = B with C implements D implements D;
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:19: Context: This isn't a type.
+// class N7 = B with C implements D implements D;
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:32: Error: 'D' isn't a type.
+// class N7 = B with C implements D implements D;
+//                                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:32: Context: This isn't a type.
+// class N7 = B with C implements D implements D;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:12: Error: 'B' isn't a type.
+// class N8 = B with C implements D with C;
+//            ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:12: Context: This isn't a type.
+// class N8 = B with C implements D with C;
+//            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:19: Error: 'C' isn't a type.
+// class N8 = B with C implements D with C;
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:19: Context: This isn't a type.
+// class N8 = B with C implements D with C;
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:32: Error: 'D' isn't a type.
+// class N8 = B with C implements D with C;
+//                                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:32: Context: This isn't a type.
+// class N8 = B with C implements D with C;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:12: Error: 'B' isn't a type.
+// class N9 = B implements D with C extends B;
+//            ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:12: Context: This isn't a type.
+// class N9 = B implements D with C extends B;
+//            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:25: Error: 'D' isn't a type.
+// class N9 = B implements D with C extends B;
+//                         ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:25: Context: This isn't a type.
+// class N9 = B implements D with C extends B;
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:13: Error: 'B' isn't a type.
+// class N10 = B implements D with C implements D;
+//             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:13: Context: This isn't a type.
+// class N10 = B implements D with C implements D;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:26: Error: 'D' isn't a type.
+// class N10 = B implements D with C implements D;
+//                          ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:26: Context: This isn't a type.
+// class N10 = B implements D with C implements D;
+//                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:33: Error: 'C' isn't a type.
+// class N10 = B implements D with C implements D;
+//                                 ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:33: Context: This isn't a type.
+// class N10 = B implements D with C implements D;
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:13: Error: 'B' isn't a type.
+// class N11 = B implements D with C with C;
+//             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:13: Context: This isn't a type.
+// class N11 = B implements D with C with C;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:26: Error: 'D' isn't a type.
+// class N11 = B implements D with C with C;
+//                          ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:26: Context: This isn't a type.
+// class N11 = B implements D with C with C;
+//                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:13: Error: 'B' isn't a type.
+// class N12 = B extends B with C implements D;
+//             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:13: Context: This isn't a type.
+// class N12 = B extends B with C implements D;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:30: Error: 'C' isn't a type.
+// class N12 = B extends B with C implements D;
+//                              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:30: Context: This isn't a type.
+// class N12 = B extends B with C implements D;
+//                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:13: Error: 'B' isn't a type.
+// class N13 = B with C with C implements D;
+//             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:13: Context: This isn't a type.
+// class N13 = B with C with C implements D;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:20: Error: 'C' isn't a type.
+// class N13 = B with C with C implements D;
+//                    ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:20: Context: This isn't a type.
+// class N13 = B with C with C implements D;
+//                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:27: Error: 'C' isn't a type.
+// class N13 = B with C with C implements D;
+//                           ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:27: Context: This isn't a type.
+// class N13 = B with C with C implements D;
+//                           ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:13: Error: 'B' isn't a type.
+// class N14 = B with C implements D implements D;
+//             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:13: Context: This isn't a type.
+// class N14 = B with C implements D implements D;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:20: Error: 'C' isn't a type.
+// class N14 = B with C implements D implements D;
+//                    ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:20: Context: This isn't a type.
+// class N14 = B with C implements D implements D;
+//                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:33: Error: 'D' isn't a type.
+// class N14 = B with C implements D implements D;
+//                                 ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:33: Context: This isn't a type.
+// class N14 = B with C implements D implements D;
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:18: Error: 'D' isn't a type.
+// class N15 = with D extends B;
+//                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:18: Context: This isn't a type.
+// class N15 = with D extends B;
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:13: Error: 'implements' isn't a type.
+// class N16 = implements D extends B;
+//             ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:13: Context: This isn't a type.
+// class N16 = implements D extends B;
+//             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:24: Error: 'D' isn't a type.
+// class N16 = implements D extends B;
+//                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:24: Context: This isn't a type.
+// class N16 = implements D extends B;
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:13: Error: 'implements' isn't a type.
+// class N17 = implements D with C;
+//             ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:13: Context: This isn't a type.
+// class N17 = implements D with C;
+//             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:24: Error: 'D' isn't a type.
+// class N17 = implements D with C;
+//                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:24: Context: This isn't a type.
+// class N17 = implements D with C;
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:52:13: Error: 'B' isn't a type.
+// class N19 = B with;
+//             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:52:13: Context: This isn't a type.
+// class N19 = B with;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:54:13: Error: 'B' isn't a type.
+// class N21 = B with C implements;
+//             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:54:13: Context: This isn't a type.
+// class N21 = B with C implements;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:54:20: Error: 'C' isn't a type.
+// class N21 = B with C implements;
+//                    ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:54:20: Context: This isn't a type.
+// class N21 = B with C implements;
+//                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:55:18: Error: 'C' isn't a type.
+// class N22 = with C implements;
+//                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:55:18: Context: This isn't a type.
+// class N22 = with C implements;
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:56:13: Error: 'implements' isn't a type.
+// class N23 = implements;
+//             ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:56:13: Context: This isn't a type.
+// class N23 = implements;
+//             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:57:13: Error: 'B' isn't a type.
+// class N24 = B extends;
+//             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:57:13: Context: This isn't a type.
+// class N24 = B extends;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:58:18: Error: 'C' isn't a type.
+// class N25 = with C with;
+//                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:58:18: Context: This isn't a type.
+// class N25 = with C with;
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:59:13: Error: 'implements' isn't a type.
+// class N26 = implements D implements;
+//             ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:59:13: Context: This isn't a type.
+// class N26 = implements D implements;
+//             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:59:24: Error: 'D' isn't a type.
+// class N26 = implements D implements;
+//                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:59:24: Context: This isn't a type.
+// class N26 = implements D implements;
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:61:23: Error: 'C' isn't a type.
+// enum E extends B with C implements D { element }
+//                       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:61:23: Context: This isn't a type.
+// enum E extends B with C implements D { element }
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:61:36: Error: 'D' isn't a type.
+// enum E extends B with C implements D { element }
+//                                    ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:61:36: Context: This isn't a type.
+// enum E extends B with C implements D { element }
+//                                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:62:30: Error: 'D' isn't a type.
+// enum E1 extends B implements D with C { element }
+//                              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:62:30: Context: This isn't a type.
+// enum E1 extends B implements D with C { element }
+//                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:63:20: Error: 'D' isn't a type.
+// enum E2 implements D extends B with C { element }
+//                    ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:63:20: Context: This isn't a type.
+// enum E2 implements D extends B with C { element }
+//                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:64:20: Error: 'D' isn't a type.
+// enum E3 implements D with C extends B { element }
+//                    ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:64:20: Context: This isn't a type.
+// enum E3 implements D with C extends B { element }
+//                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:65:14: Error: 'C' isn't a type.
+// enum E4 with C implements D extends B { element }
+//              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:65:14: Context: This isn't a type.
+// enum E4 with C implements D extends B { element }
+//              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:65:27: Error: 'D' isn't a type.
+// enum E4 with C implements D extends B { element }
+//                           ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:65:27: Context: This isn't a type.
+// enum E4 with C implements D extends B { element }
+//                           ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:66:14: Error: 'C' isn't a type.
+// enum E5 with C extends B implements D { element }
+//              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:66:14: Context: This isn't a type.
+// enum E5 with C extends B implements D { element }
+//              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:66:37: Error: 'D' isn't a type.
+// enum E5 with C extends B implements D { element }
+//                                     ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:66:37: Context: This isn't a type.
+// enum E5 with C extends B implements D { element }
+//                                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:67:24: Error: 'C' isn't a type.
+// enum E6 extends B with C implements D extends B { element }
+//                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:67:24: Context: This isn't a type.
+// enum E6 extends B with C implements D extends B { element }
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:67:37: Error: 'D' isn't a type.
+// enum E6 extends B with C implements D extends B { element }
+//                                     ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:67:37: Context: This isn't a type.
+// enum E6 extends B with C implements D extends B { element }
+//                                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:68:24: Error: 'C' isn't a type.
+// enum E7 extends B with C implements D implements D { element }
+//                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:68:24: Context: This isn't a type.
+// enum E7 extends B with C implements D implements D { element }
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:68:37: Error: 'D' isn't a type.
+// enum E7 extends B with C implements D implements D { element }
+//                                     ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:68:37: Context: This isn't a type.
+// enum E7 extends B with C implements D implements D { element }
+//                                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:69:24: Error: 'C' isn't a type.
+// enum E8 extends B with C implements D with C { element }
+//                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:69:24: Context: This isn't a type.
+// enum E8 extends B with C implements D with C { element }
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:69:37: Error: 'D' isn't a type.
+// enum E8 extends B with C implements D with C { element }
+//                                     ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:69:37: Context: This isn't a type.
+// enum E8 extends B with C implements D with C { element }
+//                                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:70:30: Error: 'D' isn't a type.
+// enum E9 extends B implements D with C extends B { element }
+//                              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:70:30: Context: This isn't a type.
+// enum E9 extends B implements D with C extends B { element }
+//                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:71:31: Error: 'D' isn't a type.
+// enum E10 extends B implements D with C implements D { element }
+//                               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:71:31: Context: This isn't a type.
+// enum E10 extends B implements D with C implements D { element }
+//                               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:72:31: Error: 'D' isn't a type.
+// enum E11 extends B implements D with C with C { element }
+//                               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:72:31: Context: This isn't a type.
+// enum E11 extends B implements D with C with C { element }
+//                               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:35: Error: 'C' isn't a type.
+// enum E12 extends B extends B with C implements D { element }
+//                                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:35: Context: This isn't a type.
+// enum E12 extends B extends B with C implements D { element }
+//                                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:74:25: Error: 'C' isn't a type.
+// enum E13 extends B with C with C implements D { element }
+//                         ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:74:25: Context: This isn't a type.
+// enum E13 extends B with C with C implements D { element }
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:74:45: Error: 'D' isn't a type.
+// enum E13 extends B with C with C implements D { element }
+//                                             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:74:45: Context: This isn't a type.
+// enum E13 extends B with C with C implements D { element }
+//                                             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:75:25: Error: 'C' isn't a type.
+// enum E14 extends B with C implements D implements D { element }
+//                         ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:75:25: Context: This isn't a type.
+// enum E14 extends B with C implements D implements D { element }
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:75:38: Error: 'D' isn't a type.
+// enum E14 extends B with C implements D implements D { element }
+//                                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:75:38: Context: This isn't a type.
+// enum E14 extends B with C implements D implements D { element }
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:76:15: Error: 'D' isn't a type.
+// enum E15 with D extends B { element }
+//               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:76:15: Context: This isn't a type.
+// enum E15 with D extends B { element }
+//               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:77:21: Error: 'D' isn't a type.
+// enum E16 implements D extends B { element }
+//                     ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:77:21: Context: This isn't a type.
+// enum E16 implements D extends B { element }
+//                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:78:21: Error: 'D' isn't a type.
+// enum E17 implements D with C { element }
+//                     ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:78:21: Context: This isn't a type.
+// enum E17 implements D with C { element }
+//                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:82:25: Error: 'C' isn't a type.
+// enum E21 extends B with C implements { element }
+//                         ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:82:25: Context: This isn't a type.
+// enum E21 extends B with C implements { element }
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:83:15: Error: 'C' isn't a type.
+// enum E22 with C implements { element }
+//               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:83:15: Context: This isn't a type.
+// enum E22 with C implements { element }
+//               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:86:15: Error: 'C' isn't a type.
+// enum E25 with C with { element }
+//               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:86:15: Context: This isn't a type.
+// enum E25 with C with { element }
+//               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:87:21: Error: 'D' isn't a type.
+// enum E26 implements D implements { element }
+//                     ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:87:21: Context: This isn't a type.
+// enum E26 implements D implements { element }
+//                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:5:7: Error: The type 'C' can't be mixed in.
+// class A extends B with C implements D {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:9:7: Error: The type 'C' can't be mixed in.
+// class A4 with C implements D extends B {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:10:7: Error: The type 'C' can't be mixed in.
+// class A5 with C extends B implements D {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:11:7: Error: The type 'C' can't be mixed in.
+// class A6 extends B with C implements D extends B {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:12:7: Error: The type 'C' can't be mixed in.
+// class A7 extends B with C implements D implements D {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:13:7: Error: The type 'C' can't be mixed in.
+// class A8 extends B with C implements D with C {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:18:7: Error: The type 'C' can't be mixed in.
+// class A13 extends B with C with C implements D {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:19:7: Error: The type 'C' can't be mixed in.
+// class A14 extends B with C implements D implements D {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:20:7: Error: The type 'D' can't be mixed in.
+// class A15 with D extends B {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:26:7: Error: The type 'C' can't be mixed in.
+// class A21 extends B with C implements {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:27:7: Error: The type 'C' can't be mixed in.
+// class A22 with C implements {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:30:7: Error: The type 'C' can't be mixed in.
+// class A25 with C with {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:33:7: Error: The type 'C' can't be mixed in.
+// class N = B with C implements D;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:7: Error: The type 'D' can't be mixed in.
+// class N2 = implements D extends B with C;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:7: Error: The type 'D' can't be mixed in.
+// class N3 = implements D with C extends B;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:7: Error: The type 'C' can't be mixed in.
+// class N6 = B with C implements D extends B;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:7: Error: The type 'C' can't be mixed in.
+// class N7 = B with C implements D implements D;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:7: Error: The type 'C' can't be mixed in.
+// class N8 = B with C implements D with C;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:7: Error: The type 'C' can't be mixed in.
+// class N13 = B with C with C implements D;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:7: Error: The type 'C' can't be mixed in.
+// class N14 = B with C implements D implements D;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:7: Error: The type 'D' can't be mixed in.
+// class N16 = implements D extends B;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:7: Error: The type 'D' can't be mixed in.
+// class N17 = implements D with C;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:54:7: Error: The type 'C' can't be mixed in.
+// class N21 = B with C implements;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:59:7: Error: The type 'D' can't be mixed in.
+// class N26 = implements D implements;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:61:6: Error: The type 'C' can't be mixed in.
+// enum E extends B with C implements D { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:65:6: Error: The type 'C' can't be mixed in.
+// enum E4 with C implements D extends B { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:66:6: Error: The type 'C' can't be mixed in.
+// enum E5 with C extends B implements D { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:67:6: Error: The type 'C' can't be mixed in.
+// enum E6 extends B with C implements D extends B { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:68:6: Error: The type 'C' can't be mixed in.
+// enum E7 extends B with C implements D implements D { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:69:6: Error: The type 'C' can't be mixed in.
+// enum E8 extends B with C implements D with C { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:74:6: Error: The type 'C' can't be mixed in.
+// enum E13 extends B with C with C implements D { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:75:6: Error: The type 'C' can't be mixed in.
+// enum E14 extends B with C implements D implements D { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:76:6: Error: The type 'D' can't be mixed in.
+// enum E15 with D extends B { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:82:6: Error: The type 'C' can't be mixed in.
+// enum E21 extends B with C implements { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:83:6: Error: The type 'C' can't be mixed in.
+// enum E22 with C implements { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:86:6: Error: The type 'C' can't be mixed in.
+// enum E25 with C with { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:27: Error: Can't use 'B' because it is declared more than once.
+// class N5 = with C extends B implements D;
+//                           ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:33: Error: Can't use 'C' because it is declared more than once.
+// class N10 = B implements D with C implements D;
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:30: Error: Can't use 'C' because it is declared more than once.
+// class N12 = B extends B with C implements D;
+//                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:27: Error: Can't use 'C' because it is declared more than once.
+// class N13 = B with C with C implements D;
+//                           ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:35: Error: Can't use 'C' because it is declared more than once.
+// enum E12 extends B extends B with C implements D { element }
+//                                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:52: Error: Expected ';' after this.
+// enum E12 extends B extends B with C implements D { element }
+//                                                    ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:52: Error: Undefined name 'element'.
+// enum E12 extends B extends B with C implements D { element }
+//                                                    ^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+abstract class _A&B&C extends core::Object /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_A&B&C
+    : super core::Object::•()
+    ;
+}
+class A extends self::_A&B&C {
+  synthetic constructor •() → self::A
+    : super self::_A&B&C::•()
+    ;
+}
+class A1 extends core::Object {
+  synthetic constructor •() → self::A1
+    : super core::Object::•()
+    ;
+}
+class A2 extends core::Object {
+  synthetic constructor •() → self::A2
+    : super core::Object::•()
+    ;
+}
+class A3 extends core::Object {
+  synthetic constructor •() → self::A3
+    : super core::Object::•()
+    ;
+}
+abstract class _A4&Object&C extends core::Object /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_A4&Object&C
+    : super core::Object::•()
+    ;
+}
+class A4 extends self::_A4&Object&C {
+  synthetic constructor •() → self::A4
+    : super self::_A4&Object&C::•()
+    ;
+}
+abstract class _A5&Object&C extends core::Object /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_A5&Object&C
+    : super core::Object::•()
+    ;
+}
+class A5 extends self::_A5&Object&C {
+  synthetic constructor •() → self::A5
+    : super self::_A5&Object&C::•()
+    ;
+}
+abstract class _A6&B&C extends core::Object /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_A6&B&C
+    : super core::Object::•()
+    ;
+}
+class A6 extends self::_A6&B&C {
+  synthetic constructor •() → self::A6
+    : super self::_A6&B&C::•()
+    ;
+}
+abstract class _A7&B&C extends core::Object /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_A7&B&C
+    : super core::Object::•()
+    ;
+}
+class A7 extends self::_A7&B&C {
+  synthetic constructor •() → self::A7
+    : super self::_A7&B&C::•()
+    ;
+}
+abstract class _A8&B&C extends core::Object /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_A8&B&C
+    : super core::Object::•()
+    ;
+}
+class A8 extends self::_A8&B&C {
+  synthetic constructor •() → self::A8
+    : super self::_A8&B&C::•()
+    ;
+}
+class A9 extends core::Object {
+  synthetic constructor •() → self::A9
+    : super core::Object::•()
+    ;
+}
+class A10 extends core::Object {
+  synthetic constructor •() → self::A10
+    : super core::Object::•()
+    ;
+}
+class A11 extends core::Object {
+  synthetic constructor •() → self::A11
+    : super core::Object::•()
+    ;
+}
+class A12 extends core::Object {
+  synthetic constructor •() → self::A12
+    : super core::Object::•()
+    ;
+}
+abstract class _A13&B&C extends core::Object /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_A13&B&C
+    : super core::Object::•()
+    ;
+}
+class A13 extends self::_A13&B&C {
+  synthetic constructor •() → self::A13
+    : super self::_A13&B&C::•()
+    ;
+}
+abstract class _A14&B&C extends core::Object /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_A14&B&C
+    : super core::Object::•()
+    ;
+}
+class A14 extends self::_A14&B&C {
+  synthetic constructor •() → self::A14
+    : super self::_A14&B&C::•()
+    ;
+}
+abstract class _A15&Object&D extends core::Object /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_A15&Object&D
+    : super core::Object::•()
+    ;
+}
+class A15 extends self::_A15&Object&D {
+  synthetic constructor •() → self::A15
+    : super self::_A15&Object&D::•()
+    ;
+}
+class A16 extends core::Object {
+  synthetic constructor •() → self::A16
+    : super core::Object::•()
+    ;
+}
+class A17 extends core::Object {
+  synthetic constructor •() → self::A17
+    : super core::Object::•()
+    ;
+}
+class A18 extends core::Object {
+  synthetic constructor •() → self::A18
+    : super core::Object::•()
+    ;
+}
+class A19 extends core::Object {
+  synthetic constructor •() → self::A19
+    : super core::Object::•()
+    ;
+}
+class A20 extends core::Object {
+  synthetic constructor •() → self::A20
+    : super core::Object::•()
+    ;
+}
+abstract class _A21&B&C extends core::Object /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_A21&B&C
+    : super core::Object::•()
+    ;
+}
+class A21 extends self::_A21&B&C {
+  synthetic constructor •() → self::A21
+    : super self::_A21&B&C::•()
+    ;
+}
+abstract class _A22&Object&C extends core::Object /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_A22&Object&C
+    : super core::Object::•()
+    ;
+}
+class A22 extends self::_A22&Object&C {
+  synthetic constructor •() → self::A22
+    : super self::_A22&Object&C::•()
+    ;
+}
+class A23 extends core::Object {
+  synthetic constructor •() → self::A23
+    : super core::Object::•()
+    ;
+}
+class A24 extends core::Object {
+  synthetic constructor •() → self::A24
+    : super core::Object::•()
+    ;
+}
+abstract class _A25&Object&C extends core::Object /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_A25&Object&C
+    : super core::Object::•()
+    ;
+}
+class A25 extends self::_A25&Object&C {
+  synthetic constructor •() → self::A25
+    : super self::_A25&Object&C::•()
+    ;
+}
+class A26 extends core::Object {
+  synthetic constructor •() → self::A26
+    : super core::Object::•()
+    ;
+}
+class N extends core::Object {
+  synthetic constructor •() → self::N
+    : super core::Object::•()
+    ;
+}
+class C#8 extends core::Object {
+  synthetic constructor •() → self::C#8
+    : super core::Object::•()
+    ;
+}
+class N2 extends core::Object {
+  synthetic constructor •() → self::N2
+    : super core::Object::•()
+    ;
+}
+class B#10 extends core::Object {
+  synthetic constructor •() → self::B#10
+    : super core::Object::•()
+    ;
+}
+class N3 extends core::Object {
+  synthetic constructor •() → self::N3
+    : super core::Object::•()
+    ;
+}
+class D#7 extends core::Object {
+  synthetic constructor •() → self::D#7
+    : super core::Object::•()
+    ;
+}
+class N6 extends core::Object {
+  synthetic constructor •() → self::N6
+    : super core::Object::•()
+    ;
+}
+class N7 extends core::Object {
+  synthetic constructor •() → self::N7
+    : super core::Object::•()
+    ;
+}
+class N8 extends core::Object {
+  synthetic constructor •() → self::N8
+    : super core::Object::•()
+    ;
+}
+class N13 extends core::Object {
+  synthetic constructor •() → self::N13
+    : super core::Object::•()
+    ;
+}
+class N14 extends core::Object {
+  synthetic constructor •() → self::N14
+    : super core::Object::•()
+    ;
+}
+class N16 extends core::Object {
+  synthetic constructor •() → self::N16
+    : super core::Object::•()
+    ;
+}
+class N17 extends core::Object {
+  synthetic constructor •() → self::N17
+    : super core::Object::•()
+    ;
+}
+class N21 extends core::Object {
+  synthetic constructor •() → self::N21
+    : super core::Object::•()
+    ;
+}
+class N26 extends core::Object {
+  synthetic constructor •() → self::N26
+    : super core::Object::•()
+    ;
+}
+abstract class _E&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E extends self::_E&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E> values = #C4;
+  static const field self::E element = #C3;
+  const constructor •(core::int index, core::String name) → self::E
+    : super self::_E&_Enum&C::•(index, name)
+    ;
+  method toString() → core::String
+    return "E.${this.{core::_Enum::_name}{core::String}}";
+}
+class E1 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E1> values = #C6;
+  static const field self::E1 element = #C5;
+  const constructor •(core::int index, core::String name) → self::E1
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E1.${this.{core::_Enum::_name}{core::String}}";
+}
+class E2 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E2> values = #C8;
+  static const field self::E2 element = #C7;
+  const constructor •(core::int index, core::String name) → self::E2
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E2.${this.{core::_Enum::_name}{core::String}}";
+}
+class E3 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E3> values = #C10;
+  static const field self::E3 element = #C9;
+  const constructor •(core::int index, core::String name) → self::E3
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E3.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E4&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E4&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E4 extends self::_E4&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E4> values = #C12;
+  static const field self::E4 element = #C11;
+  const constructor •(core::int index, core::String name) → self::E4
+    : super self::_E4&_Enum&C::•(index, name)
+    ;
+  method toString() → core::String
+    return "E4.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E5&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E5&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E5 extends self::_E5&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E5> values = #C14;
+  static const field self::E5 element = #C13;
+  const constructor •(core::int index, core::String name) → self::E5
+    : super self::_E5&_Enum&C::•(index, name)
+    ;
+  method toString() → core::String
+    return "E5.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E6&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E6&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E6 extends self::_E6&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E6> values = #C16;
+  static const field self::E6 element = #C15;
+  const constructor •(core::int index, core::String name) → self::E6
+    : super self::_E6&_Enum&C::•(index, name)
+    ;
+  method toString() → core::String
+    return "E6.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E7&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E7&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E7 extends self::_E7&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E7> values = #C18;
+  static const field self::E7 element = #C17;
+  const constructor •(core::int index, core::String name) → self::E7
+    : super self::_E7&_Enum&C::•(index, name)
+    ;
+  method toString() → core::String
+    return "E7.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E8&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E8&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E8 extends self::_E8&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E8> values = #C20;
+  static const field self::E8 element = #C19;
+  const constructor •(core::int index, core::String name) → self::E8
+    : super self::_E8&_Enum&C::•(index, name)
+    ;
+  method toString() → core::String
+    return "E8.${this.{core::_Enum::_name}{core::String}}";
+}
+class E9 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E9> values = #C22;
+  static const field self::E9 element = #C21;
+  const constructor •(core::int index, core::String name) → self::E9
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E9.${this.{core::_Enum::_name}{core::String}}";
+}
+class E10 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E10> values = #C24;
+  static const field self::E10 element = #C23;
+  const constructor •(core::int index, core::String name) → self::E10
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E10.${this.{core::_Enum::_name}{core::String}}";
+}
+class E11 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E11> values = #C26;
+  static const field self::E11 element = #C25;
+  const constructor •(core::int index, core::String name) → self::E11
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E11.${this.{core::_Enum::_name}{core::String}}";
+}
+class E12 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E12> values = #C27;
+  const constructor •(core::int index, core::String name) → self::E12
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E12.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E13&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E13&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E13 extends self::_E13&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E13> values = #C29;
+  static const field self::E13 element = #C28;
+  const constructor •(core::int index, core::String name) → self::E13
+    : super self::_E13&_Enum&C::•(index, name)
+    ;
+  method toString() → core::String
+    return "E13.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E14&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E14&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E14 extends self::_E14&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E14> values = #C31;
+  static const field self::E14 element = #C30;
+  const constructor •(core::int index, core::String name) → self::E14
+    : super self::_E14&_Enum&C::•(index, name)
+    ;
+  method toString() → core::String
+    return "E14.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E15&_Enum&D extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E15&_Enum&D
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E15 extends self::_E15&_Enum&D /*isEnum*/  {
+  static const field core::List<self::E15> values = #C33;
+  static const field self::E15 element = #C32;
+  const constructor •(core::int index, core::String name) → self::E15
+    : super self::_E15&_Enum&D::•(index, name)
+    ;
+  method toString() → core::String
+    return "E15.${this.{core::_Enum::_name}{core::String}}";
+}
+class E16 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E16> values = #C35;
+  static const field self::E16 element = #C34;
+  const constructor •(core::int index, core::String name) → self::E16
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E16.${this.{core::_Enum::_name}{core::String}}";
+}
+class E17 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E17> values = #C37;
+  static const field self::E17 element = #C36;
+  const constructor •(core::int index, core::String name) → self::E17
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E17.${this.{core::_Enum::_name}{core::String}}";
+}
+class E18 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E18> values = #C39;
+  static const field self::E18 element = #C38;
+  const constructor •(core::int index, core::String name) → self::E18
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E18.${this.{core::_Enum::_name}{core::String}}";
+}
+class E19 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E19> values = #C41;
+  static const field self::E19 element = #C40;
+  const constructor •(core::int index, core::String name) → self::E19
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E19.${this.{core::_Enum::_name}{core::String}}";
+}
+class E20 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E20> values = #C43;
+  static const field self::E20 element = #C42;
+  const constructor •(core::int index, core::String name) → self::E20
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E20.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E21&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E21&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E21 extends self::_E21&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E21> values = #C45;
+  static const field self::E21 element = #C44;
+  const constructor •(core::int index, core::String name) → self::E21
+    : super self::_E21&_Enum&C::•(index, name)
+    ;
+  method toString() → core::String
+    return "E21.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E22&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E22&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E22 extends self::_E22&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E22> values = #C47;
+  static const field self::E22 element = #C46;
+  const constructor •(core::int index, core::String name) → self::E22
+    : super self::_E22&_Enum&C::•(index, name)
+    ;
+  method toString() → core::String
+    return "E22.${this.{core::_Enum::_name}{core::String}}";
+}
+class E23 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E23> values = #C49;
+  static const field self::E23 element = #C48;
+  const constructor •(core::int index, core::String name) → self::E23
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E23.${this.{core::_Enum::_name}{core::String}}";
+}
+class E24 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E24> values = #C51;
+  static const field self::E24 element = #C50;
+  const constructor •(core::int index, core::String name) → self::E24
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E24.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E25&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E25&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E25 extends self::_E25&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E25> values = #C53;
+  static const field self::E25 element = #C52;
+  const constructor •(core::int index, core::String name) → self::E25
+    : super self::_E25&_Enum&C::•(index, name)
+    ;
+  method toString() → core::String
+    return "E25.${this.{core::_Enum::_name}{core::String}}";
+}
+class E26 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E26> values = #C55;
+  static const field self::E26 element = #C54;
+  const constructor •(core::int index, core::String name) → self::E26
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E26.${this.{core::_Enum::_name}{core::String}}";
+}
+static field dynamic with;
+static field dynamic C;
+static field dynamic extends;
+static field dynamic B;
+static field invalid-type implements;
+static field dynamic D;
+static method main() → dynamic {}
+
+constants  {
+  #C1 = 0
+  #C2 = "element"
+  #C3 = self::E {index:#C1, _name:#C2}
+  #C4 = <self::E*>[#C3]
+  #C5 = self::E1 {index:#C1, _name:#C2}
+  #C6 = <self::E1*>[#C5]
+  #C7 = self::E2 {index:#C1, _name:#C2}
+  #C8 = <self::E2*>[#C7]
+  #C9 = self::E3 {index:#C1, _name:#C2}
+  #C10 = <self::E3*>[#C9]
+  #C11 = self::E4 {index:#C1, _name:#C2}
+  #C12 = <self::E4*>[#C11]
+  #C13 = self::E5 {index:#C1, _name:#C2}
+  #C14 = <self::E5*>[#C13]
+  #C15 = self::E6 {index:#C1, _name:#C2}
+  #C16 = <self::E6*>[#C15]
+  #C17 = self::E7 {index:#C1, _name:#C2}
+  #C18 = <self::E7*>[#C17]
+  #C19 = self::E8 {index:#C1, _name:#C2}
+  #C20 = <self::E8*>[#C19]
+  #C21 = self::E9 {index:#C1, _name:#C2}
+  #C22 = <self::E9*>[#C21]
+  #C23 = self::E10 {index:#C1, _name:#C2}
+  #C24 = <self::E10*>[#C23]
+  #C25 = self::E11 {index:#C1, _name:#C2}
+  #C26 = <self::E11*>[#C25]
+  #C27 = <self::E12*>[]
+  #C28 = self::E13 {index:#C1, _name:#C2}
+  #C29 = <self::E13*>[#C28]
+  #C30 = self::E14 {index:#C1, _name:#C2}
+  #C31 = <self::E14*>[#C30]
+  #C32 = self::E15 {index:#C1, _name:#C2}
+  #C33 = <self::E15*>[#C32]
+  #C34 = self::E16 {index:#C1, _name:#C2}
+  #C35 = <self::E16*>[#C34]
+  #C36 = self::E17 {index:#C1, _name:#C2}
+  #C37 = <self::E17*>[#C36]
+  #C38 = self::E18 {index:#C1, _name:#C2}
+  #C39 = <self::E18*>[#C38]
+  #C40 = self::E19 {index:#C1, _name:#C2}
+  #C41 = <self::E19*>[#C40]
+  #C42 = self::E20 {index:#C1, _name:#C2}
+  #C43 = <self::E20*>[#C42]
+  #C44 = self::E21 {index:#C1, _name:#C2}
+  #C45 = <self::E21*>[#C44]
+  #C46 = self::E22 {index:#C1, _name:#C2}
+  #C47 = <self::E22*>[#C46]
+  #C48 = self::E23 {index:#C1, _name:#C2}
+  #C49 = <self::E23*>[#C48]
+  #C50 = self::E24 {index:#C1, _name:#C2}
+  #C51 = <self::E24*>[#C50]
+  #C52 = self::E25 {index:#C1, _name:#C2}
+  #C53 = <self::E25*>[#C52]
+  #C54 = self::E26 {index:#C1, _name:#C2}
+  #C55 = <self::E26*>[#C54]
+}
+
+
+Constructor coverage from constants:
+org-dartlang-testcase:///class_header.dart:
+- E. (from org-dartlang-testcase:///class_header.dart:61:6)
+- _E&_Enum&C. (from org-dartlang-testcase:///class_header.dart:61:6)
+- _Enum. (from org-dartlang-sdk:///sdk/lib/core/enum.dart:103:9)
+- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
+- E1. (from org-dartlang-testcase:///class_header.dart:62:6)
+- E2. (from org-dartlang-testcase:///class_header.dart:63:6)
+- E3. (from org-dartlang-testcase:///class_header.dart:64:6)
+- E4. (from org-dartlang-testcase:///class_header.dart:65:6)
+- _E4&_Enum&C. (from org-dartlang-testcase:///class_header.dart:65:6)
+- E5. (from org-dartlang-testcase:///class_header.dart:66:6)
+- _E5&_Enum&C. (from org-dartlang-testcase:///class_header.dart:66:6)
+- E6. (from org-dartlang-testcase:///class_header.dart:67:6)
+- _E6&_Enum&C. (from org-dartlang-testcase:///class_header.dart:67:6)
+- E7. (from org-dartlang-testcase:///class_header.dart:68:6)
+- _E7&_Enum&C. (from org-dartlang-testcase:///class_header.dart:68:6)
+- E8. (from org-dartlang-testcase:///class_header.dart:69:6)
+- _E8&_Enum&C. (from org-dartlang-testcase:///class_header.dart:69:6)
+- E9. (from org-dartlang-testcase:///class_header.dart:70:6)
+- E10. (from org-dartlang-testcase:///class_header.dart:71:6)
+- E11. (from org-dartlang-testcase:///class_header.dart:72:6)
+- E13. (from org-dartlang-testcase:///class_header.dart:74:6)
+- _E13&_Enum&C. (from org-dartlang-testcase:///class_header.dart:74:6)
+- E14. (from org-dartlang-testcase:///class_header.dart:75:6)
+- _E14&_Enum&C. (from org-dartlang-testcase:///class_header.dart:75:6)
+- E15. (from org-dartlang-testcase:///class_header.dart:76:6)
+- _E15&_Enum&D. (from org-dartlang-testcase:///class_header.dart:76:6)
+- E16. (from org-dartlang-testcase:///class_header.dart:77:6)
+- E17. (from org-dartlang-testcase:///class_header.dart:78:6)
+- E18. (from org-dartlang-testcase:///class_header.dart:79:6)
+- E19. (from org-dartlang-testcase:///class_header.dart:80:6)
+- E20. (from org-dartlang-testcase:///class_header.dart:81:6)
+- E21. (from org-dartlang-testcase:///class_header.dart:82:6)
+- _E21&_Enum&C. (from org-dartlang-testcase:///class_header.dart:82:6)
+- E22. (from org-dartlang-testcase:///class_header.dart:83:6)
+- _E22&_Enum&C. (from org-dartlang-testcase:///class_header.dart:83:6)
+- E23. (from org-dartlang-testcase:///class_header.dart:84:6)
+- E24. (from org-dartlang-testcase:///class_header.dart:85:6)
+- E25. (from org-dartlang-testcase:///class_header.dart:86:6)
+- _E25&_Enum&C. (from org-dartlang-testcase:///class_header.dart:86:6)
+- E26. (from org-dartlang-testcase:///class_header.dart:87:6)
diff --git a/pkg/front_end/testcases/general/error_recovery/class_header.dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/class_header.dart.weak.outline.expect
new file mode 100644
index 0000000..a59f1ed
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/class_header.dart.weak.outline.expect
@@ -0,0 +1,3223 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:6:33: Error: The with clause must be before the implements clause.
+// Try moving the with clause before the implements clause.
+// class A1 extends B implements D with C {}
+//                                 ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:7:23: Error: The extends clause must be before the implements clause.
+// Try moving the extends clause before the implements clause.
+// class A2 implements D extends B with C {}
+//                       ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:7:33: Error: The with clause must be before the implements clause.
+// Try moving the with clause before the implements clause.
+// class A2 implements D extends B with C {}
+//                                 ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:8:23: Error: The with clause must be before the implements clause.
+// Try moving the with clause before the implements clause.
+// class A3 implements D with C extends B {}
+//                       ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:8:30: Error: The extends clause must be before the with clause.
+// Try moving the extends clause before the with clause.
+// class A3 implements D with C extends B {}
+//                              ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:9:30: Error: The extends clause must be before the with clause.
+// Try moving the extends clause before the with clause.
+// class A4 with C implements D extends B {}
+//                              ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:10:17: Error: The extends clause must be before the with clause.
+// Try moving the extends clause before the with clause.
+// class A5 with C extends B implements D {}
+//                 ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:11:40: Error: Each class definition can have at most one extends clause.
+// Try choosing one superclass and define your class to implement (or mix in) the others.
+// class A6 extends B with C implements D extends B {}
+//                                        ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:12:40: Error: Each class definition can have at most one implements clause.
+// Try combining all of the implements clauses into a single clause.
+// class A7 extends B with C implements D implements D {}
+//                                        ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:13:40: Error: Each class definition can have at most one with clause.
+// Try combining all of the with clauses into a single clause.
+// class A8 extends B with C implements D with C {}
+//                                        ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:14:33: Error: The with clause must be before the implements clause.
+// Try moving the with clause before the implements clause.
+// class A9 extends B implements D with C extends B {}
+//                                 ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:14:40: Error: Each class definition can have at most one extends clause.
+// Try choosing one superclass and define your class to implement (or mix in) the others.
+// class A9 extends B implements D with C extends B {}
+//                                        ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:15:34: Error: The with clause must be before the implements clause.
+// Try moving the with clause before the implements clause.
+// class A10 extends B implements D with C implements D {}
+//                                  ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:15:41: Error: Each class definition can have at most one implements clause.
+// Try combining all of the implements clauses into a single clause.
+// class A10 extends B implements D with C implements D {}
+//                                         ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:16:34: Error: The with clause must be before the implements clause.
+// Try moving the with clause before the implements clause.
+// class A11 extends B implements D with C with C {}
+//                                  ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:16:41: Error: Each class definition can have at most one with clause.
+// Try combining all of the with clauses into a single clause.
+// class A11 extends B implements D with C with C {}
+//                                         ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:17:21: Error: Each class definition can have at most one extends clause.
+// Try choosing one superclass and define your class to implement (or mix in) the others.
+// class A12 extends B extends B with C implements D {}
+//                     ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:18:28: Error: Each class definition can have at most one with clause.
+// Try combining all of the with clauses into a single clause.
+// class A13 extends B with C with C implements D {}
+//                            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:19:41: Error: Each class definition can have at most one implements clause.
+// Try combining all of the implements clauses into a single clause.
+// class A14 extends B with C implements D implements D {}
+//                                         ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:20:18: Error: The extends clause must be before the with clause.
+// Try moving the extends clause before the with clause.
+// class A15 with D extends B {}
+//                  ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:21:24: Error: The extends clause must be before the implements clause.
+// Try moving the extends clause before the implements clause.
+// class A16 implements D extends B {}
+//                        ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:22:24: Error: The with clause must be before the implements clause.
+// Try moving the with clause before the implements clause.
+// class A17 implements D with C {}
+//                        ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:23:19: Error: Expected a type, but got '{'.
+// class A18 extends {}
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:24:26: Error: Expected a type, but got '{'.
+// class A19 extends B with {}
+//                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:25:16: Error: Expected a type, but got '{'.
+// class A20 with {}
+//                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:26:39: Error: Expected a type, but got '{'.
+// class A21 extends B with C implements {}
+//                                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:27:29: Error: Expected a type, but got '{'.
+// class A22 with C implements {}
+//                             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:28:22: Error: Expected a type, but got '{'.
+// class A23 implements {}
+//                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:29:29: Error: Expected a type, but got '{'.
+// class A24 extends B extends {}
+//                             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:29:21: Error: Each class definition can have at most one extends clause.
+// Try choosing one superclass and define your class to implement (or mix in) the others.
+// class A24 extends B extends {}
+//                     ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:30:23: Error: Expected a type, but got '{'.
+// class A25 with C with {}
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:30:18: Error: Each class definition can have at most one with clause.
+// Try combining all of the with clauses into a single clause.
+// class A25 with C with {}
+//                  ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:31:35: Error: Expected a type, but got '{'.
+// class A26 implements D implements {}
+//                                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:31:24: Error: Each class definition can have at most one implements clause.
+// Try combining all of the implements clauses into a single clause.
+// class A26 implements D implements {}
+//                        ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:14: Error: Expected 'with' before this.
+// class N1 = B implements D with C;
+//              ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:25: Error: Expected ';' after this.
+// class N1 = B implements D with C;
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:27: 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'.
+// class N1 = B implements D with C;
+//                           ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:27: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N1 = B implements D with C;
+//                           ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:27: Error: Expected ';' after this.
+// class N1 = B implements D with C;
+//                           ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:32: 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'.
+// class N1 = B implements D with C;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:12: Error: The built-in identifier 'implements' can't be used as a type.
+// class N2 = implements D extends B with C;
+//            ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:23: Error: Expected 'with' before this.
+// class N2 = implements D extends B with C;
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:23: Error: Expected ';' after this.
+// class N2 = implements D extends B with C;
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:25: 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'.
+// class N2 = implements D extends B with C;
+//                         ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:25: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N2 = implements D extends B with C;
+//                         ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:25: Error: Expected ';' after this.
+// class N2 = implements D extends B with C;
+//                         ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:33: 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'.
+// class N2 = implements D extends B with C;
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:33: Error: Expected ';' after this.
+// class N2 = implements D extends B with C;
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:35: 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'.
+// class N2 = implements D extends B with C;
+//                                   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:35: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N2 = implements D extends B with C;
+//                                   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:35: Error: Expected ';' after this.
+// class N2 = implements D extends B with C;
+//                                   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:35: Error: 'with' is already declared in this scope.
+// class N2 = implements D extends B with C;
+//                                   ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:27: Context: Previous declaration of 'with'.
+// class N1 = B implements D with C;
+//                           ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:40: 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'.
+// class N2 = implements D extends B with C;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:40: Error: 'C' is already declared in this scope.
+// class N2 = implements D extends B with C;
+//                                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:32: Context: Previous declaration of 'C'.
+// class N1 = B implements D with C;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:12: Error: The built-in identifier 'implements' can't be used as a type.
+// class N3 = implements D with C extends B;
+//            ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:23: Error: Expected 'with' before this.
+// class N3 = implements D with C extends B;
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:23: Error: Expected ';' after this.
+// class N3 = implements D with C extends B;
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:25: 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'.
+// class N3 = implements D with C extends B;
+//                         ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:25: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N3 = implements D with C extends B;
+//                         ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:25: Error: Expected ';' after this.
+// class N3 = implements D with C extends B;
+//                         ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:25: Error: 'with' is already declared in this scope.
+// class N3 = implements D with C extends B;
+//                         ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:35: Context: Previous declaration of 'with'.
+// class N2 = implements D extends B with C;
+//                                   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:30: 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'.
+// class N3 = implements D with C extends B;
+//                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:30: Error: Expected ';' after this.
+// class N3 = implements D with C extends B;
+//                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:30: Error: 'C' is already declared in this scope.
+// class N3 = implements D with C extends B;
+//                              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:40: Context: Previous declaration of 'C'.
+// class N2 = implements D extends B with C;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:32: 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'.
+// class N3 = implements D with C extends B;
+//                                ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:32: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N3 = implements D with C extends B;
+//                                ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:32: Error: Expected ';' after this.
+// class N3 = implements D with C extends B;
+//                                ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:32: Error: 'extends' is already declared in this scope.
+// class N3 = implements D with C extends B;
+//                                ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:25: Context: Previous declaration of 'extends'.
+// class N2 = implements D extends B with C;
+//                         ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:40: 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'.
+// class N3 = implements D with C extends B;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:40: Error: 'B' is already declared in this scope.
+// class N3 = implements D with C extends B;
+//                                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:33: Context: Previous declaration of 'B'.
+// class N2 = implements D extends B with C;
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:12: Error: Expected a type, but got 'with'.
+// class N4 = with C implements D extends B;
+//            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:30: Error: Expected ';' after this.
+// class N4 = with C implements D extends B;
+//                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:32: 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'.
+// class N4 = with C implements D extends B;
+//                                ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:32: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N4 = with C implements D extends B;
+//                                ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:32: Error: Expected ';' after this.
+// class N4 = with C implements D extends B;
+//                                ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:32: Error: 'extends' is already declared in this scope.
+// class N4 = with C implements D extends B;
+//                                ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:32: Context: Previous declaration of 'extends'.
+// class N3 = implements D with C extends B;
+//                                ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:40: 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'.
+// class N4 = with C implements D extends B;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:40: Error: 'B' is already declared in this scope.
+// class N4 = with C implements D extends B;
+//                                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:40: Context: Previous declaration of 'B'.
+// class N3 = implements D with C extends B;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:12: Error: Expected a type, but got 'with'.
+// class N5 = with C extends B implements D;
+//            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:17: Error: Expected ';' after this.
+// class N5 = with C extends B implements D;
+//                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:19: 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'.
+// class N5 = with C extends B implements D;
+//                   ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:19: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N5 = with C extends B implements D;
+//                   ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:19: Error: Expected ';' after this.
+// class N5 = with C extends B implements D;
+//                   ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:19: Error: 'extends' is already declared in this scope.
+// class N5 = with C extends B implements D;
+//                   ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:32: Context: Previous declaration of 'extends'.
+// class N4 = with C implements D extends B;
+//                                ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:29: Error: Expected ';' after this.
+// class N5 = with C extends B implements D;
+//                             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:40: 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'.
+// class N5 = with C extends B implements D;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:32: Error: Expected ';' after this.
+// class N6 = B with C implements D extends B;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:34: 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'.
+// class N6 = B with C implements D extends B;
+//                                  ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:34: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N6 = B with C implements D extends B;
+//                                  ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:34: Error: Expected ';' after this.
+// class N6 = B with C implements D extends B;
+//                                  ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:34: Error: 'extends' is already declared in this scope.
+// class N6 = B with C implements D extends B;
+//                                  ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:19: Context: Previous declaration of 'extends'.
+// class N5 = with C extends B implements D;
+//                   ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:42: 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'.
+// class N6 = B with C implements D extends B;
+//                                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:42: Error: 'B' is already declared in this scope.
+// class N6 = B with C implements D extends B;
+//                                          ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:40: Context: Previous declaration of 'B'.
+// class N4 = with C implements D extends B;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:32: Error: Expected ';' after this.
+// class N7 = B with C implements D implements D;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:34: 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'.
+// class N7 = B with C implements D implements D;
+//                                  ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:34: Error: Expected ';' after this.
+// class N7 = B with C implements D implements D;
+//                                  ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:34: Error: 'implements' is already declared in this scope.
+// class N7 = B with C implements D implements D;
+//                                  ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:29: Context: Previous declaration of 'implements'.
+// class N5 = with C extends B implements D;
+//                             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:45: 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'.
+// class N7 = B with C implements D implements D;
+//                                             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:45: Error: 'D' is already declared in this scope.
+// class N7 = B with C implements D implements D;
+//                                             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:40: Context: Previous declaration of 'D'.
+// class N5 = with C extends B implements D;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:32: Error: Expected ';' after this.
+// class N8 = B with C implements D with C;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:34: 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'.
+// class N8 = B with C implements D with C;
+//                                  ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:34: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N8 = B with C implements D with C;
+//                                  ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:34: Error: Expected ';' after this.
+// class N8 = B with C implements D with C;
+//                                  ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:34: Error: 'with' is already declared in this scope.
+// class N8 = B with C implements D with C;
+//                                  ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:25: Context: Previous declaration of 'with'.
+// class N3 = implements D with C extends B;
+//                         ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:39: 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'.
+// class N8 = B with C implements D with C;
+//                                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:39: Error: 'C' is already declared in this scope.
+// class N8 = B with C implements D with C;
+//                                       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:30: Context: Previous declaration of 'C'.
+// class N3 = implements D with C extends B;
+//                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:14: Error: Expected 'with' before this.
+// class N9 = B implements D with C extends B;
+//              ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:25: Error: Expected ';' after this.
+// class N9 = B implements D with C extends B;
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:27: 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'.
+// class N9 = B implements D with C extends B;
+//                           ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:27: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N9 = B implements D with C extends B;
+//                           ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:27: Error: Expected ';' after this.
+// class N9 = B implements D with C extends B;
+//                           ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:27: Error: 'with' is already declared in this scope.
+// class N9 = B implements D with C extends B;
+//                           ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:34: Context: Previous declaration of 'with'.
+// class N8 = B with C implements D with C;
+//                                  ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:32: 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'.
+// class N9 = B implements D with C extends B;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:32: Error: Expected ';' after this.
+// class N9 = B implements D with C extends B;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:32: Error: 'C' is already declared in this scope.
+// class N9 = B implements D with C extends B;
+//                                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:39: Context: Previous declaration of 'C'.
+// class N8 = B with C implements D with C;
+//                                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:34: 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'.
+// class N9 = B implements D with C extends B;
+//                                  ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:34: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N9 = B implements D with C extends B;
+//                                  ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:34: Error: Expected ';' after this.
+// class N9 = B implements D with C extends B;
+//                                  ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:34: Error: 'extends' is already declared in this scope.
+// class N9 = B implements D with C extends B;
+//                                  ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:34: Context: Previous declaration of 'extends'.
+// class N6 = B with C implements D extends B;
+//                                  ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:42: 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'.
+// class N9 = B implements D with C extends B;
+//                                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:42: Error: 'B' is already declared in this scope.
+// class N9 = B implements D with C extends B;
+//                                          ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:42: Context: Previous declaration of 'B'.
+// class N6 = B with C implements D extends B;
+//                                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:15: Error: Expected 'with' before this.
+// class N10 = B implements D with C implements D;
+//               ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:26: Error: Expected ';' after this.
+// class N10 = B implements D with C implements D;
+//                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:28: 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'.
+// class N10 = B implements D with C implements D;
+//                            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:28: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N10 = B implements D with C implements D;
+//                            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:28: Error: Expected ';' after this.
+// class N10 = B implements D with C implements D;
+//                            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:28: Error: 'with' is already declared in this scope.
+// class N10 = B implements D with C implements D;
+//                            ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:27: Context: Previous declaration of 'with'.
+// class N9 = B implements D with C extends B;
+//                           ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:35: Error: Expected ';' after this.
+// class N10 = B implements D with C implements D;
+//                                   ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:35: Error: 'implements' is already declared in this scope.
+// class N10 = B implements D with C implements D;
+//                                   ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:34: Context: Previous declaration of 'implements'.
+// class N7 = B with C implements D implements D;
+//                                  ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:46: 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'.
+// class N10 = B implements D with C implements D;
+//                                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:46: Error: 'D' is already declared in this scope.
+// class N10 = B implements D with C implements D;
+//                                              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:45: Context: Previous declaration of 'D'.
+// class N7 = B with C implements D implements D;
+//                                             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:15: Error: Expected 'with' before this.
+// class N11 = B implements D with C with C;
+//               ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:26: Error: Expected ';' after this.
+// class N11 = B implements D with C with C;
+//                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:28: 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'.
+// class N11 = B implements D with C with C;
+//                            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:28: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N11 = B implements D with C with C;
+//                            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:28: Error: Expected ';' after this.
+// class N11 = B implements D with C with C;
+//                            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:28: Error: 'with' is already declared in this scope.
+// class N11 = B implements D with C with C;
+//                            ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:28: Context: Previous declaration of 'with'.
+// class N10 = B implements D with C implements D;
+//                            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:33: 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'.
+// class N11 = B implements D with C with C;
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:33: Error: Expected ';' after this.
+// class N11 = B implements D with C with C;
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:33: Error: 'C' is already declared in this scope.
+// class N11 = B implements D with C with C;
+//                                 ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:32: Context: Previous declaration of 'C'.
+// class N9 = B implements D with C extends B;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:35: 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'.
+// class N11 = B implements D with C with C;
+//                                   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:35: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N11 = B implements D with C with C;
+//                                   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:35: Error: Expected ';' after this.
+// class N11 = B implements D with C with C;
+//                                   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:35: Error: 'with' is already declared in this scope.
+// class N11 = B implements D with C with C;
+//                                   ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:28: Context: Previous declaration of 'with'.
+// class N11 = B implements D with C with C;
+//                            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:40: 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'.
+// class N11 = B implements D with C with C;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:40: Error: 'C' is already declared in this scope.
+// class N11 = B implements D with C with C;
+//                                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:33: Context: Previous declaration of 'C'.
+// class N11 = B implements D with C with C;
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:15: Error: Expected 'with' before this.
+// class N12 = B extends B with C implements D;
+//               ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:13: Error: Expected ';' after this.
+// class N12 = B extends B with C implements D;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:15: 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'.
+// class N12 = B extends B with C implements D;
+//               ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:15: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N12 = B extends B with C implements D;
+//               ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:15: Error: Expected ';' after this.
+// class N12 = B extends B with C implements D;
+//               ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:15: Error: 'extends' is already declared in this scope.
+// class N12 = B extends B with C implements D;
+//               ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:34: Context: Previous declaration of 'extends'.
+// class N9 = B implements D with C extends B;
+//                                  ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:23: 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'.
+// class N12 = B extends B with C implements D;
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:23: Error: Expected ';' after this.
+// class N12 = B extends B with C implements D;
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:23: Error: 'B' is already declared in this scope.
+// class N12 = B extends B with C implements D;
+//                       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:42: Context: Previous declaration of 'B'.
+// class N9 = B implements D with C extends B;
+//                                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:25: 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'.
+// class N12 = B extends B with C implements D;
+//                         ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:25: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N12 = B extends B with C implements D;
+//                         ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:25: Error: Expected ';' after this.
+// class N12 = B extends B with C implements D;
+//                         ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:25: Error: 'with' is already declared in this scope.
+// class N12 = B extends B with C implements D;
+//                         ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:35: Context: Previous declaration of 'with'.
+// class N11 = B implements D with C with C;
+//                                   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:32: Error: Expected ';' after this.
+// class N12 = B extends B with C implements D;
+//                                ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:32: Error: 'implements' is already declared in this scope.
+// class N12 = B extends B with C implements D;
+//                                ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:35: Context: Previous declaration of 'implements'.
+// class N10 = B implements D with C implements D;
+//                                   ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:43: 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'.
+// class N12 = B extends B with C implements D;
+//                                           ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:43: Error: 'D' is already declared in this scope.
+// class N12 = B extends B with C implements D;
+//                                           ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:46: Context: Previous declaration of 'D'.
+// class N10 = B implements D with C implements D;
+//                                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:20: Error: Expected ';' after this.
+// class N13 = B with C with C implements D;
+//                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:22: 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'.
+// class N13 = B with C with C implements D;
+//                      ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:22: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N13 = B with C with C implements D;
+//                      ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:22: Error: Expected ';' after this.
+// class N13 = B with C with C implements D;
+//                      ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:22: Error: 'with' is already declared in this scope.
+// class N13 = B with C with C implements D;
+//                      ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:25: Context: Previous declaration of 'with'.
+// class N12 = B extends B with C implements D;
+//                         ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:29: Error: Expected ';' after this.
+// class N13 = B with C with C implements D;
+//                             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:29: Error: 'implements' is already declared in this scope.
+// class N13 = B with C with C implements D;
+//                             ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:32: Context: Previous declaration of 'implements'.
+// class N12 = B extends B with C implements D;
+//                                ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:40: 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'.
+// class N13 = B with C with C implements D;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:40: Error: 'D' is already declared in this scope.
+// class N13 = B with C with C implements D;
+//                                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:43: Context: Previous declaration of 'D'.
+// class N12 = B extends B with C implements D;
+//                                           ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:33: Error: Expected ';' after this.
+// class N14 = B with C implements D implements D;
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:35: 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'.
+// class N14 = B with C implements D implements D;
+//                                   ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:35: Error: Expected ';' after this.
+// class N14 = B with C implements D implements D;
+//                                   ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:35: Error: 'implements' is already declared in this scope.
+// class N14 = B with C implements D implements D;
+//                                   ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:29: Context: Previous declaration of 'implements'.
+// class N13 = B with C with C implements D;
+//                             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:46: 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'.
+// class N14 = B with C implements D implements D;
+//                                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:46: Error: 'D' is already declared in this scope.
+// class N14 = B with C implements D implements D;
+//                                              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:40: Context: Previous declaration of 'D'.
+// class N13 = B with C with C implements D;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:13: Error: Expected a type, but got 'with'.
+// class N15 = with D extends B;
+//             ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:18: Error: Expected ';' after this.
+// class N15 = with D extends B;
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:20: 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'.
+// class N15 = with D extends B;
+//                    ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:20: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N15 = with D extends B;
+//                    ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:20: Error: Expected ';' after this.
+// class N15 = with D extends B;
+//                    ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:20: Error: 'extends' is already declared in this scope.
+// class N15 = with D extends B;
+//                    ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:15: Context: Previous declaration of 'extends'.
+// class N12 = B extends B with C implements D;
+//               ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:28: 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'.
+// class N15 = with D extends B;
+//                            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:28: Error: 'B' is already declared in this scope.
+// class N15 = with D extends B;
+//                            ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:23: Context: Previous declaration of 'B'.
+// class N12 = B extends B with C implements D;
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:13: Error: The built-in identifier 'implements' can't be used as a type.
+// class N16 = implements D extends B;
+//             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:24: Error: Expected 'with' before this.
+// class N16 = implements D extends B;
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:24: Error: Expected ';' after this.
+// class N16 = implements D extends B;
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:26: 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'.
+// class N16 = implements D extends B;
+//                          ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:26: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N16 = implements D extends B;
+//                          ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:26: Error: Expected ';' after this.
+// class N16 = implements D extends B;
+//                          ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:26: Error: 'extends' is already declared in this scope.
+// class N16 = implements D extends B;
+//                          ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:20: Context: Previous declaration of 'extends'.
+// class N15 = with D extends B;
+//                    ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:34: 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'.
+// class N16 = implements D extends B;
+//                                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:34: Error: 'B' is already declared in this scope.
+// class N16 = implements D extends B;
+//                                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:28: Context: Previous declaration of 'B'.
+// class N15 = with D extends B;
+//                            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:13: Error: The built-in identifier 'implements' can't be used as a type.
+// class N17 = implements D with C;
+//             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:24: Error: Expected 'with' before this.
+// class N17 = implements D with C;
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:24: Error: Expected ';' after this.
+// class N17 = implements D with C;
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:26: 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'.
+// class N17 = implements D with C;
+//                          ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:26: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N17 = implements D with C;
+//                          ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:26: Error: Expected ';' after this.
+// class N17 = implements D with C;
+//                          ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:26: Error: 'with' is already declared in this scope.
+// class N17 = implements D with C;
+//                          ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:22: Context: Previous declaration of 'with'.
+// class N13 = B with C with C implements D;
+//                      ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:31: 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'.
+// class N17 = implements D with C;
+//                               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:31: Error: 'C' is already declared in this scope.
+// class N17 = implements D with C;
+//                               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:40: Context: Previous declaration of 'C'.
+// class N11 = B implements D with C with C;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:51:13: Error: Expected a type, but got ';'.
+// class N18 = ;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:51:13: Error: Expected 'with' before this.
+// class N18 = ;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:52:19: Error: Expected a type, but got ';'.
+// class N19 = B with;
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:53:13: Error: Expected a type, but got 'with'.
+// class N20 = with;
+//             ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:53:17: Error: Expected a type, but got ';'.
+// class N20 = with;
+//                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:54:32: Error: Expected a type, but got ';'.
+// class N21 = B with C implements;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:55:13: Error: Expected a type, but got 'with'.
+// class N22 = with C implements;
+//             ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:55:30: Error: Expected a type, but got ';'.
+// class N22 = with C implements;
+//                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:56:13: Error: The built-in identifier 'implements' can't be used as a type.
+// class N23 = implements;
+//             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:56:23: Error: Expected 'with' before this.
+// class N23 = implements;
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:57:15: Error: Expected 'with' before this.
+// class N24 = B extends;
+//               ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:57:13: Error: Expected ';' after this.
+// class N24 = B extends;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:57:15: 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'.
+// class N24 = B extends;
+//               ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:57:15: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N24 = B extends;
+//               ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:57:15: Error: 'extends' is already declared in this scope.
+// class N24 = B extends;
+//               ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:26: Context: Previous declaration of 'extends'.
+// class N16 = implements D extends B;
+//                          ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:58:13: Error: Expected a type, but got 'with'.
+// class N25 = with C with;
+//             ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:58:18: Error: Expected ';' after this.
+// class N25 = with C with;
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:58:20: 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'.
+// class N25 = with C with;
+//                    ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:58:20: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N25 = with C with;
+//                    ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:58:20: Error: 'with' is already declared in this scope.
+// class N25 = with C with;
+//                    ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:26: Context: Previous declaration of 'with'.
+// class N17 = implements D with C;
+//                          ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:59:13: Error: The built-in identifier 'implements' can't be used as a type.
+// class N26 = implements D implements;
+//             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:59:24: Error: Expected 'with' before this.
+// class N26 = implements D implements;
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:59:36: Error: Expected a type, but got ';'.
+// class N26 = implements D implements;
+//                                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:61:8: Error: Unexpected tokens.
+// enum E extends B with C implements D { element }
+//        ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:62:9: Error: Unexpected tokens.
+// enum E1 extends B implements D with C { element }
+//         ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:62:32: Error: The 'with' clause must come before the 'implements' clause.
+// Try moving the 'with' clause before the 'implements' clause.
+// enum E1 extends B implements D with C { element }
+//                                ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:63:22: Error: Unexpected tokens.
+// enum E2 implements D extends B with C { element }
+//                      ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:63:32: Error: The 'with' clause must come before the 'implements' clause.
+// Try moving the 'with' clause before the 'implements' clause.
+// enum E2 implements D extends B with C { element }
+//                                ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:64:22: Error: The 'with' clause must come before the 'implements' clause.
+// Try moving the 'with' clause before the 'implements' clause.
+// enum E3 implements D with C extends B { element }
+//                      ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:64:29: Error: Unexpected tokens.
+// enum E3 implements D with C extends B { element }
+//                             ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:65:29: Error: Unexpected tokens.
+// enum E4 with C implements D extends B { element }
+//                             ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:66:16: Error: Unexpected tokens.
+// enum E5 with C extends B implements D { element }
+//                ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:67:9: Error: Unexpected tokens.
+// enum E6 extends B with C implements D extends B { element }
+//         ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:67:39: Error: Unexpected tokens.
+// enum E6 extends B with C implements D extends B { element }
+//                                       ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:68:9: Error: Unexpected tokens.
+// enum E7 extends B with C implements D implements D { element }
+//         ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:68:39: Error: Each 'enum' definition can have at most one 'implements' clause.
+// Try combining all of the 'implements' clauses into a single clause.
+// enum E7 extends B with C implements D implements D { element }
+//                                       ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:69:9: Error: Unexpected tokens.
+// enum E8 extends B with C implements D with C { element }
+//         ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:69:39: Error: Each 'enum' definition can have at most one 'with' clause.
+// Try combining all of the 'with' clauses into a single clause.
+// enum E8 extends B with C implements D with C { element }
+//                                       ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:70:9: Error: Unexpected tokens.
+// enum E9 extends B implements D with C extends B { element }
+//         ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:70:32: Error: The 'with' clause must come before the 'implements' clause.
+// Try moving the 'with' clause before the 'implements' clause.
+// enum E9 extends B implements D with C extends B { element }
+//                                ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:70:39: Error: Unexpected tokens.
+// enum E9 extends B implements D with C extends B { element }
+//                                       ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:71:10: Error: Unexpected tokens.
+// enum E10 extends B implements D with C implements D { element }
+//          ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:71:33: Error: The 'with' clause must come before the 'implements' clause.
+// Try moving the 'with' clause before the 'implements' clause.
+// enum E10 extends B implements D with C implements D { element }
+//                                 ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:71:40: Error: Each 'enum' definition can have at most one 'implements' clause.
+// Try combining all of the 'implements' clauses into a single clause.
+// enum E10 extends B implements D with C implements D { element }
+//                                        ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:72:10: Error: Unexpected tokens.
+// enum E11 extends B implements D with C with C { element }
+//          ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:72:33: Error: The 'with' clause must come before the 'implements' clause.
+// Try moving the 'with' clause before the 'implements' clause.
+// enum E11 extends B implements D with C with C { element }
+//                                 ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:72:40: Error: Each 'enum' definition can have at most one 'with' clause.
+// Try combining all of the 'with' clauses into a single clause.
+// enum E11 extends B implements D with C with C { element }
+//                                        ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:10: Error: Expected a enum body, but got 'extends'.
+// An enum definition must have a body with at least one constant name.
+// enum E12 extends B extends B with C implements D { element }
+//          ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73: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'.
+// enum E12 extends B extends B with C implements D { element }
+//          ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:10: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// enum E12 extends B extends B with C implements D { element }
+//          ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:10: Error: Expected ';' after this.
+// enum E12 extends B extends B with C implements D { element }
+//          ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:10: Error: 'extends' is already declared in this scope.
+// enum E12 extends B extends B with C implements D { element }
+//          ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:57:15: Context: Previous declaration of 'extends'.
+// class N24 = B extends;
+//               ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:18: 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'.
+// enum E12 extends B extends B with C implements D { element }
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:18: Error: Expected ';' after this.
+// enum E12 extends B extends B with C implements D { element }
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:18: Error: 'B' is already declared in this scope.
+// enum E12 extends B extends B with C implements D { element }
+//                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:34: Context: Previous declaration of 'B'.
+// class N16 = implements D extends B;
+//                                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:20: 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'.
+// enum E12 extends B extends B with C implements D { element }
+//                    ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:20: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// enum E12 extends B extends B with C implements D { element }
+//                    ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:20: Error: Expected ';' after this.
+// enum E12 extends B extends B with C implements D { element }
+//                    ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:20: Error: 'extends' is already declared in this scope.
+// enum E12 extends B extends B with C implements D { element }
+//                    ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:10: Context: Previous declaration of 'extends'.
+// enum E12 extends B extends B with C implements D { element }
+//          ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:28: 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'.
+// enum E12 extends B extends B with C implements D { element }
+//                            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:28: Error: Expected ';' after this.
+// enum E12 extends B extends B with C implements D { element }
+//                            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:28: Error: 'B' is already declared in this scope.
+// enum E12 extends B extends B with C implements D { element }
+//                            ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:18: Context: Previous declaration of 'B'.
+// enum E12 extends B extends B with C implements D { element }
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:30: 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'.
+// enum E12 extends B extends B with C implements D { element }
+//                              ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:30: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// enum E12 extends B extends B with C implements D { element }
+//                              ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:30: Error: Expected ';' after this.
+// enum E12 extends B extends B with C implements D { element }
+//                              ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:30: Error: 'with' is already declared in this scope.
+// enum E12 extends B extends B with C implements D { element }
+//                              ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:58:20: Context: Previous declaration of 'with'.
+// class N25 = with C with;
+//                    ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:37: Error: Expected ';' after this.
+// enum E12 extends B extends B with C implements D { element }
+//                                     ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:37: Error: 'implements' is already declared in this scope.
+// enum E12 extends B extends B with C implements D { element }
+//                                     ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:35: Context: Previous declaration of 'implements'.
+// class N14 = B with C implements D implements D;
+//                                   ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:48: Error: A function declaration needs an explicit list of parameters.
+// Try adding a parameter list to the function declaration.
+// enum E12 extends B extends B with C implements D { element }
+//                                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:48: Error: 'D' is already declared in this scope.
+// enum E12 extends B extends B with C implements D { element }
+//                                                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:46: Context: Previous declaration of 'D'.
+// class N14 = B with C implements D implements D;
+//                                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:74:10: Error: Unexpected tokens.
+// enum E13 extends B with C with C implements D { element }
+//          ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:74:27: Error: Each 'enum' definition can have at most one 'with' clause.
+// Try combining all of the 'with' clauses into a single clause.
+// enum E13 extends B with C with C implements D { element }
+//                           ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:75:10: Error: Unexpected tokens.
+// enum E14 extends B with C implements D implements D { element }
+//          ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:75:40: Error: Each 'enum' definition can have at most one 'implements' clause.
+// Try combining all of the 'implements' clauses into a single clause.
+// enum E14 extends B with C implements D implements D { element }
+//                                        ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:76:17: Error: Unexpected tokens.
+// enum E15 with D extends B { element }
+//                 ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:77:23: Error: Unexpected tokens.
+// enum E16 implements D extends B { element }
+//                       ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:78:23: Error: The 'with' clause must come before the 'implements' clause.
+// Try moving the 'with' clause before the 'implements' clause.
+// enum E17 implements D with C { element }
+//                       ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:79:10: Error: Unexpected token 'extends'.
+// enum E18 extends { element }
+//          ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:80:10: Error: Unexpected tokens.
+// enum E19 extends B with { element }
+//          ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:80:25: Error: Expected a type, but got '{'.
+// enum E19 extends B with { element }
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:81:15: Error: Expected a type, but got '{'.
+// enum E20 with { element }
+//               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:82:10: Error: Unexpected tokens.
+// enum E21 extends B with C implements { element }
+//          ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:82:38: Error: Expected a type, but got '{'.
+// enum E21 extends B with C implements { element }
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:83:28: Error: Expected a type, but got '{'.
+// enum E22 with C implements { element }
+//                            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:84:21: Error: Expected a type, but got '{'.
+// enum E23 implements { element }
+//                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:85:10: Error: Unexpected tokens.
+// enum E24 extends B extends { element }
+//          ^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:86:17: Error: Each 'enum' definition can have at most one 'with' clause.
+// Try combining all of the 'with' clauses into a single clause.
+// enum E25 with C with { element }
+//                 ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:87:23: Error: Each 'enum' definition can have at most one 'implements' clause.
+// Try combining all of the 'implements' clauses into a single clause.
+// enum E26 implements D implements { element }
+//                       ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:89:7: Error: 'B' is already declared in this scope.
+// class B {}
+//       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:28: Context: Previous declaration of 'B'.
+// enum E12 extends B extends B with C implements D { element }
+//                            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:90:7: Error: 'C' is already declared in this scope.
+// class C {}
+//       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:31: Context: Previous declaration of 'C'.
+// class N17 = implements D with C;
+//                               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:91:7: Error: 'D' is already declared in this scope.
+// class D {}
+//       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:48: Context: Previous declaration of 'D'.
+// enum E12 extends B extends B with C implements D { element }
+//                                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:5:17: Error: 'B' isn't a type.
+// class A extends B with C implements D {}
+//                 ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:5:17: Context: This isn't a type.
+// class A extends B with C implements D {}
+//                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:5:24: Error: 'C' isn't a type.
+// class A extends B with C implements D {}
+//                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:5:24: Context: This isn't a type.
+// class A extends B with C implements D {}
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:5:37: Error: 'D' isn't a type.
+// class A extends B with C implements D {}
+//                                     ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:5:37: Context: This isn't a type.
+// class A extends B with C implements D {}
+//                                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:6:18: Error: 'B' isn't a type.
+// class A1 extends B implements D with C {}
+//                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:6:18: Context: This isn't a type.
+// class A1 extends B implements D with C {}
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:6:31: Error: 'D' isn't a type.
+// class A1 extends B implements D with C {}
+//                               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:6:31: Context: This isn't a type.
+// class A1 extends B implements D with C {}
+//                               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:6:38: Error: 'C' isn't a type.
+// class A1 extends B implements D with C {}
+//                                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:6:38: Context: This isn't a type.
+// class A1 extends B implements D with C {}
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:7:21: Error: 'D' isn't a type.
+// class A2 implements D extends B with C {}
+//                     ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:7:21: Context: This isn't a type.
+// class A2 implements D extends B with C {}
+//                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:7:31: Error: 'B' isn't a type.
+// class A2 implements D extends B with C {}
+//                               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:7:31: Context: This isn't a type.
+// class A2 implements D extends B with C {}
+//                               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:7:38: Error: 'C' isn't a type.
+// class A2 implements D extends B with C {}
+//                                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:7:38: Context: This isn't a type.
+// class A2 implements D extends B with C {}
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:8:21: Error: 'D' isn't a type.
+// class A3 implements D with C extends B {}
+//                     ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:8:21: Context: This isn't a type.
+// class A3 implements D with C extends B {}
+//                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:8:28: Error: 'C' isn't a type.
+// class A3 implements D with C extends B {}
+//                            ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:8:28: Context: This isn't a type.
+// class A3 implements D with C extends B {}
+//                            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:8:38: Error: 'B' isn't a type.
+// class A3 implements D with C extends B {}
+//                                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:8:38: Context: This isn't a type.
+// class A3 implements D with C extends B {}
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:9:15: Error: 'C' isn't a type.
+// class A4 with C implements D extends B {}
+//               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:9:15: Context: This isn't a type.
+// class A4 with C implements D extends B {}
+//               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:9:28: Error: 'D' isn't a type.
+// class A4 with C implements D extends B {}
+//                            ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:9:28: Context: This isn't a type.
+// class A4 with C implements D extends B {}
+//                            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:9:38: Error: 'B' isn't a type.
+// class A4 with C implements D extends B {}
+//                                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:9:38: Context: This isn't a type.
+// class A4 with C implements D extends B {}
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:10:15: Error: 'C' isn't a type.
+// class A5 with C extends B implements D {}
+//               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:10:15: Context: This isn't a type.
+// class A5 with C extends B implements D {}
+//               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:10:25: Error: 'B' isn't a type.
+// class A5 with C extends B implements D {}
+//                         ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:10:25: Context: This isn't a type.
+// class A5 with C extends B implements D {}
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:10:38: Error: 'D' isn't a type.
+// class A5 with C extends B implements D {}
+//                                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:10:38: Context: This isn't a type.
+// class A5 with C extends B implements D {}
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:11:18: Error: 'B' isn't a type.
+// class A6 extends B with C implements D extends B {}
+//                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:11:18: Context: This isn't a type.
+// class A6 extends B with C implements D extends B {}
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:11:25: Error: 'C' isn't a type.
+// class A6 extends B with C implements D extends B {}
+//                         ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:11:25: Context: This isn't a type.
+// class A6 extends B with C implements D extends B {}
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:11:38: Error: 'D' isn't a type.
+// class A6 extends B with C implements D extends B {}
+//                                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:11:38: Context: This isn't a type.
+// class A6 extends B with C implements D extends B {}
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:11:48: Error: 'B' isn't a type.
+// class A6 extends B with C implements D extends B {}
+//                                                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:11:48: Context: This isn't a type.
+// class A6 extends B with C implements D extends B {}
+//                                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:12:18: Error: 'B' isn't a type.
+// class A7 extends B with C implements D implements D {}
+//                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:12:18: Context: This isn't a type.
+// class A7 extends B with C implements D implements D {}
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:12:25: Error: 'C' isn't a type.
+// class A7 extends B with C implements D implements D {}
+//                         ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:12:25: Context: This isn't a type.
+// class A7 extends B with C implements D implements D {}
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:12:38: Error: 'D' isn't a type.
+// class A7 extends B with C implements D implements D {}
+//                                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:12:38: Context: This isn't a type.
+// class A7 extends B with C implements D implements D {}
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:12:51: Error: 'D' isn't a type.
+// class A7 extends B with C implements D implements D {}
+//                                                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:12:51: Context: This isn't a type.
+// class A7 extends B with C implements D implements D {}
+//                                                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:13:18: Error: 'B' isn't a type.
+// class A8 extends B with C implements D with C {}
+//                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:13:18: Context: This isn't a type.
+// class A8 extends B with C implements D with C {}
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:13:25: Error: 'C' isn't a type.
+// class A8 extends B with C implements D with C {}
+//                         ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:13:25: Context: This isn't a type.
+// class A8 extends B with C implements D with C {}
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:13:38: Error: 'D' isn't a type.
+// class A8 extends B with C implements D with C {}
+//                                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:13:38: Context: This isn't a type.
+// class A8 extends B with C implements D with C {}
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:13:45: Error: 'C' isn't a type.
+// class A8 extends B with C implements D with C {}
+//                                             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:13:45: Context: This isn't a type.
+// class A8 extends B with C implements D with C {}
+//                                             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:14:18: Error: 'B' isn't a type.
+// class A9 extends B implements D with C extends B {}
+//                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:14:18: Context: This isn't a type.
+// class A9 extends B implements D with C extends B {}
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:14:31: Error: 'D' isn't a type.
+// class A9 extends B implements D with C extends B {}
+//                               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:14:31: Context: This isn't a type.
+// class A9 extends B implements D with C extends B {}
+//                               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:14:38: Error: 'C' isn't a type.
+// class A9 extends B implements D with C extends B {}
+//                                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:14:38: Context: This isn't a type.
+// class A9 extends B implements D with C extends B {}
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:14:48: Error: 'B' isn't a type.
+// class A9 extends B implements D with C extends B {}
+//                                                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:14:48: Context: This isn't a type.
+// class A9 extends B implements D with C extends B {}
+//                                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:15:19: Error: 'B' isn't a type.
+// class A10 extends B implements D with C implements D {}
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:15:19: Context: This isn't a type.
+// class A10 extends B implements D with C implements D {}
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:15:32: Error: 'D' isn't a type.
+// class A10 extends B implements D with C implements D {}
+//                                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:15:32: Context: This isn't a type.
+// class A10 extends B implements D with C implements D {}
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:15:39: Error: 'C' isn't a type.
+// class A10 extends B implements D with C implements D {}
+//                                       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:15:39: Context: This isn't a type.
+// class A10 extends B implements D with C implements D {}
+//                                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:15:52: Error: 'D' isn't a type.
+// class A10 extends B implements D with C implements D {}
+//                                                    ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:15:52: Context: This isn't a type.
+// class A10 extends B implements D with C implements D {}
+//                                                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:16:19: Error: 'B' isn't a type.
+// class A11 extends B implements D with C with C {}
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:16:19: Context: This isn't a type.
+// class A11 extends B implements D with C with C {}
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:16:32: Error: 'D' isn't a type.
+// class A11 extends B implements D with C with C {}
+//                                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:16:32: Context: This isn't a type.
+// class A11 extends B implements D with C with C {}
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:16:39: Error: 'C' isn't a type.
+// class A11 extends B implements D with C with C {}
+//                                       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:16:39: Context: This isn't a type.
+// class A11 extends B implements D with C with C {}
+//                                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:16:46: Error: 'C' isn't a type.
+// class A11 extends B implements D with C with C {}
+//                                              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:16:46: Context: This isn't a type.
+// class A11 extends B implements D with C with C {}
+//                                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:17:19: Error: 'B' isn't a type.
+// class A12 extends B extends B with C implements D {}
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:17:19: Context: This isn't a type.
+// class A12 extends B extends B with C implements D {}
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:17:29: Error: 'B' isn't a type.
+// class A12 extends B extends B with C implements D {}
+//                             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:17:29: Context: This isn't a type.
+// class A12 extends B extends B with C implements D {}
+//                             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:17:36: Error: 'C' isn't a type.
+// class A12 extends B extends B with C implements D {}
+//                                    ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:17:36: Context: This isn't a type.
+// class A12 extends B extends B with C implements D {}
+//                                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:17:49: Error: 'D' isn't a type.
+// class A12 extends B extends B with C implements D {}
+//                                                 ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:17:49: Context: This isn't a type.
+// class A12 extends B extends B with C implements D {}
+//                                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:18:19: Error: 'B' isn't a type.
+// class A13 extends B with C with C implements D {}
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:18:19: Context: This isn't a type.
+// class A13 extends B with C with C implements D {}
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:18:26: Error: 'C' isn't a type.
+// class A13 extends B with C with C implements D {}
+//                          ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:18:26: Context: This isn't a type.
+// class A13 extends B with C with C implements D {}
+//                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:18:33: Error: 'C' isn't a type.
+// class A13 extends B with C with C implements D {}
+//                                 ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:18:33: Context: This isn't a type.
+// class A13 extends B with C with C implements D {}
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:18:46: Error: 'D' isn't a type.
+// class A13 extends B with C with C implements D {}
+//                                              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:18:46: Context: This isn't a type.
+// class A13 extends B with C with C implements D {}
+//                                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:19:19: Error: 'B' isn't a type.
+// class A14 extends B with C implements D implements D {}
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:19:19: Context: This isn't a type.
+// class A14 extends B with C implements D implements D {}
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:19:26: Error: 'C' isn't a type.
+// class A14 extends B with C implements D implements D {}
+//                          ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:19:26: Context: This isn't a type.
+// class A14 extends B with C implements D implements D {}
+//                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:19:39: Error: 'D' isn't a type.
+// class A14 extends B with C implements D implements D {}
+//                                       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:19:39: Context: This isn't a type.
+// class A14 extends B with C implements D implements D {}
+//                                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:19:52: Error: 'D' isn't a type.
+// class A14 extends B with C implements D implements D {}
+//                                                    ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:19:52: Context: This isn't a type.
+// class A14 extends B with C implements D implements D {}
+//                                                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:20:16: Error: 'D' isn't a type.
+// class A15 with D extends B {}
+//                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:20:16: Context: This isn't a type.
+// class A15 with D extends B {}
+//                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:20:26: Error: 'B' isn't a type.
+// class A15 with D extends B {}
+//                          ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:20:26: Context: This isn't a type.
+// class A15 with D extends B {}
+//                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:21:22: Error: 'D' isn't a type.
+// class A16 implements D extends B {}
+//                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:21:22: Context: This isn't a type.
+// class A16 implements D extends B {}
+//                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:21:32: Error: 'B' isn't a type.
+// class A16 implements D extends B {}
+//                                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:21:32: Context: This isn't a type.
+// class A16 implements D extends B {}
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:22:22: Error: 'D' isn't a type.
+// class A17 implements D with C {}
+//                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:22:22: Context: This isn't a type.
+// class A17 implements D with C {}
+//                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:22:29: Error: 'C' isn't a type.
+// class A17 implements D with C {}
+//                             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:22:29: Context: This isn't a type.
+// class A17 implements D with C {}
+//                             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:24:19: Error: 'B' isn't a type.
+// class A19 extends B with {}
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:24:19: Context: This isn't a type.
+// class A19 extends B with {}
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:26:19: Error: 'B' isn't a type.
+// class A21 extends B with C implements {}
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:26:19: Context: This isn't a type.
+// class A21 extends B with C implements {}
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:26:26: Error: 'C' isn't a type.
+// class A21 extends B with C implements {}
+//                          ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:26:26: Context: This isn't a type.
+// class A21 extends B with C implements {}
+//                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:27:16: Error: 'C' isn't a type.
+// class A22 with C implements {}
+//                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:27:16: Context: This isn't a type.
+// class A22 with C implements {}
+//                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:29:19: Error: 'B' isn't a type.
+// class A24 extends B extends {}
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:29:19: Context: This isn't a type.
+// class A24 extends B extends {}
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:30:16: Error: 'C' isn't a type.
+// class A25 with C with {}
+//                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:30:16: Context: This isn't a type.
+// class A25 with C with {}
+//                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:31:22: Error: 'D' isn't a type.
+// class A26 implements D implements {}
+//                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:31:22: Context: This isn't a type.
+// class A26 implements D implements {}
+//                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:33:11: Error: 'B' isn't a type.
+// class N = B with C implements D;
+//           ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:33:11: Context: This isn't a type.
+// class N = B with C implements D;
+//           ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:33:18: Error: 'C' isn't a type.
+// class N = B with C implements D;
+//                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:33:18: Context: This isn't a type.
+// class N = B with C implements D;
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:33:31: Error: 'D' isn't a type.
+// class N = B with C implements D;
+//                               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:33:31: Context: This isn't a type.
+// class N = B with C implements D;
+//                               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:12: Error: 'B' isn't a type.
+// class N1 = B implements D with C;
+//            ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:12: Context: This isn't a type.
+// class N1 = B implements D with C;
+//            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:25: Error: 'D' isn't a type.
+// class N1 = B implements D with C;
+//                         ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:25: Context: This isn't a type.
+// class N1 = B implements D with C;
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:12: Error: 'implements' isn't a type.
+// class N2 = implements D extends B with C;
+//            ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:12: Context: This isn't a type.
+// class N2 = implements D extends B with C;
+//            ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:23: Error: 'D' isn't a type.
+// class N2 = implements D extends B with C;
+//                       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:23: Context: This isn't a type.
+// class N2 = implements D extends B with C;
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:12: Error: 'implements' isn't a type.
+// class N3 = implements D with C extends B;
+//            ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:12: Context: This isn't a type.
+// class N3 = implements D with C extends B;
+//            ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:23: Error: 'D' isn't a type.
+// class N3 = implements D with C extends B;
+//                       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:23: Context: This isn't a type.
+// class N3 = implements D with C extends B;
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:17: Error: 'C' isn't a type.
+// class N4 = with C implements D extends B;
+//                 ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:17: Context: This isn't a type.
+// class N4 = with C implements D extends B;
+//                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:30: Error: 'D' isn't a type.
+// class N4 = with C implements D extends B;
+//                              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:30: Context: This isn't a type.
+// class N4 = with C implements D extends B;
+//                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:17: Error: 'C' isn't a type.
+// class N5 = with C extends B implements D;
+//                 ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:17: Context: This isn't a type.
+// class N5 = with C extends B implements D;
+//                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:27: Error: 'B' isn't a type.
+// class N5 = with C extends B implements D;
+//                           ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:27: Context: This isn't a type.
+// class N5 = with C extends B implements D;
+//                           ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:12: Error: 'B' isn't a type.
+// class N6 = B with C implements D extends B;
+//            ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:12: Context: This isn't a type.
+// class N6 = B with C implements D extends B;
+//            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:19: Error: 'C' isn't a type.
+// class N6 = B with C implements D extends B;
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:19: Context: This isn't a type.
+// class N6 = B with C implements D extends B;
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:32: Error: 'D' isn't a type.
+// class N6 = B with C implements D extends B;
+//                                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:32: Context: This isn't a type.
+// class N6 = B with C implements D extends B;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:12: Error: 'B' isn't a type.
+// class N7 = B with C implements D implements D;
+//            ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:12: Context: This isn't a type.
+// class N7 = B with C implements D implements D;
+//            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:19: Error: 'C' isn't a type.
+// class N7 = B with C implements D implements D;
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:19: Context: This isn't a type.
+// class N7 = B with C implements D implements D;
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:32: Error: 'D' isn't a type.
+// class N7 = B with C implements D implements D;
+//                                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:32: Context: This isn't a type.
+// class N7 = B with C implements D implements D;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:12: Error: 'B' isn't a type.
+// class N8 = B with C implements D with C;
+//            ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:12: Context: This isn't a type.
+// class N8 = B with C implements D with C;
+//            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:19: Error: 'C' isn't a type.
+// class N8 = B with C implements D with C;
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:19: Context: This isn't a type.
+// class N8 = B with C implements D with C;
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:32: Error: 'D' isn't a type.
+// class N8 = B with C implements D with C;
+//                                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:32: Context: This isn't a type.
+// class N8 = B with C implements D with C;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:12: Error: 'B' isn't a type.
+// class N9 = B implements D with C extends B;
+//            ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:12: Context: This isn't a type.
+// class N9 = B implements D with C extends B;
+//            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:25: Error: 'D' isn't a type.
+// class N9 = B implements D with C extends B;
+//                         ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:25: Context: This isn't a type.
+// class N9 = B implements D with C extends B;
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:13: Error: 'B' isn't a type.
+// class N10 = B implements D with C implements D;
+//             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:13: Context: This isn't a type.
+// class N10 = B implements D with C implements D;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:26: Error: 'D' isn't a type.
+// class N10 = B implements D with C implements D;
+//                          ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:26: Context: This isn't a type.
+// class N10 = B implements D with C implements D;
+//                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:33: Error: 'C' isn't a type.
+// class N10 = B implements D with C implements D;
+//                                 ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:33: Context: This isn't a type.
+// class N10 = B implements D with C implements D;
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:13: Error: 'B' isn't a type.
+// class N11 = B implements D with C with C;
+//             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:13: Context: This isn't a type.
+// class N11 = B implements D with C with C;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:26: Error: 'D' isn't a type.
+// class N11 = B implements D with C with C;
+//                          ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:26: Context: This isn't a type.
+// class N11 = B implements D with C with C;
+//                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:13: Error: 'B' isn't a type.
+// class N12 = B extends B with C implements D;
+//             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:13: Context: This isn't a type.
+// class N12 = B extends B with C implements D;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:30: Error: 'C' isn't a type.
+// class N12 = B extends B with C implements D;
+//                              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:30: Context: This isn't a type.
+// class N12 = B extends B with C implements D;
+//                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:13: Error: 'B' isn't a type.
+// class N13 = B with C with C implements D;
+//             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:13: Context: This isn't a type.
+// class N13 = B with C with C implements D;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:20: Error: 'C' isn't a type.
+// class N13 = B with C with C implements D;
+//                    ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:20: Context: This isn't a type.
+// class N13 = B with C with C implements D;
+//                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:27: Error: 'C' isn't a type.
+// class N13 = B with C with C implements D;
+//                           ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:27: Context: This isn't a type.
+// class N13 = B with C with C implements D;
+//                           ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:13: Error: 'B' isn't a type.
+// class N14 = B with C implements D implements D;
+//             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:13: Context: This isn't a type.
+// class N14 = B with C implements D implements D;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:20: Error: 'C' isn't a type.
+// class N14 = B with C implements D implements D;
+//                    ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:20: Context: This isn't a type.
+// class N14 = B with C implements D implements D;
+//                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:33: Error: 'D' isn't a type.
+// class N14 = B with C implements D implements D;
+//                                 ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:33: Context: This isn't a type.
+// class N14 = B with C implements D implements D;
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:18: Error: 'D' isn't a type.
+// class N15 = with D extends B;
+//                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:18: Context: This isn't a type.
+// class N15 = with D extends B;
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:13: Error: 'implements' isn't a type.
+// class N16 = implements D extends B;
+//             ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:13: Context: This isn't a type.
+// class N16 = implements D extends B;
+//             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:24: Error: 'D' isn't a type.
+// class N16 = implements D extends B;
+//                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:24: Context: This isn't a type.
+// class N16 = implements D extends B;
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:13: Error: 'implements' isn't a type.
+// class N17 = implements D with C;
+//             ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:13: Context: This isn't a type.
+// class N17 = implements D with C;
+//             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:24: Error: 'D' isn't a type.
+// class N17 = implements D with C;
+//                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:24: Context: This isn't a type.
+// class N17 = implements D with C;
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:52:13: Error: 'B' isn't a type.
+// class N19 = B with;
+//             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:52:13: Context: This isn't a type.
+// class N19 = B with;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:54:13: Error: 'B' isn't a type.
+// class N21 = B with C implements;
+//             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:54:13: Context: This isn't a type.
+// class N21 = B with C implements;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:54:20: Error: 'C' isn't a type.
+// class N21 = B with C implements;
+//                    ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:54:20: Context: This isn't a type.
+// class N21 = B with C implements;
+//                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:55:18: Error: 'C' isn't a type.
+// class N22 = with C implements;
+//                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:55:18: Context: This isn't a type.
+// class N22 = with C implements;
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:56:13: Error: 'implements' isn't a type.
+// class N23 = implements;
+//             ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:56:13: Context: This isn't a type.
+// class N23 = implements;
+//             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:57:13: Error: 'B' isn't a type.
+// class N24 = B extends;
+//             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:57:13: Context: This isn't a type.
+// class N24 = B extends;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:58:18: Error: 'C' isn't a type.
+// class N25 = with C with;
+//                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:58:18: Context: This isn't a type.
+// class N25 = with C with;
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:59:13: Error: 'implements' isn't a type.
+// class N26 = implements D implements;
+//             ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:59:13: Context: This isn't a type.
+// class N26 = implements D implements;
+//             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:59:24: Error: 'D' isn't a type.
+// class N26 = implements D implements;
+//                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:59:24: Context: This isn't a type.
+// class N26 = implements D implements;
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:61:23: Error: 'C' isn't a type.
+// enum E extends B with C implements D { element }
+//                       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:61:23: Context: This isn't a type.
+// enum E extends B with C implements D { element }
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:61:36: Error: 'D' isn't a type.
+// enum E extends B with C implements D { element }
+//                                    ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:61:36: Context: This isn't a type.
+// enum E extends B with C implements D { element }
+//                                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:62:30: Error: 'D' isn't a type.
+// enum E1 extends B implements D with C { element }
+//                              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:62:30: Context: This isn't a type.
+// enum E1 extends B implements D with C { element }
+//                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:63:20: Error: 'D' isn't a type.
+// enum E2 implements D extends B with C { element }
+//                    ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:63:20: Context: This isn't a type.
+// enum E2 implements D extends B with C { element }
+//                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:64:20: Error: 'D' isn't a type.
+// enum E3 implements D with C extends B { element }
+//                    ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:64:20: Context: This isn't a type.
+// enum E3 implements D with C extends B { element }
+//                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:65:14: Error: 'C' isn't a type.
+// enum E4 with C implements D extends B { element }
+//              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:65:14: Context: This isn't a type.
+// enum E4 with C implements D extends B { element }
+//              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:65:27: Error: 'D' isn't a type.
+// enum E4 with C implements D extends B { element }
+//                           ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:65:27: Context: This isn't a type.
+// enum E4 with C implements D extends B { element }
+//                           ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:66:14: Error: 'C' isn't a type.
+// enum E5 with C extends B implements D { element }
+//              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:66:14: Context: This isn't a type.
+// enum E5 with C extends B implements D { element }
+//              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:66:37: Error: 'D' isn't a type.
+// enum E5 with C extends B implements D { element }
+//                                     ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:66:37: Context: This isn't a type.
+// enum E5 with C extends B implements D { element }
+//                                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:67:24: Error: 'C' isn't a type.
+// enum E6 extends B with C implements D extends B { element }
+//                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:67:24: Context: This isn't a type.
+// enum E6 extends B with C implements D extends B { element }
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:67:37: Error: 'D' isn't a type.
+// enum E6 extends B with C implements D extends B { element }
+//                                     ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:67:37: Context: This isn't a type.
+// enum E6 extends B with C implements D extends B { element }
+//                                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:68:24: Error: 'C' isn't a type.
+// enum E7 extends B with C implements D implements D { element }
+//                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:68:24: Context: This isn't a type.
+// enum E7 extends B with C implements D implements D { element }
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:68:37: Error: 'D' isn't a type.
+// enum E7 extends B with C implements D implements D { element }
+//                                     ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:68:37: Context: This isn't a type.
+// enum E7 extends B with C implements D implements D { element }
+//                                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:69:24: Error: 'C' isn't a type.
+// enum E8 extends B with C implements D with C { element }
+//                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:69:24: Context: This isn't a type.
+// enum E8 extends B with C implements D with C { element }
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:69:37: Error: 'D' isn't a type.
+// enum E8 extends B with C implements D with C { element }
+//                                     ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:69:37: Context: This isn't a type.
+// enum E8 extends B with C implements D with C { element }
+//                                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:70:30: Error: 'D' isn't a type.
+// enum E9 extends B implements D with C extends B { element }
+//                              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:70:30: Context: This isn't a type.
+// enum E9 extends B implements D with C extends B { element }
+//                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:71:31: Error: 'D' isn't a type.
+// enum E10 extends B implements D with C implements D { element }
+//                               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:71:31: Context: This isn't a type.
+// enum E10 extends B implements D with C implements D { element }
+//                               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:72:31: Error: 'D' isn't a type.
+// enum E11 extends B implements D with C with C { element }
+//                               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:72:31: Context: This isn't a type.
+// enum E11 extends B implements D with C with C { element }
+//                               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:35: Error: 'C' isn't a type.
+// enum E12 extends B extends B with C implements D { element }
+//                                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:35: Context: This isn't a type.
+// enum E12 extends B extends B with C implements D { element }
+//                                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:74:25: Error: 'C' isn't a type.
+// enum E13 extends B with C with C implements D { element }
+//                         ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:74:25: Context: This isn't a type.
+// enum E13 extends B with C with C implements D { element }
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:74:45: Error: 'D' isn't a type.
+// enum E13 extends B with C with C implements D { element }
+//                                             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:74:45: Context: This isn't a type.
+// enum E13 extends B with C with C implements D { element }
+//                                             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:75:25: Error: 'C' isn't a type.
+// enum E14 extends B with C implements D implements D { element }
+//                         ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:75:25: Context: This isn't a type.
+// enum E14 extends B with C implements D implements D { element }
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:75:38: Error: 'D' isn't a type.
+// enum E14 extends B with C implements D implements D { element }
+//                                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:75:38: Context: This isn't a type.
+// enum E14 extends B with C implements D implements D { element }
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:76:15: Error: 'D' isn't a type.
+// enum E15 with D extends B { element }
+//               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:76:15: Context: This isn't a type.
+// enum E15 with D extends B { element }
+//               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:77:21: Error: 'D' isn't a type.
+// enum E16 implements D extends B { element }
+//                     ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:77:21: Context: This isn't a type.
+// enum E16 implements D extends B { element }
+//                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:78:21: Error: 'D' isn't a type.
+// enum E17 implements D with C { element }
+//                     ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:78:21: Context: This isn't a type.
+// enum E17 implements D with C { element }
+//                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:82:25: Error: 'C' isn't a type.
+// enum E21 extends B with C implements { element }
+//                         ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:82:25: Context: This isn't a type.
+// enum E21 extends B with C implements { element }
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:83:15: Error: 'C' isn't a type.
+// enum E22 with C implements { element }
+//               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:83:15: Context: This isn't a type.
+// enum E22 with C implements { element }
+//               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:86:15: Error: 'C' isn't a type.
+// enum E25 with C with { element }
+//               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:86:15: Context: This isn't a type.
+// enum E25 with C with { element }
+//               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:87:21: Error: 'D' isn't a type.
+// enum E26 implements D implements { element }
+//                     ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:87:21: Context: This isn't a type.
+// enum E26 implements D implements { element }
+//                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:5:7: Error: The type 'C' can't be mixed in.
+// class A extends B with C implements D {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:9:7: Error: The type 'C' can't be mixed in.
+// class A4 with C implements D extends B {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:10:7: Error: The type 'C' can't be mixed in.
+// class A5 with C extends B implements D {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:11:7: Error: The type 'C' can't be mixed in.
+// class A6 extends B with C implements D extends B {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:12:7: Error: The type 'C' can't be mixed in.
+// class A7 extends B with C implements D implements D {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:13:7: Error: The type 'C' can't be mixed in.
+// class A8 extends B with C implements D with C {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:18:7: Error: The type 'C' can't be mixed in.
+// class A13 extends B with C with C implements D {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:19:7: Error: The type 'C' can't be mixed in.
+// class A14 extends B with C implements D implements D {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:20:7: Error: The type 'D' can't be mixed in.
+// class A15 with D extends B {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:26:7: Error: The type 'C' can't be mixed in.
+// class A21 extends B with C implements {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:27:7: Error: The type 'C' can't be mixed in.
+// class A22 with C implements {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:30:7: Error: The type 'C' can't be mixed in.
+// class A25 with C with {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:33:7: Error: The type 'C' can't be mixed in.
+// class N = B with C implements D;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:7: Error: The type 'D' can't be mixed in.
+// class N2 = implements D extends B with C;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:7: Error: The type 'D' can't be mixed in.
+// class N3 = implements D with C extends B;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:7: Error: The type 'C' can't be mixed in.
+// class N6 = B with C implements D extends B;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:7: Error: The type 'C' can't be mixed in.
+// class N7 = B with C implements D implements D;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:7: Error: The type 'C' can't be mixed in.
+// class N8 = B with C implements D with C;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:7: Error: The type 'C' can't be mixed in.
+// class N13 = B with C with C implements D;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:7: Error: The type 'C' can't be mixed in.
+// class N14 = B with C implements D implements D;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:7: Error: The type 'D' can't be mixed in.
+// class N16 = implements D extends B;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:7: Error: The type 'D' can't be mixed in.
+// class N17 = implements D with C;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:54:7: Error: The type 'C' can't be mixed in.
+// class N21 = B with C implements;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:59:7: Error: The type 'D' can't be mixed in.
+// class N26 = implements D implements;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:61:6: Error: The type 'C' can't be mixed in.
+// enum E extends B with C implements D { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:65:6: Error: The type 'C' can't be mixed in.
+// enum E4 with C implements D extends B { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:66:6: Error: The type 'C' can't be mixed in.
+// enum E5 with C extends B implements D { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:67:6: Error: The type 'C' can't be mixed in.
+// enum E6 extends B with C implements D extends B { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:68:6: Error: The type 'C' can't be mixed in.
+// enum E7 extends B with C implements D implements D { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:69:6: Error: The type 'C' can't be mixed in.
+// enum E8 extends B with C implements D with C { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:74:6: Error: The type 'C' can't be mixed in.
+// enum E13 extends B with C with C implements D { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:75:6: Error: The type 'C' can't be mixed in.
+// enum E14 extends B with C implements D implements D { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:76:6: Error: The type 'D' can't be mixed in.
+// enum E15 with D extends B { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:82:6: Error: The type 'C' can't be mixed in.
+// enum E21 extends B with C implements { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:83:6: Error: The type 'C' can't be mixed in.
+// enum E22 with C implements { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:86:6: Error: The type 'C' can't be mixed in.
+// enum E25 with C with { element }
+//      ^
+//
+import self as self;
+import "dart:core" as core;
+
+abstract class _A&B&C extends core::Object /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_A&B&C
+    ;
+}
+class A extends self::_A&B&C {
+  synthetic constructor •() → self::A
+    ;
+}
+class A1 extends core::Object {
+  synthetic constructor •() → self::A1
+    ;
+}
+class A2 extends core::Object {
+  synthetic constructor •() → self::A2
+    ;
+}
+class A3 extends core::Object {
+  synthetic constructor •() → self::A3
+    ;
+}
+abstract class _A4&Object&C extends core::Object /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_A4&Object&C
+    : super core::Object::•()
+    ;
+}
+class A4 extends self::_A4&Object&C {
+  synthetic constructor •() → self::A4
+    ;
+}
+abstract class _A5&Object&C extends core::Object /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_A5&Object&C
+    : super core::Object::•()
+    ;
+}
+class A5 extends self::_A5&Object&C {
+  synthetic constructor •() → self::A5
+    ;
+}
+abstract class _A6&B&C extends core::Object /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_A6&B&C
+    ;
+}
+class A6 extends self::_A6&B&C {
+  synthetic constructor •() → self::A6
+    ;
+}
+abstract class _A7&B&C extends core::Object /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_A7&B&C
+    ;
+}
+class A7 extends self::_A7&B&C {
+  synthetic constructor •() → self::A7
+    ;
+}
+abstract class _A8&B&C extends core::Object /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_A8&B&C
+    ;
+}
+class A8 extends self::_A8&B&C {
+  synthetic constructor •() → self::A8
+    ;
+}
+class A9 extends core::Object {
+  synthetic constructor •() → self::A9
+    ;
+}
+class A10 extends core::Object {
+  synthetic constructor •() → self::A10
+    ;
+}
+class A11 extends core::Object {
+  synthetic constructor •() → self::A11
+    ;
+}
+class A12 extends core::Object {
+  synthetic constructor •() → self::A12
+    ;
+}
+abstract class _A13&B&C extends core::Object /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_A13&B&C
+    ;
+}
+class A13 extends self::_A13&B&C {
+  synthetic constructor •() → self::A13
+    ;
+}
+abstract class _A14&B&C extends core::Object /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_A14&B&C
+    ;
+}
+class A14 extends self::_A14&B&C {
+  synthetic constructor •() → self::A14
+    ;
+}
+abstract class _A15&Object&D extends core::Object /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_A15&Object&D
+    : super core::Object::•()
+    ;
+}
+class A15 extends self::_A15&Object&D {
+  synthetic constructor •() → self::A15
+    ;
+}
+class A16 extends core::Object {
+  synthetic constructor •() → self::A16
+    ;
+}
+class A17 extends core::Object {
+  synthetic constructor •() → self::A17
+    ;
+}
+class A18 extends core::Object {
+  synthetic constructor •() → self::A18
+    ;
+}
+class A19 extends core::Object {
+  synthetic constructor •() → self::A19
+    ;
+}
+class A20 extends core::Object {
+  synthetic constructor •() → self::A20
+    ;
+}
+abstract class _A21&B&C extends core::Object /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_A21&B&C
+    ;
+}
+class A21 extends self::_A21&B&C {
+  synthetic constructor •() → self::A21
+    ;
+}
+abstract class _A22&Object&C extends core::Object /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_A22&Object&C
+    : super core::Object::•()
+    ;
+}
+class A22 extends self::_A22&Object&C {
+  synthetic constructor •() → self::A22
+    ;
+}
+class A23 extends core::Object {
+  synthetic constructor •() → self::A23
+    ;
+}
+class A24 extends core::Object {
+  synthetic constructor •() → self::A24
+    ;
+}
+abstract class _A25&Object&C extends core::Object /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_A25&Object&C
+    : super core::Object::•()
+    ;
+}
+class A25 extends self::_A25&Object&C {
+  synthetic constructor •() → self::A25
+    ;
+}
+class A26 extends core::Object {
+  synthetic constructor •() → self::A26
+    ;
+}
+class N extends core::Object {
+  synthetic constructor •() → self::N
+    ;
+}
+class C#8 extends core::Object {
+  synthetic constructor •() → self::C#8
+    ;
+}
+class N2 extends core::Object {
+  synthetic constructor •() → self::N2
+    ;
+}
+class B#10 extends core::Object {
+  synthetic constructor •() → self::B#10
+    ;
+}
+class N3 extends core::Object {
+  synthetic constructor •() → self::N3
+    ;
+}
+class D#7 extends core::Object {
+  synthetic constructor •() → self::D#7
+    ;
+}
+class N6 extends core::Object {
+  synthetic constructor •() → self::N6
+    ;
+}
+class N7 extends core::Object {
+  synthetic constructor •() → self::N7
+    ;
+}
+class N8 extends core::Object {
+  synthetic constructor •() → self::N8
+    ;
+}
+class N13 extends core::Object {
+  synthetic constructor •() → self::N13
+    ;
+}
+class N14 extends core::Object {
+  synthetic constructor •() → self::N14
+    ;
+}
+class N16 extends core::Object {
+  synthetic constructor •() → self::N16
+    ;
+}
+class N17 extends core::Object {
+  synthetic constructor •() → self::N17
+    ;
+}
+class N21 extends core::Object {
+  synthetic constructor •() → self::N21
+    ;
+}
+class N26 extends core::Object {
+  synthetic constructor •() → self::N26
+    ;
+}
+abstract class _E&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E extends self::_E&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E> values = const <self::E>[self::E::element];
+  static const field self::E element = const self::E::•(0, "element");
+  const constructor •(core::int index, core::String name) → self::E
+    ;
+  method toString() → core::String
+    return "E.${this.{core::_Enum::_name}{core::String}}";
+}
+class E1 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E1> values = const <self::E1>[self::E1::element];
+  static const field self::E1 element = const self::E1::•(0, "element");
+  const constructor •(core::int index, core::String name) → self::E1
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E1.${this.{core::_Enum::_name}{core::String}}";
+}
+class E2 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E2> values = const <self::E2>[self::E2::element];
+  static const field self::E2 element = const self::E2::•(0, "element");
+  const constructor •(core::int index, core::String name) → self::E2
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E2.${this.{core::_Enum::_name}{core::String}}";
+}
+class E3 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E3> values = const <self::E3>[self::E3::element];
+  static const field self::E3 element = const self::E3::•(0, "element");
+  const constructor •(core::int index, core::String name) → self::E3
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E3.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E4&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E4&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E4 extends self::_E4&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E4> values = const <self::E4>[self::E4::element];
+  static const field self::E4 element = const self::E4::•(0, "element");
+  const constructor •(core::int index, core::String name) → self::E4
+    ;
+  method toString() → core::String
+    return "E4.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E5&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E5&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E5 extends self::_E5&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E5> values = const <self::E5>[self::E5::element];
+  static const field self::E5 element = const self::E5::•(0, "element");
+  const constructor •(core::int index, core::String name) → self::E5
+    ;
+  method toString() → core::String
+    return "E5.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E6&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E6&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E6 extends self::_E6&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E6> values = const <self::E6>[self::E6::element];
+  static const field self::E6 element = const self::E6::•(0, "element");
+  const constructor •(core::int index, core::String name) → self::E6
+    ;
+  method toString() → core::String
+    return "E6.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E7&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E7&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E7 extends self::_E7&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E7> values = const <self::E7>[self::E7::element];
+  static const field self::E7 element = const self::E7::•(0, "element");
+  const constructor •(core::int index, core::String name) → self::E7
+    ;
+  method toString() → core::String
+    return "E7.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E8&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E8&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E8 extends self::_E8&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E8> values = const <self::E8>[self::E8::element];
+  static const field self::E8 element = const self::E8::•(0, "element");
+  const constructor •(core::int index, core::String name) → self::E8
+    ;
+  method toString() → core::String
+    return "E8.${this.{core::_Enum::_name}{core::String}}";
+}
+class E9 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E9> values = const <self::E9>[self::E9::element];
+  static const field self::E9 element = const self::E9::•(0, "element");
+  const constructor •(core::int index, core::String name) → self::E9
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E9.${this.{core::_Enum::_name}{core::String}}";
+}
+class E10 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E10> values = const <self::E10>[self::E10::element];
+  static const field self::E10 element = const self::E10::•(0, "element");
+  const constructor •(core::int index, core::String name) → self::E10
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E10.${this.{core::_Enum::_name}{core::String}}";
+}
+class E11 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E11> values = const <self::E11>[self::E11::element];
+  static const field self::E11 element = const self::E11::•(0, "element");
+  const constructor •(core::int index, core::String name) → self::E11
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E11.${this.{core::_Enum::_name}{core::String}}";
+}
+class E12 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E12> values = const <self::E12>[];
+  const constructor •(core::int index, core::String name) → self::E12
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E12.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E13&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E13&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E13 extends self::_E13&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E13> values = const <self::E13>[self::E13::element];
+  static const field self::E13 element = const self::E13::•(0, "element");
+  const constructor •(core::int index, core::String name) → self::E13
+    ;
+  method toString() → core::String
+    return "E13.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E14&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E14&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E14 extends self::_E14&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E14> values = const <self::E14>[self::E14::element];
+  static const field self::E14 element = const self::E14::•(0, "element");
+  const constructor •(core::int index, core::String name) → self::E14
+    ;
+  method toString() → core::String
+    return "E14.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E15&_Enum&D extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E15&_Enum&D
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E15 extends self::_E15&_Enum&D /*isEnum*/  {
+  static const field core::List<self::E15> values = const <self::E15>[self::E15::element];
+  static const field self::E15 element = const self::E15::•(0, "element");
+  const constructor •(core::int index, core::String name) → self::E15
+    ;
+  method toString() → core::String
+    return "E15.${this.{core::_Enum::_name}{core::String}}";
+}
+class E16 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E16> values = const <self::E16>[self::E16::element];
+  static const field self::E16 element = const self::E16::•(0, "element");
+  const constructor •(core::int index, core::String name) → self::E16
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E16.${this.{core::_Enum::_name}{core::String}}";
+}
+class E17 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E17> values = const <self::E17>[self::E17::element];
+  static const field self::E17 element = const self::E17::•(0, "element");
+  const constructor •(core::int index, core::String name) → self::E17
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E17.${this.{core::_Enum::_name}{core::String}}";
+}
+class E18 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E18> values = const <self::E18>[self::E18::element];
+  static const field self::E18 element = const self::E18::•(0, "element");
+  const constructor •(core::int index, core::String name) → self::E18
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E18.${this.{core::_Enum::_name}{core::String}}";
+}
+class E19 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E19> values = const <self::E19>[self::E19::element];
+  static const field self::E19 element = const self::E19::•(0, "element");
+  const constructor •(core::int index, core::String name) → self::E19
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E19.${this.{core::_Enum::_name}{core::String}}";
+}
+class E20 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E20> values = const <self::E20>[self::E20::element];
+  static const field self::E20 element = const self::E20::•(0, "element");
+  const constructor •(core::int index, core::String name) → self::E20
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E20.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E21&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E21&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E21 extends self::_E21&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E21> values = const <self::E21>[self::E21::element];
+  static const field self::E21 element = const self::E21::•(0, "element");
+  const constructor •(core::int index, core::String name) → self::E21
+    ;
+  method toString() → core::String
+    return "E21.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E22&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E22&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E22 extends self::_E22&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E22> values = const <self::E22>[self::E22::element];
+  static const field self::E22 element = const self::E22::•(0, "element");
+  const constructor •(core::int index, core::String name) → self::E22
+    ;
+  method toString() → core::String
+    return "E22.${this.{core::_Enum::_name}{core::String}}";
+}
+class E23 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E23> values = const <self::E23>[self::E23::element];
+  static const field self::E23 element = const self::E23::•(0, "element");
+  const constructor •(core::int index, core::String name) → self::E23
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E23.${this.{core::_Enum::_name}{core::String}}";
+}
+class E24 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E24> values = const <self::E24>[self::E24::element];
+  static const field self::E24 element = const self::E24::•(0, "element");
+  const constructor •(core::int index, core::String name) → self::E24
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E24.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E25&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E25&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E25 extends self::_E25&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E25> values = const <self::E25>[self::E25::element];
+  static const field self::E25 element = const self::E25::•(0, "element");
+  const constructor •(core::int index, core::String name) → self::E25
+    ;
+  method toString() → core::String
+    return "E25.${this.{core::_Enum::_name}{core::String}}";
+}
+class E26 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E26> values = const <self::E26>[self::E26::element];
+  static const field self::E26 element = const self::E26::•(0, "element");
+  const constructor •(core::int index, core::String name) → self::E26
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E26.${this.{core::_Enum::_name}{core::String}}";
+}
+static field dynamic with;
+static field dynamic C;
+static field dynamic extends;
+static field dynamic B;
+static field invalid-type implements;
+static field dynamic D;
+static method main() → dynamic
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: ListLiteral @ org-dartlang-testcase:///class_header.dart:61:6 -> ListConstant(const <E*>[const E{}])
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///class_header.dart:61:40 -> InstanceConstant(const E{})
+Evaluated: ListLiteral @ org-dartlang-testcase:///class_header.dart:62:6 -> ListConstant(const <E1*>[const E1{_Enum.index: 0, _Enum._name: "element"}])
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///class_header.dart:62:41 -> InstanceConstant(const E1{_Enum.index: 0, _Enum._name: "element"})
+Evaluated: ListLiteral @ org-dartlang-testcase:///class_header.dart:63:6 -> ListConstant(const <E2*>[const E2{_Enum.index: 0, _Enum._name: "element"}])
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///class_header.dart:63:41 -> InstanceConstant(const E2{_Enum.index: 0, _Enum._name: "element"})
+Evaluated: ListLiteral @ org-dartlang-testcase:///class_header.dart:64:6 -> ListConstant(const <E3*>[const E3{_Enum.index: 0, _Enum._name: "element"}])
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///class_header.dart:64:41 -> InstanceConstant(const E3{_Enum.index: 0, _Enum._name: "element"})
+Evaluated: ListLiteral @ org-dartlang-testcase:///class_header.dart:65:6 -> ListConstant(const <E4*>[const E4{}])
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///class_header.dart:65:41 -> InstanceConstant(const E4{})
+Evaluated: ListLiteral @ org-dartlang-testcase:///class_header.dart:66:6 -> ListConstant(const <E5*>[const E5{}])
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///class_header.dart:66:41 -> InstanceConstant(const E5{})
+Evaluated: ListLiteral @ org-dartlang-testcase:///class_header.dart:67:6 -> ListConstant(const <E6*>[const E6{}])
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///class_header.dart:67:51 -> InstanceConstant(const E6{})
+Evaluated: ListLiteral @ org-dartlang-testcase:///class_header.dart:68:6 -> ListConstant(const <E7*>[const E7{}])
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///class_header.dart:68:54 -> InstanceConstant(const E7{})
+Evaluated: ListLiteral @ org-dartlang-testcase:///class_header.dart:69:6 -> ListConstant(const <E8*>[const E8{}])
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///class_header.dart:69:48 -> InstanceConstant(const E8{})
+Evaluated: ListLiteral @ org-dartlang-testcase:///class_header.dart:70:6 -> ListConstant(const <E9*>[const E9{_Enum.index: 0, _Enum._name: "element"}])
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///class_header.dart:70:51 -> InstanceConstant(const E9{_Enum.index: 0, _Enum._name: "element"})
+Evaluated: ListLiteral @ org-dartlang-testcase:///class_header.dart:71:6 -> ListConstant(const <E10*>[const E10{_Enum.index: 0, _Enum._name: "element"}])
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///class_header.dart:71:55 -> InstanceConstant(const E10{_Enum.index: 0, _Enum._name: "element"})
+Evaluated: ListLiteral @ org-dartlang-testcase:///class_header.dart:72:6 -> ListConstant(const <E11*>[const E11{_Enum.index: 0, _Enum._name: "element"}])
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///class_header.dart:72:49 -> InstanceConstant(const E11{_Enum.index: 0, _Enum._name: "element"})
+Evaluated: ListLiteral @ org-dartlang-testcase:///class_header.dart:73:6 -> ListConstant(const <E12*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///class_header.dart:74:6 -> ListConstant(const <E13*>[const E13{}])
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///class_header.dart:74:49 -> InstanceConstant(const E13{})
+Evaluated: ListLiteral @ org-dartlang-testcase:///class_header.dart:75:6 -> ListConstant(const <E14*>[const E14{}])
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///class_header.dart:75:55 -> InstanceConstant(const E14{})
+Evaluated: ListLiteral @ org-dartlang-testcase:///class_header.dart:76:6 -> ListConstant(const <E15*>[const E15{}])
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///class_header.dart:76:29 -> InstanceConstant(const E15{})
+Evaluated: ListLiteral @ org-dartlang-testcase:///class_header.dart:77:6 -> ListConstant(const <E16*>[const E16{_Enum.index: 0, _Enum._name: "element"}])
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///class_header.dart:77:35 -> InstanceConstant(const E16{_Enum.index: 0, _Enum._name: "element"})
+Evaluated: ListLiteral @ org-dartlang-testcase:///class_header.dart:78:6 -> ListConstant(const <E17*>[const E17{_Enum.index: 0, _Enum._name: "element"}])
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///class_header.dart:78:32 -> InstanceConstant(const E17{_Enum.index: 0, _Enum._name: "element"})
+Evaluated: ListLiteral @ org-dartlang-testcase:///class_header.dart:79:6 -> ListConstant(const <E18*>[const E18{_Enum.index: 0, _Enum._name: "element"}])
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///class_header.dart:79:20 -> InstanceConstant(const E18{_Enum.index: 0, _Enum._name: "element"})
+Evaluated: ListLiteral @ org-dartlang-testcase:///class_header.dart:80:6 -> ListConstant(const <E19*>[const E19{_Enum.index: 0, _Enum._name: "element"}])
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///class_header.dart:80:27 -> InstanceConstant(const E19{_Enum.index: 0, _Enum._name: "element"})
+Evaluated: ListLiteral @ org-dartlang-testcase:///class_header.dart:81:6 -> ListConstant(const <E20*>[const E20{_Enum.index: 0, _Enum._name: "element"}])
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///class_header.dart:81:17 -> InstanceConstant(const E20{_Enum.index: 0, _Enum._name: "element"})
+Evaluated: ListLiteral @ org-dartlang-testcase:///class_header.dart:82:6 -> ListConstant(const <E21*>[const E21{}])
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///class_header.dart:82:40 -> InstanceConstant(const E21{})
+Evaluated: ListLiteral @ org-dartlang-testcase:///class_header.dart:83:6 -> ListConstant(const <E22*>[const E22{}])
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///class_header.dart:83:30 -> InstanceConstant(const E22{})
+Evaluated: ListLiteral @ org-dartlang-testcase:///class_header.dart:84:6 -> ListConstant(const <E23*>[const E23{_Enum.index: 0, _Enum._name: "element"}])
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///class_header.dart:84:23 -> InstanceConstant(const E23{_Enum.index: 0, _Enum._name: "element"})
+Evaluated: ListLiteral @ org-dartlang-testcase:///class_header.dart:85:6 -> ListConstant(const <E24*>[const E24{_Enum.index: 0, _Enum._name: "element"}])
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///class_header.dart:85:30 -> InstanceConstant(const E24{_Enum.index: 0, _Enum._name: "element"})
+Evaluated: ListLiteral @ org-dartlang-testcase:///class_header.dart:86:6 -> ListConstant(const <E25*>[const E25{}])
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///class_header.dart:86:24 -> InstanceConstant(const E25{})
+Evaluated: ListLiteral @ org-dartlang-testcase:///class_header.dart:87:6 -> ListConstant(const <E26*>[const E26{_Enum.index: 0, _Enum._name: "element"}])
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///class_header.dart:87:36 -> InstanceConstant(const E26{_Enum.index: 0, _Enum._name: "element"})
+Extra constant evaluation: evaluated: 188, effectively constant: 53
diff --git a/pkg/front_end/testcases/general/error_recovery/class_header.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/class_header.dart.weak.transformed.expect
new file mode 100644
index 0000000..fcda3be
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/class_header.dart.weak.transformed.expect
@@ -0,0 +1,3356 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:6:33: Error: The with clause must be before the implements clause.
+// Try moving the with clause before the implements clause.
+// class A1 extends B implements D with C {}
+//                                 ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:7:23: Error: The extends clause must be before the implements clause.
+// Try moving the extends clause before the implements clause.
+// class A2 implements D extends B with C {}
+//                       ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:7:33: Error: The with clause must be before the implements clause.
+// Try moving the with clause before the implements clause.
+// class A2 implements D extends B with C {}
+//                                 ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:8:23: Error: The with clause must be before the implements clause.
+// Try moving the with clause before the implements clause.
+// class A3 implements D with C extends B {}
+//                       ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:8:30: Error: The extends clause must be before the with clause.
+// Try moving the extends clause before the with clause.
+// class A3 implements D with C extends B {}
+//                              ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:9:30: Error: The extends clause must be before the with clause.
+// Try moving the extends clause before the with clause.
+// class A4 with C implements D extends B {}
+//                              ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:10:17: Error: The extends clause must be before the with clause.
+// Try moving the extends clause before the with clause.
+// class A5 with C extends B implements D {}
+//                 ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:11:40: Error: Each class definition can have at most one extends clause.
+// Try choosing one superclass and define your class to implement (or mix in) the others.
+// class A6 extends B with C implements D extends B {}
+//                                        ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:12:40: Error: Each class definition can have at most one implements clause.
+// Try combining all of the implements clauses into a single clause.
+// class A7 extends B with C implements D implements D {}
+//                                        ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:13:40: Error: Each class definition can have at most one with clause.
+// Try combining all of the with clauses into a single clause.
+// class A8 extends B with C implements D with C {}
+//                                        ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:14:33: Error: The with clause must be before the implements clause.
+// Try moving the with clause before the implements clause.
+// class A9 extends B implements D with C extends B {}
+//                                 ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:14:40: Error: Each class definition can have at most one extends clause.
+// Try choosing one superclass and define your class to implement (or mix in) the others.
+// class A9 extends B implements D with C extends B {}
+//                                        ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:15:34: Error: The with clause must be before the implements clause.
+// Try moving the with clause before the implements clause.
+// class A10 extends B implements D with C implements D {}
+//                                  ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:15:41: Error: Each class definition can have at most one implements clause.
+// Try combining all of the implements clauses into a single clause.
+// class A10 extends B implements D with C implements D {}
+//                                         ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:16:34: Error: The with clause must be before the implements clause.
+// Try moving the with clause before the implements clause.
+// class A11 extends B implements D with C with C {}
+//                                  ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:16:41: Error: Each class definition can have at most one with clause.
+// Try combining all of the with clauses into a single clause.
+// class A11 extends B implements D with C with C {}
+//                                         ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:17:21: Error: Each class definition can have at most one extends clause.
+// Try choosing one superclass and define your class to implement (or mix in) the others.
+// class A12 extends B extends B with C implements D {}
+//                     ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:18:28: Error: Each class definition can have at most one with clause.
+// Try combining all of the with clauses into a single clause.
+// class A13 extends B with C with C implements D {}
+//                            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:19:41: Error: Each class definition can have at most one implements clause.
+// Try combining all of the implements clauses into a single clause.
+// class A14 extends B with C implements D implements D {}
+//                                         ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:20:18: Error: The extends clause must be before the with clause.
+// Try moving the extends clause before the with clause.
+// class A15 with D extends B {}
+//                  ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:21:24: Error: The extends clause must be before the implements clause.
+// Try moving the extends clause before the implements clause.
+// class A16 implements D extends B {}
+//                        ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:22:24: Error: The with clause must be before the implements clause.
+// Try moving the with clause before the implements clause.
+// class A17 implements D with C {}
+//                        ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:23:19: Error: Expected a type, but got '{'.
+// class A18 extends {}
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:24:26: Error: Expected a type, but got '{'.
+// class A19 extends B with {}
+//                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:25:16: Error: Expected a type, but got '{'.
+// class A20 with {}
+//                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:26:39: Error: Expected a type, but got '{'.
+// class A21 extends B with C implements {}
+//                                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:27:29: Error: Expected a type, but got '{'.
+// class A22 with C implements {}
+//                             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:28:22: Error: Expected a type, but got '{'.
+// class A23 implements {}
+//                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:29:29: Error: Expected a type, but got '{'.
+// class A24 extends B extends {}
+//                             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:29:21: Error: Each class definition can have at most one extends clause.
+// Try choosing one superclass and define your class to implement (or mix in) the others.
+// class A24 extends B extends {}
+//                     ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:30:23: Error: Expected a type, but got '{'.
+// class A25 with C with {}
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:30:18: Error: Each class definition can have at most one with clause.
+// Try combining all of the with clauses into a single clause.
+// class A25 with C with {}
+//                  ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:31:35: Error: Expected a type, but got '{'.
+// class A26 implements D implements {}
+//                                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:31:24: Error: Each class definition can have at most one implements clause.
+// Try combining all of the implements clauses into a single clause.
+// class A26 implements D implements {}
+//                        ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:14: Error: Expected 'with' before this.
+// class N1 = B implements D with C;
+//              ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:25: Error: Expected ';' after this.
+// class N1 = B implements D with C;
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:27: 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'.
+// class N1 = B implements D with C;
+//                           ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:27: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N1 = B implements D with C;
+//                           ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:27: Error: Expected ';' after this.
+// class N1 = B implements D with C;
+//                           ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:32: 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'.
+// class N1 = B implements D with C;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:12: Error: The built-in identifier 'implements' can't be used as a type.
+// class N2 = implements D extends B with C;
+//            ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:23: Error: Expected 'with' before this.
+// class N2 = implements D extends B with C;
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:23: Error: Expected ';' after this.
+// class N2 = implements D extends B with C;
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:25: 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'.
+// class N2 = implements D extends B with C;
+//                         ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:25: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N2 = implements D extends B with C;
+//                         ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:25: Error: Expected ';' after this.
+// class N2 = implements D extends B with C;
+//                         ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:33: 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'.
+// class N2 = implements D extends B with C;
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:33: Error: Expected ';' after this.
+// class N2 = implements D extends B with C;
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:35: 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'.
+// class N2 = implements D extends B with C;
+//                                   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:35: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N2 = implements D extends B with C;
+//                                   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:35: Error: Expected ';' after this.
+// class N2 = implements D extends B with C;
+//                                   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:35: Error: 'with' is already declared in this scope.
+// class N2 = implements D extends B with C;
+//                                   ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:27: Context: Previous declaration of 'with'.
+// class N1 = B implements D with C;
+//                           ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:40: 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'.
+// class N2 = implements D extends B with C;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:40: Error: 'C' is already declared in this scope.
+// class N2 = implements D extends B with C;
+//                                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:32: Context: Previous declaration of 'C'.
+// class N1 = B implements D with C;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:12: Error: The built-in identifier 'implements' can't be used as a type.
+// class N3 = implements D with C extends B;
+//            ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:23: Error: Expected 'with' before this.
+// class N3 = implements D with C extends B;
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:23: Error: Expected ';' after this.
+// class N3 = implements D with C extends B;
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:25: 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'.
+// class N3 = implements D with C extends B;
+//                         ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:25: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N3 = implements D with C extends B;
+//                         ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:25: Error: Expected ';' after this.
+// class N3 = implements D with C extends B;
+//                         ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:25: Error: 'with' is already declared in this scope.
+// class N3 = implements D with C extends B;
+//                         ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:35: Context: Previous declaration of 'with'.
+// class N2 = implements D extends B with C;
+//                                   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:30: 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'.
+// class N3 = implements D with C extends B;
+//                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:30: Error: Expected ';' after this.
+// class N3 = implements D with C extends B;
+//                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:30: Error: 'C' is already declared in this scope.
+// class N3 = implements D with C extends B;
+//                              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:40: Context: Previous declaration of 'C'.
+// class N2 = implements D extends B with C;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:32: 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'.
+// class N3 = implements D with C extends B;
+//                                ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:32: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N3 = implements D with C extends B;
+//                                ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:32: Error: Expected ';' after this.
+// class N3 = implements D with C extends B;
+//                                ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:32: Error: 'extends' is already declared in this scope.
+// class N3 = implements D with C extends B;
+//                                ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:25: Context: Previous declaration of 'extends'.
+// class N2 = implements D extends B with C;
+//                         ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:40: 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'.
+// class N3 = implements D with C extends B;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:40: Error: 'B' is already declared in this scope.
+// class N3 = implements D with C extends B;
+//                                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:33: Context: Previous declaration of 'B'.
+// class N2 = implements D extends B with C;
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:12: Error: Expected a type, but got 'with'.
+// class N4 = with C implements D extends B;
+//            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:30: Error: Expected ';' after this.
+// class N4 = with C implements D extends B;
+//                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:32: 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'.
+// class N4 = with C implements D extends B;
+//                                ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:32: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N4 = with C implements D extends B;
+//                                ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:32: Error: Expected ';' after this.
+// class N4 = with C implements D extends B;
+//                                ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:32: Error: 'extends' is already declared in this scope.
+// class N4 = with C implements D extends B;
+//                                ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:32: Context: Previous declaration of 'extends'.
+// class N3 = implements D with C extends B;
+//                                ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:40: 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'.
+// class N4 = with C implements D extends B;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:40: Error: 'B' is already declared in this scope.
+// class N4 = with C implements D extends B;
+//                                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:40: Context: Previous declaration of 'B'.
+// class N3 = implements D with C extends B;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:12: Error: Expected a type, but got 'with'.
+// class N5 = with C extends B implements D;
+//            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:17: Error: Expected ';' after this.
+// class N5 = with C extends B implements D;
+//                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:19: 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'.
+// class N5 = with C extends B implements D;
+//                   ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:19: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N5 = with C extends B implements D;
+//                   ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:19: Error: Expected ';' after this.
+// class N5 = with C extends B implements D;
+//                   ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:19: Error: 'extends' is already declared in this scope.
+// class N5 = with C extends B implements D;
+//                   ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:32: Context: Previous declaration of 'extends'.
+// class N4 = with C implements D extends B;
+//                                ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:29: Error: Expected ';' after this.
+// class N5 = with C extends B implements D;
+//                             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:40: 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'.
+// class N5 = with C extends B implements D;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:32: Error: Expected ';' after this.
+// class N6 = B with C implements D extends B;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:34: 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'.
+// class N6 = B with C implements D extends B;
+//                                  ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:34: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N6 = B with C implements D extends B;
+//                                  ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:34: Error: Expected ';' after this.
+// class N6 = B with C implements D extends B;
+//                                  ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:34: Error: 'extends' is already declared in this scope.
+// class N6 = B with C implements D extends B;
+//                                  ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:19: Context: Previous declaration of 'extends'.
+// class N5 = with C extends B implements D;
+//                   ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:42: 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'.
+// class N6 = B with C implements D extends B;
+//                                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:42: Error: 'B' is already declared in this scope.
+// class N6 = B with C implements D extends B;
+//                                          ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:40: Context: Previous declaration of 'B'.
+// class N4 = with C implements D extends B;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:32: Error: Expected ';' after this.
+// class N7 = B with C implements D implements D;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:34: 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'.
+// class N7 = B with C implements D implements D;
+//                                  ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:34: Error: Expected ';' after this.
+// class N7 = B with C implements D implements D;
+//                                  ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:34: Error: 'implements' is already declared in this scope.
+// class N7 = B with C implements D implements D;
+//                                  ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:29: Context: Previous declaration of 'implements'.
+// class N5 = with C extends B implements D;
+//                             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:45: 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'.
+// class N7 = B with C implements D implements D;
+//                                             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:45: Error: 'D' is already declared in this scope.
+// class N7 = B with C implements D implements D;
+//                                             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:40: Context: Previous declaration of 'D'.
+// class N5 = with C extends B implements D;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:32: Error: Expected ';' after this.
+// class N8 = B with C implements D with C;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:34: 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'.
+// class N8 = B with C implements D with C;
+//                                  ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:34: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N8 = B with C implements D with C;
+//                                  ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:34: Error: Expected ';' after this.
+// class N8 = B with C implements D with C;
+//                                  ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:34: Error: 'with' is already declared in this scope.
+// class N8 = B with C implements D with C;
+//                                  ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:25: Context: Previous declaration of 'with'.
+// class N3 = implements D with C extends B;
+//                         ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:39: 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'.
+// class N8 = B with C implements D with C;
+//                                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:39: Error: 'C' is already declared in this scope.
+// class N8 = B with C implements D with C;
+//                                       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:30: Context: Previous declaration of 'C'.
+// class N3 = implements D with C extends B;
+//                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:14: Error: Expected 'with' before this.
+// class N9 = B implements D with C extends B;
+//              ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:25: Error: Expected ';' after this.
+// class N9 = B implements D with C extends B;
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:27: 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'.
+// class N9 = B implements D with C extends B;
+//                           ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:27: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N9 = B implements D with C extends B;
+//                           ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:27: Error: Expected ';' after this.
+// class N9 = B implements D with C extends B;
+//                           ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:27: Error: 'with' is already declared in this scope.
+// class N9 = B implements D with C extends B;
+//                           ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:34: Context: Previous declaration of 'with'.
+// class N8 = B with C implements D with C;
+//                                  ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:32: 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'.
+// class N9 = B implements D with C extends B;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:32: Error: Expected ';' after this.
+// class N9 = B implements D with C extends B;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:32: Error: 'C' is already declared in this scope.
+// class N9 = B implements D with C extends B;
+//                                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:39: Context: Previous declaration of 'C'.
+// class N8 = B with C implements D with C;
+//                                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:34: 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'.
+// class N9 = B implements D with C extends B;
+//                                  ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:34: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N9 = B implements D with C extends B;
+//                                  ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:34: Error: Expected ';' after this.
+// class N9 = B implements D with C extends B;
+//                                  ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:34: Error: 'extends' is already declared in this scope.
+// class N9 = B implements D with C extends B;
+//                                  ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:34: Context: Previous declaration of 'extends'.
+// class N6 = B with C implements D extends B;
+//                                  ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:42: 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'.
+// class N9 = B implements D with C extends B;
+//                                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:42: Error: 'B' is already declared in this scope.
+// class N9 = B implements D with C extends B;
+//                                          ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:42: Context: Previous declaration of 'B'.
+// class N6 = B with C implements D extends B;
+//                                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:15: Error: Expected 'with' before this.
+// class N10 = B implements D with C implements D;
+//               ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:26: Error: Expected ';' after this.
+// class N10 = B implements D with C implements D;
+//                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:28: 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'.
+// class N10 = B implements D with C implements D;
+//                            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:28: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N10 = B implements D with C implements D;
+//                            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:28: Error: Expected ';' after this.
+// class N10 = B implements D with C implements D;
+//                            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:28: Error: 'with' is already declared in this scope.
+// class N10 = B implements D with C implements D;
+//                            ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:27: Context: Previous declaration of 'with'.
+// class N9 = B implements D with C extends B;
+//                           ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:35: Error: Expected ';' after this.
+// class N10 = B implements D with C implements D;
+//                                   ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:35: Error: 'implements' is already declared in this scope.
+// class N10 = B implements D with C implements D;
+//                                   ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:34: Context: Previous declaration of 'implements'.
+// class N7 = B with C implements D implements D;
+//                                  ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:46: 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'.
+// class N10 = B implements D with C implements D;
+//                                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:46: Error: 'D' is already declared in this scope.
+// class N10 = B implements D with C implements D;
+//                                              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:45: Context: Previous declaration of 'D'.
+// class N7 = B with C implements D implements D;
+//                                             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:15: Error: Expected 'with' before this.
+// class N11 = B implements D with C with C;
+//               ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:26: Error: Expected ';' after this.
+// class N11 = B implements D with C with C;
+//                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:28: 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'.
+// class N11 = B implements D with C with C;
+//                            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:28: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N11 = B implements D with C with C;
+//                            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:28: Error: Expected ';' after this.
+// class N11 = B implements D with C with C;
+//                            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:28: Error: 'with' is already declared in this scope.
+// class N11 = B implements D with C with C;
+//                            ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:28: Context: Previous declaration of 'with'.
+// class N10 = B implements D with C implements D;
+//                            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:33: 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'.
+// class N11 = B implements D with C with C;
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:33: Error: Expected ';' after this.
+// class N11 = B implements D with C with C;
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:33: Error: 'C' is already declared in this scope.
+// class N11 = B implements D with C with C;
+//                                 ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:32: Context: Previous declaration of 'C'.
+// class N9 = B implements D with C extends B;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:35: 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'.
+// class N11 = B implements D with C with C;
+//                                   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:35: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N11 = B implements D with C with C;
+//                                   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:35: Error: Expected ';' after this.
+// class N11 = B implements D with C with C;
+//                                   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:35: Error: 'with' is already declared in this scope.
+// class N11 = B implements D with C with C;
+//                                   ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:28: Context: Previous declaration of 'with'.
+// class N11 = B implements D with C with C;
+//                            ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:40: 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'.
+// class N11 = B implements D with C with C;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:40: Error: 'C' is already declared in this scope.
+// class N11 = B implements D with C with C;
+//                                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:33: Context: Previous declaration of 'C'.
+// class N11 = B implements D with C with C;
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:15: Error: Expected 'with' before this.
+// class N12 = B extends B with C implements D;
+//               ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:13: Error: Expected ';' after this.
+// class N12 = B extends B with C implements D;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:15: 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'.
+// class N12 = B extends B with C implements D;
+//               ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:15: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N12 = B extends B with C implements D;
+//               ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:15: Error: Expected ';' after this.
+// class N12 = B extends B with C implements D;
+//               ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:15: Error: 'extends' is already declared in this scope.
+// class N12 = B extends B with C implements D;
+//               ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:34: Context: Previous declaration of 'extends'.
+// class N9 = B implements D with C extends B;
+//                                  ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:23: 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'.
+// class N12 = B extends B with C implements D;
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:23: Error: Expected ';' after this.
+// class N12 = B extends B with C implements D;
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:23: Error: 'B' is already declared in this scope.
+// class N12 = B extends B with C implements D;
+//                       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:42: Context: Previous declaration of 'B'.
+// class N9 = B implements D with C extends B;
+//                                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:25: 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'.
+// class N12 = B extends B with C implements D;
+//                         ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:25: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N12 = B extends B with C implements D;
+//                         ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:25: Error: Expected ';' after this.
+// class N12 = B extends B with C implements D;
+//                         ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:25: Error: 'with' is already declared in this scope.
+// class N12 = B extends B with C implements D;
+//                         ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:35: Context: Previous declaration of 'with'.
+// class N11 = B implements D with C with C;
+//                                   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:32: Error: Expected ';' after this.
+// class N12 = B extends B with C implements D;
+//                                ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:32: Error: 'implements' is already declared in this scope.
+// class N12 = B extends B with C implements D;
+//                                ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:35: Context: Previous declaration of 'implements'.
+// class N10 = B implements D with C implements D;
+//                                   ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:43: 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'.
+// class N12 = B extends B with C implements D;
+//                                           ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:43: Error: 'D' is already declared in this scope.
+// class N12 = B extends B with C implements D;
+//                                           ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:46: Context: Previous declaration of 'D'.
+// class N10 = B implements D with C implements D;
+//                                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:20: Error: Expected ';' after this.
+// class N13 = B with C with C implements D;
+//                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:22: 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'.
+// class N13 = B with C with C implements D;
+//                      ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:22: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N13 = B with C with C implements D;
+//                      ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:22: Error: Expected ';' after this.
+// class N13 = B with C with C implements D;
+//                      ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:22: Error: 'with' is already declared in this scope.
+// class N13 = B with C with C implements D;
+//                      ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:25: Context: Previous declaration of 'with'.
+// class N12 = B extends B with C implements D;
+//                         ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:29: Error: Expected ';' after this.
+// class N13 = B with C with C implements D;
+//                             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:29: Error: 'implements' is already declared in this scope.
+// class N13 = B with C with C implements D;
+//                             ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:32: Context: Previous declaration of 'implements'.
+// class N12 = B extends B with C implements D;
+//                                ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:40: 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'.
+// class N13 = B with C with C implements D;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:40: Error: 'D' is already declared in this scope.
+// class N13 = B with C with C implements D;
+//                                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:43: Context: Previous declaration of 'D'.
+// class N12 = B extends B with C implements D;
+//                                           ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:33: Error: Expected ';' after this.
+// class N14 = B with C implements D implements D;
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:35: 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'.
+// class N14 = B with C implements D implements D;
+//                                   ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:35: Error: Expected ';' after this.
+// class N14 = B with C implements D implements D;
+//                                   ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:35: Error: 'implements' is already declared in this scope.
+// class N14 = B with C implements D implements D;
+//                                   ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:29: Context: Previous declaration of 'implements'.
+// class N13 = B with C with C implements D;
+//                             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:46: 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'.
+// class N14 = B with C implements D implements D;
+//                                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:46: Error: 'D' is already declared in this scope.
+// class N14 = B with C implements D implements D;
+//                                              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:40: Context: Previous declaration of 'D'.
+// class N13 = B with C with C implements D;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:13: Error: Expected a type, but got 'with'.
+// class N15 = with D extends B;
+//             ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:18: Error: Expected ';' after this.
+// class N15 = with D extends B;
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:20: 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'.
+// class N15 = with D extends B;
+//                    ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:20: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N15 = with D extends B;
+//                    ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:20: Error: Expected ';' after this.
+// class N15 = with D extends B;
+//                    ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:20: Error: 'extends' is already declared in this scope.
+// class N15 = with D extends B;
+//                    ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:15: Context: Previous declaration of 'extends'.
+// class N12 = B extends B with C implements D;
+//               ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:28: 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'.
+// class N15 = with D extends B;
+//                            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:28: Error: 'B' is already declared in this scope.
+// class N15 = with D extends B;
+//                            ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:23: Context: Previous declaration of 'B'.
+// class N12 = B extends B with C implements D;
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:13: Error: The built-in identifier 'implements' can't be used as a type.
+// class N16 = implements D extends B;
+//             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:24: Error: Expected 'with' before this.
+// class N16 = implements D extends B;
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:24: Error: Expected ';' after this.
+// class N16 = implements D extends B;
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:26: 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'.
+// class N16 = implements D extends B;
+//                          ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:26: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N16 = implements D extends B;
+//                          ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:26: Error: Expected ';' after this.
+// class N16 = implements D extends B;
+//                          ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:26: Error: 'extends' is already declared in this scope.
+// class N16 = implements D extends B;
+//                          ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:20: Context: Previous declaration of 'extends'.
+// class N15 = with D extends B;
+//                    ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:34: 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'.
+// class N16 = implements D extends B;
+//                                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:34: Error: 'B' is already declared in this scope.
+// class N16 = implements D extends B;
+//                                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:28: Context: Previous declaration of 'B'.
+// class N15 = with D extends B;
+//                            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:13: Error: The built-in identifier 'implements' can't be used as a type.
+// class N17 = implements D with C;
+//             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:24: Error: Expected 'with' before this.
+// class N17 = implements D with C;
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:24: Error: Expected ';' after this.
+// class N17 = implements D with C;
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:26: 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'.
+// class N17 = implements D with C;
+//                          ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:26: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N17 = implements D with C;
+//                          ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:26: Error: Expected ';' after this.
+// class N17 = implements D with C;
+//                          ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:26: Error: 'with' is already declared in this scope.
+// class N17 = implements D with C;
+//                          ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:22: Context: Previous declaration of 'with'.
+// class N13 = B with C with C implements D;
+//                      ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:31: 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'.
+// class N17 = implements D with C;
+//                               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:31: Error: 'C' is already declared in this scope.
+// class N17 = implements D with C;
+//                               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:40: Context: Previous declaration of 'C'.
+// class N11 = B implements D with C with C;
+//                                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:51:13: Error: Expected a type, but got ';'.
+// class N18 = ;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:51:13: Error: Expected 'with' before this.
+// class N18 = ;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:52:19: Error: Expected a type, but got ';'.
+// class N19 = B with;
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:53:13: Error: Expected a type, but got 'with'.
+// class N20 = with;
+//             ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:53:17: Error: Expected a type, but got ';'.
+// class N20 = with;
+//                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:54:32: Error: Expected a type, but got ';'.
+// class N21 = B with C implements;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:55:13: Error: Expected a type, but got 'with'.
+// class N22 = with C implements;
+//             ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:55:30: Error: Expected a type, but got ';'.
+// class N22 = with C implements;
+//                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:56:13: Error: The built-in identifier 'implements' can't be used as a type.
+// class N23 = implements;
+//             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:56:23: Error: Expected 'with' before this.
+// class N23 = implements;
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:57:15: Error: Expected 'with' before this.
+// class N24 = B extends;
+//               ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:57:13: Error: Expected ';' after this.
+// class N24 = B extends;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:57:15: 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'.
+// class N24 = B extends;
+//               ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:57:15: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N24 = B extends;
+//               ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:57:15: Error: 'extends' is already declared in this scope.
+// class N24 = B extends;
+//               ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:26: Context: Previous declaration of 'extends'.
+// class N16 = implements D extends B;
+//                          ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:58:13: Error: Expected a type, but got 'with'.
+// class N25 = with C with;
+//             ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:58:18: Error: Expected ';' after this.
+// class N25 = with C with;
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:58:20: 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'.
+// class N25 = with C with;
+//                    ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:58:20: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// class N25 = with C with;
+//                    ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:58:20: Error: 'with' is already declared in this scope.
+// class N25 = with C with;
+//                    ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:26: Context: Previous declaration of 'with'.
+// class N17 = implements D with C;
+//                          ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:59:13: Error: The built-in identifier 'implements' can't be used as a type.
+// class N26 = implements D implements;
+//             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:59:24: Error: Expected 'with' before this.
+// class N26 = implements D implements;
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:59:36: Error: Expected a type, but got ';'.
+// class N26 = implements D implements;
+//                                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:61:8: Error: Unexpected tokens.
+// enum E extends B with C implements D { element }
+//        ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:62:9: Error: Unexpected tokens.
+// enum E1 extends B implements D with C { element }
+//         ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:62:32: Error: The 'with' clause must come before the 'implements' clause.
+// Try moving the 'with' clause before the 'implements' clause.
+// enum E1 extends B implements D with C { element }
+//                                ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:63:22: Error: Unexpected tokens.
+// enum E2 implements D extends B with C { element }
+//                      ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:63:32: Error: The 'with' clause must come before the 'implements' clause.
+// Try moving the 'with' clause before the 'implements' clause.
+// enum E2 implements D extends B with C { element }
+//                                ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:64:22: Error: The 'with' clause must come before the 'implements' clause.
+// Try moving the 'with' clause before the 'implements' clause.
+// enum E3 implements D with C extends B { element }
+//                      ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:64:29: Error: Unexpected tokens.
+// enum E3 implements D with C extends B { element }
+//                             ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:65:29: Error: Unexpected tokens.
+// enum E4 with C implements D extends B { element }
+//                             ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:66:16: Error: Unexpected tokens.
+// enum E5 with C extends B implements D { element }
+//                ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:67:9: Error: Unexpected tokens.
+// enum E6 extends B with C implements D extends B { element }
+//         ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:67:39: Error: Unexpected tokens.
+// enum E6 extends B with C implements D extends B { element }
+//                                       ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:68:9: Error: Unexpected tokens.
+// enum E7 extends B with C implements D implements D { element }
+//         ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:68:39: Error: Each 'enum' definition can have at most one 'implements' clause.
+// Try combining all of the 'implements' clauses into a single clause.
+// enum E7 extends B with C implements D implements D { element }
+//                                       ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:69:9: Error: Unexpected tokens.
+// enum E8 extends B with C implements D with C { element }
+//         ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:69:39: Error: Each 'enum' definition can have at most one 'with' clause.
+// Try combining all of the 'with' clauses into a single clause.
+// enum E8 extends B with C implements D with C { element }
+//                                       ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:70:9: Error: Unexpected tokens.
+// enum E9 extends B implements D with C extends B { element }
+//         ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:70:32: Error: The 'with' clause must come before the 'implements' clause.
+// Try moving the 'with' clause before the 'implements' clause.
+// enum E9 extends B implements D with C extends B { element }
+//                                ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:70:39: Error: Unexpected tokens.
+// enum E9 extends B implements D with C extends B { element }
+//                                       ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:71:10: Error: Unexpected tokens.
+// enum E10 extends B implements D with C implements D { element }
+//          ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:71:33: Error: The 'with' clause must come before the 'implements' clause.
+// Try moving the 'with' clause before the 'implements' clause.
+// enum E10 extends B implements D with C implements D { element }
+//                                 ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:71:40: Error: Each 'enum' definition can have at most one 'implements' clause.
+// Try combining all of the 'implements' clauses into a single clause.
+// enum E10 extends B implements D with C implements D { element }
+//                                        ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:72:10: Error: Unexpected tokens.
+// enum E11 extends B implements D with C with C { element }
+//          ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:72:33: Error: The 'with' clause must come before the 'implements' clause.
+// Try moving the 'with' clause before the 'implements' clause.
+// enum E11 extends B implements D with C with C { element }
+//                                 ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:72:40: Error: Each 'enum' definition can have at most one 'with' clause.
+// Try combining all of the 'with' clauses into a single clause.
+// enum E11 extends B implements D with C with C { element }
+//                                        ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:10: Error: Expected a enum body, but got 'extends'.
+// An enum definition must have a body with at least one constant name.
+// enum E12 extends B extends B with C implements D { element }
+//          ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73: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'.
+// enum E12 extends B extends B with C implements D { element }
+//          ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:10: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// enum E12 extends B extends B with C implements D { element }
+//          ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:10: Error: Expected ';' after this.
+// enum E12 extends B extends B with C implements D { element }
+//          ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:10: Error: 'extends' is already declared in this scope.
+// enum E12 extends B extends B with C implements D { element }
+//          ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:57:15: Context: Previous declaration of 'extends'.
+// class N24 = B extends;
+//               ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:18: 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'.
+// enum E12 extends B extends B with C implements D { element }
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:18: Error: Expected ';' after this.
+// enum E12 extends B extends B with C implements D { element }
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:18: Error: 'B' is already declared in this scope.
+// enum E12 extends B extends B with C implements D { element }
+//                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:34: Context: Previous declaration of 'B'.
+// class N16 = implements D extends B;
+//                                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:20: 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'.
+// enum E12 extends B extends B with C implements D { element }
+//                    ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:20: Error: 'extends' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// enum E12 extends B extends B with C implements D { element }
+//                    ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:20: Error: Expected ';' after this.
+// enum E12 extends B extends B with C implements D { element }
+//                    ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:20: Error: 'extends' is already declared in this scope.
+// enum E12 extends B extends B with C implements D { element }
+//                    ^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:10: Context: Previous declaration of 'extends'.
+// enum E12 extends B extends B with C implements D { element }
+//          ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:28: 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'.
+// enum E12 extends B extends B with C implements D { element }
+//                            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:28: Error: Expected ';' after this.
+// enum E12 extends B extends B with C implements D { element }
+//                            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:28: Error: 'B' is already declared in this scope.
+// enum E12 extends B extends B with C implements D { element }
+//                            ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:18: Context: Previous declaration of 'B'.
+// enum E12 extends B extends B with C implements D { element }
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:30: 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'.
+// enum E12 extends B extends B with C implements D { element }
+//                              ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:30: Error: 'with' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// enum E12 extends B extends B with C implements D { element }
+//                              ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:30: Error: Expected ';' after this.
+// enum E12 extends B extends B with C implements D { element }
+//                              ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:30: Error: 'with' is already declared in this scope.
+// enum E12 extends B extends B with C implements D { element }
+//                              ^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:58:20: Context: Previous declaration of 'with'.
+// class N25 = with C with;
+//                    ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:37: Error: Expected ';' after this.
+// enum E12 extends B extends B with C implements D { element }
+//                                     ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:37: Error: 'implements' is already declared in this scope.
+// enum E12 extends B extends B with C implements D { element }
+//                                     ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:35: Context: Previous declaration of 'implements'.
+// class N14 = B with C implements D implements D;
+//                                   ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:48: Error: A function declaration needs an explicit list of parameters.
+// Try adding a parameter list to the function declaration.
+// enum E12 extends B extends B with C implements D { element }
+//                                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:48: Error: 'D' is already declared in this scope.
+// enum E12 extends B extends B with C implements D { element }
+//                                                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:46: Context: Previous declaration of 'D'.
+// class N14 = B with C implements D implements D;
+//                                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:74:10: Error: Unexpected tokens.
+// enum E13 extends B with C with C implements D { element }
+//          ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:74:27: Error: Each 'enum' definition can have at most one 'with' clause.
+// Try combining all of the 'with' clauses into a single clause.
+// enum E13 extends B with C with C implements D { element }
+//                           ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:75:10: Error: Unexpected tokens.
+// enum E14 extends B with C implements D implements D { element }
+//          ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:75:40: Error: Each 'enum' definition can have at most one 'implements' clause.
+// Try combining all of the 'implements' clauses into a single clause.
+// enum E14 extends B with C implements D implements D { element }
+//                                        ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:76:17: Error: Unexpected tokens.
+// enum E15 with D extends B { element }
+//                 ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:77:23: Error: Unexpected tokens.
+// enum E16 implements D extends B { element }
+//                       ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:78:23: Error: The 'with' clause must come before the 'implements' clause.
+// Try moving the 'with' clause before the 'implements' clause.
+// enum E17 implements D with C { element }
+//                       ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:79:10: Error: Unexpected token 'extends'.
+// enum E18 extends { element }
+//          ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:80:10: Error: Unexpected tokens.
+// enum E19 extends B with { element }
+//          ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:80:25: Error: Expected a type, but got '{'.
+// enum E19 extends B with { element }
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:81:15: Error: Expected a type, but got '{'.
+// enum E20 with { element }
+//               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:82:10: Error: Unexpected tokens.
+// enum E21 extends B with C implements { element }
+//          ^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:82:38: Error: Expected a type, but got '{'.
+// enum E21 extends B with C implements { element }
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:83:28: Error: Expected a type, but got '{'.
+// enum E22 with C implements { element }
+//                            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:84:21: Error: Expected a type, but got '{'.
+// enum E23 implements { element }
+//                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:85:10: Error: Unexpected tokens.
+// enum E24 extends B extends { element }
+//          ^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:86:17: Error: Each 'enum' definition can have at most one 'with' clause.
+// Try combining all of the 'with' clauses into a single clause.
+// enum E25 with C with { element }
+//                 ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:87:23: Error: Each 'enum' definition can have at most one 'implements' clause.
+// Try combining all of the 'implements' clauses into a single clause.
+// enum E26 implements D implements { element }
+//                       ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:89:7: Error: 'B' is already declared in this scope.
+// class B {}
+//       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:28: Context: Previous declaration of 'B'.
+// enum E12 extends B extends B with C implements D { element }
+//                            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:90:7: Error: 'C' is already declared in this scope.
+// class C {}
+//       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:31: Context: Previous declaration of 'C'.
+// class N17 = implements D with C;
+//                               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:91:7: Error: 'D' is already declared in this scope.
+// class D {}
+//       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:48: Context: Previous declaration of 'D'.
+// enum E12 extends B extends B with C implements D { element }
+//                                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:5:17: Error: 'B' isn't a type.
+// class A extends B with C implements D {}
+//                 ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:5:17: Context: This isn't a type.
+// class A extends B with C implements D {}
+//                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:5:24: Error: 'C' isn't a type.
+// class A extends B with C implements D {}
+//                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:5:24: Context: This isn't a type.
+// class A extends B with C implements D {}
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:5:37: Error: 'D' isn't a type.
+// class A extends B with C implements D {}
+//                                     ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:5:37: Context: This isn't a type.
+// class A extends B with C implements D {}
+//                                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:6:18: Error: 'B' isn't a type.
+// class A1 extends B implements D with C {}
+//                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:6:18: Context: This isn't a type.
+// class A1 extends B implements D with C {}
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:6:31: Error: 'D' isn't a type.
+// class A1 extends B implements D with C {}
+//                               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:6:31: Context: This isn't a type.
+// class A1 extends B implements D with C {}
+//                               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:6:38: Error: 'C' isn't a type.
+// class A1 extends B implements D with C {}
+//                                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:6:38: Context: This isn't a type.
+// class A1 extends B implements D with C {}
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:7:21: Error: 'D' isn't a type.
+// class A2 implements D extends B with C {}
+//                     ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:7:21: Context: This isn't a type.
+// class A2 implements D extends B with C {}
+//                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:7:31: Error: 'B' isn't a type.
+// class A2 implements D extends B with C {}
+//                               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:7:31: Context: This isn't a type.
+// class A2 implements D extends B with C {}
+//                               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:7:38: Error: 'C' isn't a type.
+// class A2 implements D extends B with C {}
+//                                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:7:38: Context: This isn't a type.
+// class A2 implements D extends B with C {}
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:8:21: Error: 'D' isn't a type.
+// class A3 implements D with C extends B {}
+//                     ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:8:21: Context: This isn't a type.
+// class A3 implements D with C extends B {}
+//                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:8:28: Error: 'C' isn't a type.
+// class A3 implements D with C extends B {}
+//                            ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:8:28: Context: This isn't a type.
+// class A3 implements D with C extends B {}
+//                            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:8:38: Error: 'B' isn't a type.
+// class A3 implements D with C extends B {}
+//                                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:8:38: Context: This isn't a type.
+// class A3 implements D with C extends B {}
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:9:15: Error: 'C' isn't a type.
+// class A4 with C implements D extends B {}
+//               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:9:15: Context: This isn't a type.
+// class A4 with C implements D extends B {}
+//               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:9:28: Error: 'D' isn't a type.
+// class A4 with C implements D extends B {}
+//                            ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:9:28: Context: This isn't a type.
+// class A4 with C implements D extends B {}
+//                            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:9:38: Error: 'B' isn't a type.
+// class A4 with C implements D extends B {}
+//                                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:9:38: Context: This isn't a type.
+// class A4 with C implements D extends B {}
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:10:15: Error: 'C' isn't a type.
+// class A5 with C extends B implements D {}
+//               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:10:15: Context: This isn't a type.
+// class A5 with C extends B implements D {}
+//               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:10:25: Error: 'B' isn't a type.
+// class A5 with C extends B implements D {}
+//                         ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:10:25: Context: This isn't a type.
+// class A5 with C extends B implements D {}
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:10:38: Error: 'D' isn't a type.
+// class A5 with C extends B implements D {}
+//                                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:10:38: Context: This isn't a type.
+// class A5 with C extends B implements D {}
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:11:18: Error: 'B' isn't a type.
+// class A6 extends B with C implements D extends B {}
+//                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:11:18: Context: This isn't a type.
+// class A6 extends B with C implements D extends B {}
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:11:25: Error: 'C' isn't a type.
+// class A6 extends B with C implements D extends B {}
+//                         ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:11:25: Context: This isn't a type.
+// class A6 extends B with C implements D extends B {}
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:11:38: Error: 'D' isn't a type.
+// class A6 extends B with C implements D extends B {}
+//                                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:11:38: Context: This isn't a type.
+// class A6 extends B with C implements D extends B {}
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:11:48: Error: 'B' isn't a type.
+// class A6 extends B with C implements D extends B {}
+//                                                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:11:48: Context: This isn't a type.
+// class A6 extends B with C implements D extends B {}
+//                                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:12:18: Error: 'B' isn't a type.
+// class A7 extends B with C implements D implements D {}
+//                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:12:18: Context: This isn't a type.
+// class A7 extends B with C implements D implements D {}
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:12:25: Error: 'C' isn't a type.
+// class A7 extends B with C implements D implements D {}
+//                         ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:12:25: Context: This isn't a type.
+// class A7 extends B with C implements D implements D {}
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:12:38: Error: 'D' isn't a type.
+// class A7 extends B with C implements D implements D {}
+//                                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:12:38: Context: This isn't a type.
+// class A7 extends B with C implements D implements D {}
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:12:51: Error: 'D' isn't a type.
+// class A7 extends B with C implements D implements D {}
+//                                                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:12:51: Context: This isn't a type.
+// class A7 extends B with C implements D implements D {}
+//                                                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:13:18: Error: 'B' isn't a type.
+// class A8 extends B with C implements D with C {}
+//                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:13:18: Context: This isn't a type.
+// class A8 extends B with C implements D with C {}
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:13:25: Error: 'C' isn't a type.
+// class A8 extends B with C implements D with C {}
+//                         ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:13:25: Context: This isn't a type.
+// class A8 extends B with C implements D with C {}
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:13:38: Error: 'D' isn't a type.
+// class A8 extends B with C implements D with C {}
+//                                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:13:38: Context: This isn't a type.
+// class A8 extends B with C implements D with C {}
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:13:45: Error: 'C' isn't a type.
+// class A8 extends B with C implements D with C {}
+//                                             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:13:45: Context: This isn't a type.
+// class A8 extends B with C implements D with C {}
+//                                             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:14:18: Error: 'B' isn't a type.
+// class A9 extends B implements D with C extends B {}
+//                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:14:18: Context: This isn't a type.
+// class A9 extends B implements D with C extends B {}
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:14:31: Error: 'D' isn't a type.
+// class A9 extends B implements D with C extends B {}
+//                               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:14:31: Context: This isn't a type.
+// class A9 extends B implements D with C extends B {}
+//                               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:14:38: Error: 'C' isn't a type.
+// class A9 extends B implements D with C extends B {}
+//                                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:14:38: Context: This isn't a type.
+// class A9 extends B implements D with C extends B {}
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:14:48: Error: 'B' isn't a type.
+// class A9 extends B implements D with C extends B {}
+//                                                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:14:48: Context: This isn't a type.
+// class A9 extends B implements D with C extends B {}
+//                                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:15:19: Error: 'B' isn't a type.
+// class A10 extends B implements D with C implements D {}
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:15:19: Context: This isn't a type.
+// class A10 extends B implements D with C implements D {}
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:15:32: Error: 'D' isn't a type.
+// class A10 extends B implements D with C implements D {}
+//                                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:15:32: Context: This isn't a type.
+// class A10 extends B implements D with C implements D {}
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:15:39: Error: 'C' isn't a type.
+// class A10 extends B implements D with C implements D {}
+//                                       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:15:39: Context: This isn't a type.
+// class A10 extends B implements D with C implements D {}
+//                                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:15:52: Error: 'D' isn't a type.
+// class A10 extends B implements D with C implements D {}
+//                                                    ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:15:52: Context: This isn't a type.
+// class A10 extends B implements D with C implements D {}
+//                                                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:16:19: Error: 'B' isn't a type.
+// class A11 extends B implements D with C with C {}
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:16:19: Context: This isn't a type.
+// class A11 extends B implements D with C with C {}
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:16:32: Error: 'D' isn't a type.
+// class A11 extends B implements D with C with C {}
+//                                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:16:32: Context: This isn't a type.
+// class A11 extends B implements D with C with C {}
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:16:39: Error: 'C' isn't a type.
+// class A11 extends B implements D with C with C {}
+//                                       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:16:39: Context: This isn't a type.
+// class A11 extends B implements D with C with C {}
+//                                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:16:46: Error: 'C' isn't a type.
+// class A11 extends B implements D with C with C {}
+//                                              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:16:46: Context: This isn't a type.
+// class A11 extends B implements D with C with C {}
+//                                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:17:19: Error: 'B' isn't a type.
+// class A12 extends B extends B with C implements D {}
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:17:19: Context: This isn't a type.
+// class A12 extends B extends B with C implements D {}
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:17:29: Error: 'B' isn't a type.
+// class A12 extends B extends B with C implements D {}
+//                             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:17:29: Context: This isn't a type.
+// class A12 extends B extends B with C implements D {}
+//                             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:17:36: Error: 'C' isn't a type.
+// class A12 extends B extends B with C implements D {}
+//                                    ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:17:36: Context: This isn't a type.
+// class A12 extends B extends B with C implements D {}
+//                                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:17:49: Error: 'D' isn't a type.
+// class A12 extends B extends B with C implements D {}
+//                                                 ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:17:49: Context: This isn't a type.
+// class A12 extends B extends B with C implements D {}
+//                                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:18:19: Error: 'B' isn't a type.
+// class A13 extends B with C with C implements D {}
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:18:19: Context: This isn't a type.
+// class A13 extends B with C with C implements D {}
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:18:26: Error: 'C' isn't a type.
+// class A13 extends B with C with C implements D {}
+//                          ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:18:26: Context: This isn't a type.
+// class A13 extends B with C with C implements D {}
+//                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:18:33: Error: 'C' isn't a type.
+// class A13 extends B with C with C implements D {}
+//                                 ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:18:33: Context: This isn't a type.
+// class A13 extends B with C with C implements D {}
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:18:46: Error: 'D' isn't a type.
+// class A13 extends B with C with C implements D {}
+//                                              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:18:46: Context: This isn't a type.
+// class A13 extends B with C with C implements D {}
+//                                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:19:19: Error: 'B' isn't a type.
+// class A14 extends B with C implements D implements D {}
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:19:19: Context: This isn't a type.
+// class A14 extends B with C implements D implements D {}
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:19:26: Error: 'C' isn't a type.
+// class A14 extends B with C implements D implements D {}
+//                          ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:19:26: Context: This isn't a type.
+// class A14 extends B with C implements D implements D {}
+//                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:19:39: Error: 'D' isn't a type.
+// class A14 extends B with C implements D implements D {}
+//                                       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:19:39: Context: This isn't a type.
+// class A14 extends B with C implements D implements D {}
+//                                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:19:52: Error: 'D' isn't a type.
+// class A14 extends B with C implements D implements D {}
+//                                                    ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:19:52: Context: This isn't a type.
+// class A14 extends B with C implements D implements D {}
+//                                                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:20:16: Error: 'D' isn't a type.
+// class A15 with D extends B {}
+//                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:20:16: Context: This isn't a type.
+// class A15 with D extends B {}
+//                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:20:26: Error: 'B' isn't a type.
+// class A15 with D extends B {}
+//                          ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:20:26: Context: This isn't a type.
+// class A15 with D extends B {}
+//                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:21:22: Error: 'D' isn't a type.
+// class A16 implements D extends B {}
+//                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:21:22: Context: This isn't a type.
+// class A16 implements D extends B {}
+//                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:21:32: Error: 'B' isn't a type.
+// class A16 implements D extends B {}
+//                                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:21:32: Context: This isn't a type.
+// class A16 implements D extends B {}
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:22:22: Error: 'D' isn't a type.
+// class A17 implements D with C {}
+//                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:22:22: Context: This isn't a type.
+// class A17 implements D with C {}
+//                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:22:29: Error: 'C' isn't a type.
+// class A17 implements D with C {}
+//                             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:22:29: Context: This isn't a type.
+// class A17 implements D with C {}
+//                             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:24:19: Error: 'B' isn't a type.
+// class A19 extends B with {}
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:24:19: Context: This isn't a type.
+// class A19 extends B with {}
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:26:19: Error: 'B' isn't a type.
+// class A21 extends B with C implements {}
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:26:19: Context: This isn't a type.
+// class A21 extends B with C implements {}
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:26:26: Error: 'C' isn't a type.
+// class A21 extends B with C implements {}
+//                          ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:26:26: Context: This isn't a type.
+// class A21 extends B with C implements {}
+//                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:27:16: Error: 'C' isn't a type.
+// class A22 with C implements {}
+//                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:27:16: Context: This isn't a type.
+// class A22 with C implements {}
+//                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:29:19: Error: 'B' isn't a type.
+// class A24 extends B extends {}
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:29:19: Context: This isn't a type.
+// class A24 extends B extends {}
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:30:16: Error: 'C' isn't a type.
+// class A25 with C with {}
+//                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:30:16: Context: This isn't a type.
+// class A25 with C with {}
+//                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:31:22: Error: 'D' isn't a type.
+// class A26 implements D implements {}
+//                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:31:22: Context: This isn't a type.
+// class A26 implements D implements {}
+//                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:33:11: Error: 'B' isn't a type.
+// class N = B with C implements D;
+//           ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:33:11: Context: This isn't a type.
+// class N = B with C implements D;
+//           ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:33:18: Error: 'C' isn't a type.
+// class N = B with C implements D;
+//                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:33:18: Context: This isn't a type.
+// class N = B with C implements D;
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:33:31: Error: 'D' isn't a type.
+// class N = B with C implements D;
+//                               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:33:31: Context: This isn't a type.
+// class N = B with C implements D;
+//                               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:12: Error: 'B' isn't a type.
+// class N1 = B implements D with C;
+//            ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:12: Context: This isn't a type.
+// class N1 = B implements D with C;
+//            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:25: Error: 'D' isn't a type.
+// class N1 = B implements D with C;
+//                         ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:34:25: Context: This isn't a type.
+// class N1 = B implements D with C;
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:12: Error: 'implements' isn't a type.
+// class N2 = implements D extends B with C;
+//            ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:12: Context: This isn't a type.
+// class N2 = implements D extends B with C;
+//            ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:23: Error: 'D' isn't a type.
+// class N2 = implements D extends B with C;
+//                       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:23: Context: This isn't a type.
+// class N2 = implements D extends B with C;
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:12: Error: 'implements' isn't a type.
+// class N3 = implements D with C extends B;
+//            ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:12: Context: This isn't a type.
+// class N3 = implements D with C extends B;
+//            ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:23: Error: 'D' isn't a type.
+// class N3 = implements D with C extends B;
+//                       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:23: Context: This isn't a type.
+// class N3 = implements D with C extends B;
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:17: Error: 'C' isn't a type.
+// class N4 = with C implements D extends B;
+//                 ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:17: Context: This isn't a type.
+// class N4 = with C implements D extends B;
+//                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:30: Error: 'D' isn't a type.
+// class N4 = with C implements D extends B;
+//                              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:37:30: Context: This isn't a type.
+// class N4 = with C implements D extends B;
+//                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:17: Error: 'C' isn't a type.
+// class N5 = with C extends B implements D;
+//                 ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:17: Context: This isn't a type.
+// class N5 = with C extends B implements D;
+//                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:27: Error: 'B' isn't a type.
+// class N5 = with C extends B implements D;
+//                           ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:27: Context: This isn't a type.
+// class N5 = with C extends B implements D;
+//                           ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:12: Error: 'B' isn't a type.
+// class N6 = B with C implements D extends B;
+//            ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:12: Context: This isn't a type.
+// class N6 = B with C implements D extends B;
+//            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:19: Error: 'C' isn't a type.
+// class N6 = B with C implements D extends B;
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:19: Context: This isn't a type.
+// class N6 = B with C implements D extends B;
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:32: Error: 'D' isn't a type.
+// class N6 = B with C implements D extends B;
+//                                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:32: Context: This isn't a type.
+// class N6 = B with C implements D extends B;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:12: Error: 'B' isn't a type.
+// class N7 = B with C implements D implements D;
+//            ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:12: Context: This isn't a type.
+// class N7 = B with C implements D implements D;
+//            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:19: Error: 'C' isn't a type.
+// class N7 = B with C implements D implements D;
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:19: Context: This isn't a type.
+// class N7 = B with C implements D implements D;
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:32: Error: 'D' isn't a type.
+// class N7 = B with C implements D implements D;
+//                                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:32: Context: This isn't a type.
+// class N7 = B with C implements D implements D;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:12: Error: 'B' isn't a type.
+// class N8 = B with C implements D with C;
+//            ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:12: Context: This isn't a type.
+// class N8 = B with C implements D with C;
+//            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:19: Error: 'C' isn't a type.
+// class N8 = B with C implements D with C;
+//                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:19: Context: This isn't a type.
+// class N8 = B with C implements D with C;
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:32: Error: 'D' isn't a type.
+// class N8 = B with C implements D with C;
+//                                ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:32: Context: This isn't a type.
+// class N8 = B with C implements D with C;
+//                                ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:12: Error: 'B' isn't a type.
+// class N9 = B implements D with C extends B;
+//            ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:12: Context: This isn't a type.
+// class N9 = B implements D with C extends B;
+//            ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:25: Error: 'D' isn't a type.
+// class N9 = B implements D with C extends B;
+//                         ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:42:25: Context: This isn't a type.
+// class N9 = B implements D with C extends B;
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:13: Error: 'B' isn't a type.
+// class N10 = B implements D with C implements D;
+//             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:13: Context: This isn't a type.
+// class N10 = B implements D with C implements D;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:26: Error: 'D' isn't a type.
+// class N10 = B implements D with C implements D;
+//                          ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:26: Context: This isn't a type.
+// class N10 = B implements D with C implements D;
+//                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:33: Error: 'C' isn't a type.
+// class N10 = B implements D with C implements D;
+//                                 ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:33: Context: This isn't a type.
+// class N10 = B implements D with C implements D;
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:13: Error: 'B' isn't a type.
+// class N11 = B implements D with C with C;
+//             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:13: Context: This isn't a type.
+// class N11 = B implements D with C with C;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:26: Error: 'D' isn't a type.
+// class N11 = B implements D with C with C;
+//                          ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:44:26: Context: This isn't a type.
+// class N11 = B implements D with C with C;
+//                          ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:13: Error: 'B' isn't a type.
+// class N12 = B extends B with C implements D;
+//             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:13: Context: This isn't a type.
+// class N12 = B extends B with C implements D;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:30: Error: 'C' isn't a type.
+// class N12 = B extends B with C implements D;
+//                              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:30: Context: This isn't a type.
+// class N12 = B extends B with C implements D;
+//                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:13: Error: 'B' isn't a type.
+// class N13 = B with C with C implements D;
+//             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:13: Context: This isn't a type.
+// class N13 = B with C with C implements D;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:20: Error: 'C' isn't a type.
+// class N13 = B with C with C implements D;
+//                    ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:20: Context: This isn't a type.
+// class N13 = B with C with C implements D;
+//                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:27: Error: 'C' isn't a type.
+// class N13 = B with C with C implements D;
+//                           ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:27: Context: This isn't a type.
+// class N13 = B with C with C implements D;
+//                           ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:13: Error: 'B' isn't a type.
+// class N14 = B with C implements D implements D;
+//             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:13: Context: This isn't a type.
+// class N14 = B with C implements D implements D;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:20: Error: 'C' isn't a type.
+// class N14 = B with C implements D implements D;
+//                    ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:20: Context: This isn't a type.
+// class N14 = B with C implements D implements D;
+//                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:33: Error: 'D' isn't a type.
+// class N14 = B with C implements D implements D;
+//                                 ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:33: Context: This isn't a type.
+// class N14 = B with C implements D implements D;
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:18: Error: 'D' isn't a type.
+// class N15 = with D extends B;
+//                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:48:18: Context: This isn't a type.
+// class N15 = with D extends B;
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:13: Error: 'implements' isn't a type.
+// class N16 = implements D extends B;
+//             ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:13: Context: This isn't a type.
+// class N16 = implements D extends B;
+//             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:24: Error: 'D' isn't a type.
+// class N16 = implements D extends B;
+//                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:24: Context: This isn't a type.
+// class N16 = implements D extends B;
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:13: Error: 'implements' isn't a type.
+// class N17 = implements D with C;
+//             ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:13: Context: This isn't a type.
+// class N17 = implements D with C;
+//             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:24: Error: 'D' isn't a type.
+// class N17 = implements D with C;
+//                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:24: Context: This isn't a type.
+// class N17 = implements D with C;
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:52:13: Error: 'B' isn't a type.
+// class N19 = B with;
+//             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:52:13: Context: This isn't a type.
+// class N19 = B with;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:54:13: Error: 'B' isn't a type.
+// class N21 = B with C implements;
+//             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:54:13: Context: This isn't a type.
+// class N21 = B with C implements;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:54:20: Error: 'C' isn't a type.
+// class N21 = B with C implements;
+//                    ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:54:20: Context: This isn't a type.
+// class N21 = B with C implements;
+//                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:55:18: Error: 'C' isn't a type.
+// class N22 = with C implements;
+//                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:55:18: Context: This isn't a type.
+// class N22 = with C implements;
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:56:13: Error: 'implements' isn't a type.
+// class N23 = implements;
+//             ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:56:13: Context: This isn't a type.
+// class N23 = implements;
+//             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:57:13: Error: 'B' isn't a type.
+// class N24 = B extends;
+//             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:57:13: Context: This isn't a type.
+// class N24 = B extends;
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:58:18: Error: 'C' isn't a type.
+// class N25 = with C with;
+//                  ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:58:18: Context: This isn't a type.
+// class N25 = with C with;
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:59:13: Error: 'implements' isn't a type.
+// class N26 = implements D implements;
+//             ^^^^^^^^^^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:59:13: Context: This isn't a type.
+// class N26 = implements D implements;
+//             ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:59:24: Error: 'D' isn't a type.
+// class N26 = implements D implements;
+//                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:59:24: Context: This isn't a type.
+// class N26 = implements D implements;
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:61:23: Error: 'C' isn't a type.
+// enum E extends B with C implements D { element }
+//                       ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:61:23: Context: This isn't a type.
+// enum E extends B with C implements D { element }
+//                       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:61:36: Error: 'D' isn't a type.
+// enum E extends B with C implements D { element }
+//                                    ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:61:36: Context: This isn't a type.
+// enum E extends B with C implements D { element }
+//                                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:62:30: Error: 'D' isn't a type.
+// enum E1 extends B implements D with C { element }
+//                              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:62:30: Context: This isn't a type.
+// enum E1 extends B implements D with C { element }
+//                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:63:20: Error: 'D' isn't a type.
+// enum E2 implements D extends B with C { element }
+//                    ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:63:20: Context: This isn't a type.
+// enum E2 implements D extends B with C { element }
+//                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:64:20: Error: 'D' isn't a type.
+// enum E3 implements D with C extends B { element }
+//                    ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:64:20: Context: This isn't a type.
+// enum E3 implements D with C extends B { element }
+//                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:65:14: Error: 'C' isn't a type.
+// enum E4 with C implements D extends B { element }
+//              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:65:14: Context: This isn't a type.
+// enum E4 with C implements D extends B { element }
+//              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:65:27: Error: 'D' isn't a type.
+// enum E4 with C implements D extends B { element }
+//                           ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:65:27: Context: This isn't a type.
+// enum E4 with C implements D extends B { element }
+//                           ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:66:14: Error: 'C' isn't a type.
+// enum E5 with C extends B implements D { element }
+//              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:66:14: Context: This isn't a type.
+// enum E5 with C extends B implements D { element }
+//              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:66:37: Error: 'D' isn't a type.
+// enum E5 with C extends B implements D { element }
+//                                     ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:66:37: Context: This isn't a type.
+// enum E5 with C extends B implements D { element }
+//                                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:67:24: Error: 'C' isn't a type.
+// enum E6 extends B with C implements D extends B { element }
+//                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:67:24: Context: This isn't a type.
+// enum E6 extends B with C implements D extends B { element }
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:67:37: Error: 'D' isn't a type.
+// enum E6 extends B with C implements D extends B { element }
+//                                     ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:67:37: Context: This isn't a type.
+// enum E6 extends B with C implements D extends B { element }
+//                                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:68:24: Error: 'C' isn't a type.
+// enum E7 extends B with C implements D implements D { element }
+//                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:68:24: Context: This isn't a type.
+// enum E7 extends B with C implements D implements D { element }
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:68:37: Error: 'D' isn't a type.
+// enum E7 extends B with C implements D implements D { element }
+//                                     ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:68:37: Context: This isn't a type.
+// enum E7 extends B with C implements D implements D { element }
+//                                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:69:24: Error: 'C' isn't a type.
+// enum E8 extends B with C implements D with C { element }
+//                        ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:69:24: Context: This isn't a type.
+// enum E8 extends B with C implements D with C { element }
+//                        ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:69:37: Error: 'D' isn't a type.
+// enum E8 extends B with C implements D with C { element }
+//                                     ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:69:37: Context: This isn't a type.
+// enum E8 extends B with C implements D with C { element }
+//                                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:70:30: Error: 'D' isn't a type.
+// enum E9 extends B implements D with C extends B { element }
+//                              ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:70:30: Context: This isn't a type.
+// enum E9 extends B implements D with C extends B { element }
+//                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:71:31: Error: 'D' isn't a type.
+// enum E10 extends B implements D with C implements D { element }
+//                               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:71:31: Context: This isn't a type.
+// enum E10 extends B implements D with C implements D { element }
+//                               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:72:31: Error: 'D' isn't a type.
+// enum E11 extends B implements D with C with C { element }
+//                               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:72:31: Context: This isn't a type.
+// enum E11 extends B implements D with C with C { element }
+//                               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:35: Error: 'C' isn't a type.
+// enum E12 extends B extends B with C implements D { element }
+//                                   ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:35: Context: This isn't a type.
+// enum E12 extends B extends B with C implements D { element }
+//                                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:74:25: Error: 'C' isn't a type.
+// enum E13 extends B with C with C implements D { element }
+//                         ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:74:25: Context: This isn't a type.
+// enum E13 extends B with C with C implements D { element }
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:74:45: Error: 'D' isn't a type.
+// enum E13 extends B with C with C implements D { element }
+//                                             ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:74:45: Context: This isn't a type.
+// enum E13 extends B with C with C implements D { element }
+//                                             ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:75:25: Error: 'C' isn't a type.
+// enum E14 extends B with C implements D implements D { element }
+//                         ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:75:25: Context: This isn't a type.
+// enum E14 extends B with C implements D implements D { element }
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:75:38: Error: 'D' isn't a type.
+// enum E14 extends B with C implements D implements D { element }
+//                                      ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:75:38: Context: This isn't a type.
+// enum E14 extends B with C implements D implements D { element }
+//                                      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:76:15: Error: 'D' isn't a type.
+// enum E15 with D extends B { element }
+//               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:76:15: Context: This isn't a type.
+// enum E15 with D extends B { element }
+//               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:77:21: Error: 'D' isn't a type.
+// enum E16 implements D extends B { element }
+//                     ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:77:21: Context: This isn't a type.
+// enum E16 implements D extends B { element }
+//                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:78:21: Error: 'D' isn't a type.
+// enum E17 implements D with C { element }
+//                     ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:78:21: Context: This isn't a type.
+// enum E17 implements D with C { element }
+//                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:82:25: Error: 'C' isn't a type.
+// enum E21 extends B with C implements { element }
+//                         ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:82:25: Context: This isn't a type.
+// enum E21 extends B with C implements { element }
+//                         ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:83:15: Error: 'C' isn't a type.
+// enum E22 with C implements { element }
+//               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:83:15: Context: This isn't a type.
+// enum E22 with C implements { element }
+//               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:86:15: Error: 'C' isn't a type.
+// enum E25 with C with { element }
+//               ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:86:15: Context: This isn't a type.
+// enum E25 with C with { element }
+//               ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:87:21: Error: 'D' isn't a type.
+// enum E26 implements D implements { element }
+//                     ^
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:87:21: Context: This isn't a type.
+// enum E26 implements D implements { element }
+//                     ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:5:7: Error: The type 'C' can't be mixed in.
+// class A extends B with C implements D {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:9:7: Error: The type 'C' can't be mixed in.
+// class A4 with C implements D extends B {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:10:7: Error: The type 'C' can't be mixed in.
+// class A5 with C extends B implements D {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:11:7: Error: The type 'C' can't be mixed in.
+// class A6 extends B with C implements D extends B {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:12:7: Error: The type 'C' can't be mixed in.
+// class A7 extends B with C implements D implements D {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:13:7: Error: The type 'C' can't be mixed in.
+// class A8 extends B with C implements D with C {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:18:7: Error: The type 'C' can't be mixed in.
+// class A13 extends B with C with C implements D {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:19:7: Error: The type 'C' can't be mixed in.
+// class A14 extends B with C implements D implements D {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:20:7: Error: The type 'D' can't be mixed in.
+// class A15 with D extends B {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:26:7: Error: The type 'C' can't be mixed in.
+// class A21 extends B with C implements {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:27:7: Error: The type 'C' can't be mixed in.
+// class A22 with C implements {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:30:7: Error: The type 'C' can't be mixed in.
+// class A25 with C with {}
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:33:7: Error: The type 'C' can't be mixed in.
+// class N = B with C implements D;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:35:7: Error: The type 'D' can't be mixed in.
+// class N2 = implements D extends B with C;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:36:7: Error: The type 'D' can't be mixed in.
+// class N3 = implements D with C extends B;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:39:7: Error: The type 'C' can't be mixed in.
+// class N6 = B with C implements D extends B;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:40:7: Error: The type 'C' can't be mixed in.
+// class N7 = B with C implements D implements D;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:41:7: Error: The type 'C' can't be mixed in.
+// class N8 = B with C implements D with C;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:7: Error: The type 'C' can't be mixed in.
+// class N13 = B with C with C implements D;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:47:7: Error: The type 'C' can't be mixed in.
+// class N14 = B with C implements D implements D;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:49:7: Error: The type 'D' can't be mixed in.
+// class N16 = implements D extends B;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:50:7: Error: The type 'D' can't be mixed in.
+// class N17 = implements D with C;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:54:7: Error: The type 'C' can't be mixed in.
+// class N21 = B with C implements;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:59:7: Error: The type 'D' can't be mixed in.
+// class N26 = implements D implements;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:61:6: Error: The type 'C' can't be mixed in.
+// enum E extends B with C implements D { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:65:6: Error: The type 'C' can't be mixed in.
+// enum E4 with C implements D extends B { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:66:6: Error: The type 'C' can't be mixed in.
+// enum E5 with C extends B implements D { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:67:6: Error: The type 'C' can't be mixed in.
+// enum E6 extends B with C implements D extends B { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:68:6: Error: The type 'C' can't be mixed in.
+// enum E7 extends B with C implements D implements D { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:69:6: Error: The type 'C' can't be mixed in.
+// enum E8 extends B with C implements D with C { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:74:6: Error: The type 'C' can't be mixed in.
+// enum E13 extends B with C with C implements D { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:75:6: Error: The type 'C' can't be mixed in.
+// enum E14 extends B with C implements D implements D { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:76:6: Error: The type 'D' can't be mixed in.
+// enum E15 with D extends B { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:82:6: Error: The type 'C' can't be mixed in.
+// enum E21 extends B with C implements { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:83:6: Error: The type 'C' can't be mixed in.
+// enum E22 with C implements { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:86:6: Error: The type 'C' can't be mixed in.
+// enum E25 with C with { element }
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:38:27: Error: Can't use 'B' because it is declared more than once.
+// class N5 = with C extends B implements D;
+//                           ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:43:33: Error: Can't use 'C' because it is declared more than once.
+// class N10 = B implements D with C implements D;
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:45:30: Error: Can't use 'C' because it is declared more than once.
+// class N12 = B extends B with C implements D;
+//                              ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:46:27: Error: Can't use 'C' because it is declared more than once.
+// class N13 = B with C with C implements D;
+//                           ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:35: Error: Can't use 'C' because it is declared more than once.
+// enum E12 extends B extends B with C implements D { element }
+//                                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:52: Error: Expected ';' after this.
+// enum E12 extends B extends B with C implements D { element }
+//                                                    ^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/class_header.dart:73:52: Error: Undefined name 'element'.
+// enum E12 extends B extends B with C implements D { element }
+//                                                    ^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+abstract class _A&B&C extends core::Object /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_A&B&C
+    : super core::Object::•()
+    ;
+}
+class A extends self::_A&B&C {
+  synthetic constructor •() → self::A
+    : super self::_A&B&C::•()
+    ;
+}
+class A1 extends core::Object {
+  synthetic constructor •() → self::A1
+    : super core::Object::•()
+    ;
+}
+class A2 extends core::Object {
+  synthetic constructor •() → self::A2
+    : super core::Object::•()
+    ;
+}
+class A3 extends core::Object {
+  synthetic constructor •() → self::A3
+    : super core::Object::•()
+    ;
+}
+abstract class _A4&Object&C extends core::Object /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_A4&Object&C
+    : super core::Object::•()
+    ;
+}
+class A4 extends self::_A4&Object&C {
+  synthetic constructor •() → self::A4
+    : super self::_A4&Object&C::•()
+    ;
+}
+abstract class _A5&Object&C extends core::Object /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_A5&Object&C
+    : super core::Object::•()
+    ;
+}
+class A5 extends self::_A5&Object&C {
+  synthetic constructor •() → self::A5
+    : super self::_A5&Object&C::•()
+    ;
+}
+abstract class _A6&B&C extends core::Object /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_A6&B&C
+    : super core::Object::•()
+    ;
+}
+class A6 extends self::_A6&B&C {
+  synthetic constructor •() → self::A6
+    : super self::_A6&B&C::•()
+    ;
+}
+abstract class _A7&B&C extends core::Object /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_A7&B&C
+    : super core::Object::•()
+    ;
+}
+class A7 extends self::_A7&B&C {
+  synthetic constructor •() → self::A7
+    : super self::_A7&B&C::•()
+    ;
+}
+abstract class _A8&B&C extends core::Object /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_A8&B&C
+    : super core::Object::•()
+    ;
+}
+class A8 extends self::_A8&B&C {
+  synthetic constructor •() → self::A8
+    : super self::_A8&B&C::•()
+    ;
+}
+class A9 extends core::Object {
+  synthetic constructor •() → self::A9
+    : super core::Object::•()
+    ;
+}
+class A10 extends core::Object {
+  synthetic constructor •() → self::A10
+    : super core::Object::•()
+    ;
+}
+class A11 extends core::Object {
+  synthetic constructor •() → self::A11
+    : super core::Object::•()
+    ;
+}
+class A12 extends core::Object {
+  synthetic constructor •() → self::A12
+    : super core::Object::•()
+    ;
+}
+abstract class _A13&B&C extends core::Object /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_A13&B&C
+    : super core::Object::•()
+    ;
+}
+class A13 extends self::_A13&B&C {
+  synthetic constructor •() → self::A13
+    : super self::_A13&B&C::•()
+    ;
+}
+abstract class _A14&B&C extends core::Object /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_A14&B&C
+    : super core::Object::•()
+    ;
+}
+class A14 extends self::_A14&B&C {
+  synthetic constructor •() → self::A14
+    : super self::_A14&B&C::•()
+    ;
+}
+abstract class _A15&Object&D extends core::Object /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_A15&Object&D
+    : super core::Object::•()
+    ;
+}
+class A15 extends self::_A15&Object&D {
+  synthetic constructor •() → self::A15
+    : super self::_A15&Object&D::•()
+    ;
+}
+class A16 extends core::Object {
+  synthetic constructor •() → self::A16
+    : super core::Object::•()
+    ;
+}
+class A17 extends core::Object {
+  synthetic constructor •() → self::A17
+    : super core::Object::•()
+    ;
+}
+class A18 extends core::Object {
+  synthetic constructor •() → self::A18
+    : super core::Object::•()
+    ;
+}
+class A19 extends core::Object {
+  synthetic constructor •() → self::A19
+    : super core::Object::•()
+    ;
+}
+class A20 extends core::Object {
+  synthetic constructor •() → self::A20
+    : super core::Object::•()
+    ;
+}
+abstract class _A21&B&C extends core::Object /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_A21&B&C
+    : super core::Object::•()
+    ;
+}
+class A21 extends self::_A21&B&C {
+  synthetic constructor •() → self::A21
+    : super self::_A21&B&C::•()
+    ;
+}
+abstract class _A22&Object&C extends core::Object /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_A22&Object&C
+    : super core::Object::•()
+    ;
+}
+class A22 extends self::_A22&Object&C {
+  synthetic constructor •() → self::A22
+    : super self::_A22&Object&C::•()
+    ;
+}
+class A23 extends core::Object {
+  synthetic constructor •() → self::A23
+    : super core::Object::•()
+    ;
+}
+class A24 extends core::Object {
+  synthetic constructor •() → self::A24
+    : super core::Object::•()
+    ;
+}
+abstract class _A25&Object&C extends core::Object /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_A25&Object&C
+    : super core::Object::•()
+    ;
+}
+class A25 extends self::_A25&Object&C {
+  synthetic constructor •() → self::A25
+    : super self::_A25&Object&C::•()
+    ;
+}
+class A26 extends core::Object {
+  synthetic constructor •() → self::A26
+    : super core::Object::•()
+    ;
+}
+class N extends core::Object {
+  synthetic constructor •() → self::N
+    : super core::Object::•()
+    ;
+}
+class C#8 extends core::Object {
+  synthetic constructor •() → self::C#8
+    : super core::Object::•()
+    ;
+}
+class N2 extends core::Object {
+  synthetic constructor •() → self::N2
+    : super core::Object::•()
+    ;
+}
+class B#10 extends core::Object {
+  synthetic constructor •() → self::B#10
+    : super core::Object::•()
+    ;
+}
+class N3 extends core::Object {
+  synthetic constructor •() → self::N3
+    : super core::Object::•()
+    ;
+}
+class D#7 extends core::Object {
+  synthetic constructor •() → self::D#7
+    : super core::Object::•()
+    ;
+}
+class N6 extends core::Object {
+  synthetic constructor •() → self::N6
+    : super core::Object::•()
+    ;
+}
+class N7 extends core::Object {
+  synthetic constructor •() → self::N7
+    : super core::Object::•()
+    ;
+}
+class N8 extends core::Object {
+  synthetic constructor •() → self::N8
+    : super core::Object::•()
+    ;
+}
+class N13 extends core::Object {
+  synthetic constructor •() → self::N13
+    : super core::Object::•()
+    ;
+}
+class N14 extends core::Object {
+  synthetic constructor •() → self::N14
+    : super core::Object::•()
+    ;
+}
+class N16 extends core::Object {
+  synthetic constructor •() → self::N16
+    : super core::Object::•()
+    ;
+}
+class N17 extends core::Object {
+  synthetic constructor •() → self::N17
+    : super core::Object::•()
+    ;
+}
+class N21 extends core::Object {
+  synthetic constructor •() → self::N21
+    : super core::Object::•()
+    ;
+}
+class N26 extends core::Object {
+  synthetic constructor •() → self::N26
+    : super core::Object::•()
+    ;
+}
+abstract class _E&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E extends self::_E&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E> values = #C4;
+  static const field self::E element = #C3;
+  const constructor •(core::int index, core::String name) → self::E
+    : super self::_E&_Enum&C::•(index, name)
+    ;
+  method toString() → core::String
+    return "E.${this.{core::_Enum::_name}{core::String}}";
+}
+class E1 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E1> values = #C6;
+  static const field self::E1 element = #C5;
+  const constructor •(core::int index, core::String name) → self::E1
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E1.${this.{core::_Enum::_name}{core::String}}";
+}
+class E2 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E2> values = #C8;
+  static const field self::E2 element = #C7;
+  const constructor •(core::int index, core::String name) → self::E2
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E2.${this.{core::_Enum::_name}{core::String}}";
+}
+class E3 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E3> values = #C10;
+  static const field self::E3 element = #C9;
+  const constructor •(core::int index, core::String name) → self::E3
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E3.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E4&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E4&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E4 extends self::_E4&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E4> values = #C12;
+  static const field self::E4 element = #C11;
+  const constructor •(core::int index, core::String name) → self::E4
+    : super self::_E4&_Enum&C::•(index, name)
+    ;
+  method toString() → core::String
+    return "E4.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E5&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E5&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E5 extends self::_E5&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E5> values = #C14;
+  static const field self::E5 element = #C13;
+  const constructor •(core::int index, core::String name) → self::E5
+    : super self::_E5&_Enum&C::•(index, name)
+    ;
+  method toString() → core::String
+    return "E5.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E6&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E6&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E6 extends self::_E6&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E6> values = #C16;
+  static const field self::E6 element = #C15;
+  const constructor •(core::int index, core::String name) → self::E6
+    : super self::_E6&_Enum&C::•(index, name)
+    ;
+  method toString() → core::String
+    return "E6.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E7&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E7&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E7 extends self::_E7&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E7> values = #C18;
+  static const field self::E7 element = #C17;
+  const constructor •(core::int index, core::String name) → self::E7
+    : super self::_E7&_Enum&C::•(index, name)
+    ;
+  method toString() → core::String
+    return "E7.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E8&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E8&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E8 extends self::_E8&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E8> values = #C20;
+  static const field self::E8 element = #C19;
+  const constructor •(core::int index, core::String name) → self::E8
+    : super self::_E8&_Enum&C::•(index, name)
+    ;
+  method toString() → core::String
+    return "E8.${this.{core::_Enum::_name}{core::String}}";
+}
+class E9 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E9> values = #C22;
+  static const field self::E9 element = #C21;
+  const constructor •(core::int index, core::String name) → self::E9
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E9.${this.{core::_Enum::_name}{core::String}}";
+}
+class E10 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E10> values = #C24;
+  static const field self::E10 element = #C23;
+  const constructor •(core::int index, core::String name) → self::E10
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E10.${this.{core::_Enum::_name}{core::String}}";
+}
+class E11 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E11> values = #C26;
+  static const field self::E11 element = #C25;
+  const constructor •(core::int index, core::String name) → self::E11
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E11.${this.{core::_Enum::_name}{core::String}}";
+}
+class E12 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E12> values = #C27;
+  const constructor •(core::int index, core::String name) → self::E12
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E12.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E13&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E13&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E13 extends self::_E13&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E13> values = #C29;
+  static const field self::E13 element = #C28;
+  const constructor •(core::int index, core::String name) → self::E13
+    : super self::_E13&_Enum&C::•(index, name)
+    ;
+  method toString() → core::String
+    return "E13.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E14&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E14&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E14 extends self::_E14&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E14> values = #C31;
+  static const field self::E14 element = #C30;
+  const constructor •(core::int index, core::String name) → self::E14
+    : super self::_E14&_Enum&C::•(index, name)
+    ;
+  method toString() → core::String
+    return "E14.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E15&_Enum&D extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E15&_Enum&D
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E15 extends self::_E15&_Enum&D /*isEnum*/  {
+  static const field core::List<self::E15> values = #C33;
+  static const field self::E15 element = #C32;
+  const constructor •(core::int index, core::String name) → self::E15
+    : super self::_E15&_Enum&D::•(index, name)
+    ;
+  method toString() → core::String
+    return "E15.${this.{core::_Enum::_name}{core::String}}";
+}
+class E16 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E16> values = #C35;
+  static const field self::E16 element = #C34;
+  const constructor •(core::int index, core::String name) → self::E16
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E16.${this.{core::_Enum::_name}{core::String}}";
+}
+class E17 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E17> values = #C37;
+  static const field self::E17 element = #C36;
+  const constructor •(core::int index, core::String name) → self::E17
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E17.${this.{core::_Enum::_name}{core::String}}";
+}
+class E18 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E18> values = #C39;
+  static const field self::E18 element = #C38;
+  const constructor •(core::int index, core::String name) → self::E18
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E18.${this.{core::_Enum::_name}{core::String}}";
+}
+class E19 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E19> values = #C41;
+  static const field self::E19 element = #C40;
+  const constructor •(core::int index, core::String name) → self::E19
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E19.${this.{core::_Enum::_name}{core::String}}";
+}
+class E20 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E20> values = #C43;
+  static const field self::E20 element = #C42;
+  const constructor •(core::int index, core::String name) → self::E20
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E20.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E21&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E21&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E21 extends self::_E21&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E21> values = #C45;
+  static const field self::E21 element = #C44;
+  const constructor •(core::int index, core::String name) → self::E21
+    : super self::_E21&_Enum&C::•(index, name)
+    ;
+  method toString() → core::String
+    return "E21.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E22&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E22&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E22 extends self::_E22&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E22> values = #C47;
+  static const field self::E22 element = #C46;
+  const constructor •(core::int index, core::String name) → self::E22
+    : super self::_E22&_Enum&C::•(index, name)
+    ;
+  method toString() → core::String
+    return "E22.${this.{core::_Enum::_name}{core::String}}";
+}
+class E23 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E23> values = #C49;
+  static const field self::E23 element = #C48;
+  const constructor •(core::int index, core::String name) → self::E23
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E23.${this.{core::_Enum::_name}{core::String}}";
+}
+class E24 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E24> values = #C51;
+  static const field self::E24 element = #C50;
+  const constructor •(core::int index, core::String name) → self::E24
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E24.${this.{core::_Enum::_name}{core::String}}";
+}
+abstract class _E25&_Enum&C extends core::_Enum /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •(core::int index, core::String _name) → self::_E25&_Enum&C
+    : super core::_Enum::•(index, _name)
+    ;
+}
+class E25 extends self::_E25&_Enum&C /*isEnum*/  {
+  static const field core::List<self::E25> values = #C53;
+  static const field self::E25 element = #C52;
+  const constructor •(core::int index, core::String name) → self::E25
+    : super self::_E25&_Enum&C::•(index, name)
+    ;
+  method toString() → core::String
+    return "E25.${this.{core::_Enum::_name}{core::String}}";
+}
+class E26 extends core::_Enum /*isEnum*/  {
+  static const field core::List<self::E26> values = #C55;
+  static const field self::E26 element = #C54;
+  const constructor •(core::int index, core::String name) → self::E26
+    : super core::_Enum::•(index, name)
+    ;
+  method toString() → core::String
+    return "E26.${this.{core::_Enum::_name}{core::String}}";
+}
+static field dynamic with;
+static field dynamic C;
+static field dynamic extends;
+static field dynamic B;
+static field invalid-type implements;
+static field dynamic D;
+static method main() → dynamic {}
+
+constants  {
+  #C1 = 0
+  #C2 = "element"
+  #C3 = self::E {index:#C1, _name:#C2}
+  #C4 = <self::E*>[#C3]
+  #C5 = self::E1 {index:#C1, _name:#C2}
+  #C6 = <self::E1*>[#C5]
+  #C7 = self::E2 {index:#C1, _name:#C2}
+  #C8 = <self::E2*>[#C7]
+  #C9 = self::E3 {index:#C1, _name:#C2}
+  #C10 = <self::E3*>[#C9]
+  #C11 = self::E4 {index:#C1, _name:#C2}
+  #C12 = <self::E4*>[#C11]
+  #C13 = self::E5 {index:#C1, _name:#C2}
+  #C14 = <self::E5*>[#C13]
+  #C15 = self::E6 {index:#C1, _name:#C2}
+  #C16 = <self::E6*>[#C15]
+  #C17 = self::E7 {index:#C1, _name:#C2}
+  #C18 = <self::E7*>[#C17]
+  #C19 = self::E8 {index:#C1, _name:#C2}
+  #C20 = <self::E8*>[#C19]
+  #C21 = self::E9 {index:#C1, _name:#C2}
+  #C22 = <self::E9*>[#C21]
+  #C23 = self::E10 {index:#C1, _name:#C2}
+  #C24 = <self::E10*>[#C23]
+  #C25 = self::E11 {index:#C1, _name:#C2}
+  #C26 = <self::E11*>[#C25]
+  #C27 = <self::E12*>[]
+  #C28 = self::E13 {index:#C1, _name:#C2}
+  #C29 = <self::E13*>[#C28]
+  #C30 = self::E14 {index:#C1, _name:#C2}
+  #C31 = <self::E14*>[#C30]
+  #C32 = self::E15 {index:#C1, _name:#C2}
+  #C33 = <self::E15*>[#C32]
+  #C34 = self::E16 {index:#C1, _name:#C2}
+  #C35 = <self::E16*>[#C34]
+  #C36 = self::E17 {index:#C1, _name:#C2}
+  #C37 = <self::E17*>[#C36]
+  #C38 = self::E18 {index:#C1, _name:#C2}
+  #C39 = <self::E18*>[#C38]
+  #C40 = self::E19 {index:#C1, _name:#C2}
+  #C41 = <self::E19*>[#C40]
+  #C42 = self::E20 {index:#C1, _name:#C2}
+  #C43 = <self::E20*>[#C42]
+  #C44 = self::E21 {index:#C1, _name:#C2}
+  #C45 = <self::E21*>[#C44]
+  #C46 = self::E22 {index:#C1, _name:#C2}
+  #C47 = <self::E22*>[#C46]
+  #C48 = self::E23 {index:#C1, _name:#C2}
+  #C49 = <self::E23*>[#C48]
+  #C50 = self::E24 {index:#C1, _name:#C2}
+  #C51 = <self::E24*>[#C50]
+  #C52 = self::E25 {index:#C1, _name:#C2}
+  #C53 = <self::E25*>[#C52]
+  #C54 = self::E26 {index:#C1, _name:#C2}
+  #C55 = <self::E26*>[#C54]
+}
+
+
+Constructor coverage from constants:
+org-dartlang-testcase:///class_header.dart:
+- E. (from org-dartlang-testcase:///class_header.dart:61:6)
+- _E&_Enum&C. (from org-dartlang-testcase:///class_header.dart:61:6)
+- _Enum. (from org-dartlang-sdk:///sdk/lib/core/enum.dart:103:9)
+- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
+- E1. (from org-dartlang-testcase:///class_header.dart:62:6)
+- E2. (from org-dartlang-testcase:///class_header.dart:63:6)
+- E3. (from org-dartlang-testcase:///class_header.dart:64:6)
+- E4. (from org-dartlang-testcase:///class_header.dart:65:6)
+- _E4&_Enum&C. (from org-dartlang-testcase:///class_header.dart:65:6)
+- E5. (from org-dartlang-testcase:///class_header.dart:66:6)
+- _E5&_Enum&C. (from org-dartlang-testcase:///class_header.dart:66:6)
+- E6. (from org-dartlang-testcase:///class_header.dart:67:6)
+- _E6&_Enum&C. (from org-dartlang-testcase:///class_header.dart:67:6)
+- E7. (from org-dartlang-testcase:///class_header.dart:68:6)
+- _E7&_Enum&C. (from org-dartlang-testcase:///class_header.dart:68:6)
+- E8. (from org-dartlang-testcase:///class_header.dart:69:6)
+- _E8&_Enum&C. (from org-dartlang-testcase:///class_header.dart:69:6)
+- E9. (from org-dartlang-testcase:///class_header.dart:70:6)
+- E10. (from org-dartlang-testcase:///class_header.dart:71:6)
+- E11. (from org-dartlang-testcase:///class_header.dart:72:6)
+- E13. (from org-dartlang-testcase:///class_header.dart:74:6)
+- _E13&_Enum&C. (from org-dartlang-testcase:///class_header.dart:74:6)
+- E14. (from org-dartlang-testcase:///class_header.dart:75:6)
+- _E14&_Enum&C. (from org-dartlang-testcase:///class_header.dart:75:6)
+- E15. (from org-dartlang-testcase:///class_header.dart:76:6)
+- _E15&_Enum&D. (from org-dartlang-testcase:///class_header.dart:76:6)
+- E16. (from org-dartlang-testcase:///class_header.dart:77:6)
+- E17. (from org-dartlang-testcase:///class_header.dart:78:6)
+- E18. (from org-dartlang-testcase:///class_header.dart:79:6)
+- E19. (from org-dartlang-testcase:///class_header.dart:80:6)
+- E20. (from org-dartlang-testcase:///class_header.dart:81:6)
+- E21. (from org-dartlang-testcase:///class_header.dart:82:6)
+- _E21&_Enum&C. (from org-dartlang-testcase:///class_header.dart:82:6)
+- E22. (from org-dartlang-testcase:///class_header.dart:83:6)
+- _E22&_Enum&C. (from org-dartlang-testcase:///class_header.dart:83:6)
+- E23. (from org-dartlang-testcase:///class_header.dart:84:6)
+- E24. (from org-dartlang-testcase:///class_header.dart:85:6)
+- E25. (from org-dartlang-testcase:///class_header.dart:86:6)
+- _E25&_Enum&C. (from org-dartlang-testcase:///class_header.dart:86:6)
+- E26. (from org-dartlang-testcase:///class_header.dart:87:6)
diff --git a/pkg/front_end/testcases/textual_outline.status b/pkg/front_end/testcases/textual_outline.status
index 399a2c7..d95d406 100644
--- a/pkg/front_end/testcases/textual_outline.status
+++ b/pkg/front_end/testcases/textual_outline.status
@@ -65,6 +65,7 @@
 general/duplicated_declarations: FormatterCrash
 general/enum_super_constructor: FormatterCrash
 general/error_recovery/annotations: FormatterCrash
+general/error_recovery/class_header: FormatterCrash
 general/error_recovery/constructor_recovery_bad_name_general.crash: FormatterCrash
 general/error_recovery/constructor_recovery_bad_name_get.crash: FormatterCrash
 general/error_recovery/constructor_recovery_bad_name_return_type.crash: FormatterCrash
diff --git a/tools/VERSION b/tools/VERSION
index 161f191..6898ef4 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 17
 PATCH 0
-PRERELEASE 230
+PRERELEASE 231
 PRERELEASE_PATCH 0
\ No newline at end of file