[CFE] Increase test coverage 01

Increase test coverage --- body_builder.dart was the target.

Process: Replaced all `coverage-ignore-block(suite):` comments with
throws and ran `python3 tools/test.py -n cfe-strong-linux language/`,
copying (and modifying) representative tests from `langauge` that
covered new stuff (i.e. threw in the modified version). Then undid the
throw changes, and redid the coverage marking.
Change-Id: Ie08dc6fcd70cd3722b68c38bf2a152d03aae7885
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/378705
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
diff --git a/pkg/front_end/lib/src/kernel/body_builder.dart b/pkg/front_end/lib/src/kernel/body_builder.dart
index 45fa913..d28c80e 100644
--- a/pkg/front_end/lib/src/kernel/body_builder.dart
+++ b/pkg/front_end/lib/src/kernel/body_builder.dart
@@ -718,7 +718,6 @@
       switchScope.unclaimedForwardDeclarations!
           .forEach((String name, JumpTarget declaration) {
         if (outerSwitchScope == null) {
-          // Coverage-ignore-block(suite): Not run.
           for (Statement statement in declaration.users) {
             statement.parent!.replaceChild(
                 statement,
@@ -745,7 +744,6 @@
           buildProblem(message, offset, name.length, context: context)
             ..parent = variable;
     } else {
-      // Coverage-ignore-block(suite): Not run.
       variable.initializer = wrapInLocatedProblem(
           variable.initializer!, message.withLocation(uri, offset, name.length),
           context: context)
@@ -1043,7 +1041,6 @@
           if (formal.isInitializingFormal) {
             List<Initializer> initializers;
             if (_context.isExternalConstructor) {
-              // Coverage-ignore-block(suite): Not run.
               initializers = <Initializer>[
                 buildInvalidInitializer(
                     buildProblem(
@@ -2180,7 +2177,6 @@
     debugEvent("ParenthesizedExpression");
     Expression value = popForValue();
     if (value is ShadowLargeIntLiteral) {
-      // Coverage-ignore-block(suite): Not run.
       // We need to know that the expression was parenthesized because we will
       // treat -n differently from -(n).  If the expression occurs in a double
       // context, -n is a double literal and -(n) is an application of unary- to
@@ -2676,7 +2672,6 @@
               token.charOffset,
               token.length));
         } else {
-          // Coverage-ignore-block(suite): Not run.
           push(buildProblem(fasta.templateInvalidOperator.withArguments(token),
               token.charOffset, token.length));
         }
@@ -3630,7 +3625,6 @@
   void pushNewLocalVariable(Expression? initializer, {Token? equalsToken}) {
     Object? node = pop();
     if (node is ParserRecovery) {
-      // Coverage-ignore-block(suite): Not run.
       push(node);
       return;
     }
@@ -3694,7 +3688,6 @@
     debugEvent("NoFieldInitializer");
     constantContext = _context.constantContext;
     if (constantContext == ConstantContext.inferred) {
-      // Coverage-ignore-block(suite): Not run.
       // Creating a null value to prevent the Dart VM from crashing.
       push(forest.createNullLiteral(offsetForToken(token)));
     } else {
@@ -3709,7 +3702,6 @@
     debugEvent("InitializedIdentifier");
     Object? node = pop();
     if (node is ParserRecovery) {
-      // Coverage-ignore-block(suite): Not run.
       push(node);
       return;
     }
@@ -3757,7 +3749,6 @@
       currentLocalVariableModifiers = pop() as int;
       List<Expression>? annotations = pop() as List<Expression>?;
       if (node is ParserRecovery) {
-        // Coverage-ignore-block(suite): Not run.
         push(node);
         return;
       }
@@ -3791,7 +3782,6 @@
       currentLocalVariableModifiers = pop() as int;
       List<Expression>? annotations = pop() as List<Expression>?;
       if (variables == null) {
-        // Coverage-ignore-block(suite): Not run.
         push(new ParserRecovery(offsetForToken(endToken)));
         return;
       }
@@ -3921,7 +3911,6 @@
 
   void exitLoopOrSwitch(Statement statement) {
     if (problemInLoopOrSwitch != null) {
-      // Coverage-ignore-block(suite): Not run.
       push(problemInLoopOrSwitch);
       problemInLoopOrSwitch = null;
     } else {
@@ -3964,7 +3953,6 @@
       // Coverage-ignore-block(suite): Not run.
       return <VariableDeclaration>[];
     } else if (variableOrExpression is ParserRecovery) {
-      // Coverage-ignore-block(suite): Not run.
       return <VariableDeclaration>[];
     } else if (variableOrExpression == null) {
       return <VariableDeclaration>[];
@@ -4280,7 +4268,6 @@
           <Statement>[variableOrExpression, ...intermediateVariables!, result]);
     }
     if (variableOrExpression is ParserRecovery) {
-      // Coverage-ignore-block(suite): Not run.
       problemInLoopOrSwitch ??= buildProblemStatement(
           fasta.messageSyntheticToken, variableOrExpression.charOffset,
           suppressMessage: true);
@@ -4350,7 +4337,6 @@
     DartType typeArgument;
     if (typeArguments != null) {
       if (typeArguments.length > 1) {
-        // Coverage-ignore-block(suite): Not run.
         addProblem(
             fasta.messageListLiteralTooManyTypeArguments,
             offsetForToken(leftBracket),
@@ -4556,7 +4542,6 @@
     if (setOrMapEntries != null) {
       for (dynamic entry in setOrMapEntries) {
         if (entry is MapLiteralEntry) {
-          // Coverage-ignore-block(suite): Not run.
           // TODO(danrubel): report the error on the colon
           addProblem(fasta.templateExpectedButGot.withArguments(','),
               entry.fileOffset, 1);
@@ -4849,7 +4834,6 @@
     if (identifierCount == 1) {
       Object? part = pop();
       if (part is ParserRecovery) {
-        // Coverage-ignore-block(suite): Not run.
         push(new ParserErrorGenerator(
             this, hashToken, fasta.messageSyntheticToken));
       } else {
@@ -5255,7 +5239,6 @@
     debugEvent("ThrowExpression");
     Expression expression = popForValue();
     if (constantContext != ConstantContext.none) {
-      // Coverage-ignore-block(suite): Not run.
       push(buildProblem(
           fasta.templateNotConstantExpression.withArguments('Throw'),
           throwToken.offset,
@@ -6222,7 +6205,6 @@
     List<TypeBuilder>? typeArguments = pop() as List<TypeBuilder>?;
     if (inMetadata && typeArguments != null) {
       if (!libraryFeatures.genericMetadata.isEnabled) {
-        // Coverage-ignore-block(suite): Not run.
         handleRecoverableError(fasta.messageMetadataTypeArguments,
             nameLastToken.next!, nameLastToken.next!);
       }
@@ -6396,7 +6378,6 @@
                 target = null;
               } else if (constructorBuilder.isConstructor) {
                 if (typeDeclarationBuilder.isAbstract) {
-                  // Coverage-ignore-block(suite): Not run.
                   return evaluateArgumentsBefore(
                       arguments,
                       buildAbstractClassInstantiationError(
@@ -7631,7 +7612,6 @@
     JumpTarget breakTarget = exitBreakTarget()!;
     List<BreakStatementImpl>? continueStatements;
     if (continueTarget.hasUsers) {
-      // Coverage-ignore-block(suite): Not run.
       LabeledStatement labeledStatement = forest.createLabeledStatement(body);
       continueStatements =
           continueTarget.resolveContinues(forest, labeledStatement);
@@ -7662,7 +7642,6 @@
     typeInferrer.assignedVariables
         .storeInfo(forInStatement, assignedVariablesNodeInfo);
     if (continueStatements != null) {
-      // Coverage-ignore-block(suite): Not run.
       for (BreakStatementImpl continueStatement in continueStatements) {
         continueStatement.targetStatement = forInStatement;
       }
@@ -7755,7 +7734,6 @@
       push(forest.createRethrowStatement(
           offsetForToken(rethrowToken), offsetForToken(endToken)));
     } else {
-      // Coverage-ignore-block(suite): Not run.
       push(new ExpressionStatement(buildProblem(fasta.messageRethrowNotCatch,
           offsetForToken(rethrowToken), lengthForToken(rethrowToken)))
         ..fileOffset = offsetForToken(rethrowToken));
@@ -8589,14 +8567,12 @@
       push(problemInLoopOrSwitch = buildProblemStatement(
           fasta.messageBreakOutsideOfLoop, breakKeyword.charOffset));
     } else if (target == null || !target.isBreakTarget) {
-      // Coverage-ignore-block(suite): Not run.
       Token labelToken = breakKeyword.next!;
       push(problemInLoopOrSwitch = buildProblemStatement(
           fasta.templateInvalidBreakTarget.withArguments(name!),
           labelToken.charOffset,
           length: labelToken.length));
     } else if (target.functionNestingLevel != functionNestingLevel) {
-      // Coverage-ignore-block(suite): Not run.
       push(buildProblemTargetOutsideLocalFunction(name, breakKeyword));
     } else {
       Statement statement =
@@ -8606,7 +8582,6 @@
     }
   }
 
-  // Coverage-ignore(suite): Not run.
   Statement buildProblemTargetOutsideLocalFunction(
       String? name, Token keyword) {
     Statement problem;
@@ -8619,6 +8594,7 @@
           template.withArguments(name), offsetForToken(keyword),
           length: lengthOfSpan(keyword, keyword.next));
     } else {
+      // Coverage-ignore-block(suite): Not run.
       Message message = isBreak
           ? fasta.messageAnonymousBreakTargetOutsideFunction
           : fasta.messageAnonymousContinueTargetOutsideFunction;
@@ -8661,7 +8637,6 @@
       }
     }
     if (target == null) {
-      // Coverage-ignore-block(suite): Not run.
       push(problemInLoopOrSwitch = buildProblemStatement(
           fasta.messageContinueWithoutLabelInCase, continueKeyword.charOffset,
           length: continueKeyword.length));
@@ -8895,7 +8870,6 @@
         context: context, suppressMessage: suppressMessage));
   }
 
-  // Coverage-ignore(suite): Not run.
   Statement wrapInProblemStatement(Statement statement, Message message) {
     // TODO(askesc): Produce explicit error statement wrapping the original.
     // See [issue 29717](https://github.com/dart-lang/sdk/issues/29717)
@@ -9020,7 +8994,6 @@
           DartType fieldType = _context.substituteFieldType(builder.fieldType);
           if (!typeEnvironment.isSubtypeOf(
               formalType, fieldType, SubtypeCheckMode.withNullabilities)) {
-            // Coverage-ignore-block(suite): Not run.
             libraryBuilder.addProblem(
                 fasta.templateInitializingFormalTypeMismatch
                     .withArguments(name, formalType, builder.fieldType),
diff --git a/pkg/front_end/lib/src/source/source_field_builder.dart b/pkg/front_end/lib/src/source/source_field_builder.dart
index d60b640..8612580 100644
--- a/pkg/front_end/lib/src/source/source_field_builder.dart
+++ b/pkg/front_end/lib/src/source/source_field_builder.dart
@@ -355,7 +355,6 @@
     hasBodyBeenBuilt = true;
     if (!hasInitializer &&
         initializer != null &&
-        // Coverage-ignore(suite): Not run.
         initializer is! NullLiteral &&
         // Coverage-ignore(suite): Not run.
         !isConst &&
diff --git a/pkg/front_end/lib/src/type_inference/inference_visitor.dart b/pkg/front_end/lib/src/type_inference/inference_visitor.dart
index 7fe8e3ea..f09b6fe 100644
--- a/pkg/front_end/lib/src/type_inference/inference_visitor.dart
+++ b/pkg/front_end/lib/src/type_inference/inference_visitor.dart
@@ -2224,7 +2224,6 @@
 
     int? intValue = node.asInt64();
     if (intValue == null) {
-      // Coverage-ignore-block(suite): Not run.
       Expression replacement = helper.buildProblem(
           templateIntegerLiteralIsOutOfRange.withArguments(node.literal),
           node.fileOffset,
@@ -2815,7 +2814,6 @@
               inferredConditionTypes);
         }
         if (otherwise is ControlFlowElement) {
-          // Coverage-ignore-block(suite): Not run.
           checkElement(otherwise, item, typeArgument, inferredSpreadTypes,
               inferredConditionTypes);
         }
@@ -9841,7 +9839,6 @@
           }
           int? intValue = receiver.asInt64(negated: true);
           if (intValue == null) {
-            // Coverage-ignore-block(suite): Not run.
             Expression error = helper.buildProblem(
                 templateIntegerLiteralIsOutOfRange
                     .withArguments(receiver.literal),
diff --git a/pkg/front_end/test/coverage_suite_expected.dart b/pkg/front_end/test/coverage_suite_expected.dart
index 05ec0cc..995d728 100644
--- a/pkg/front_end/test/coverage_suite_expected.dart
+++ b/pkg/front_end/test/coverage_suite_expected.dart
@@ -480,7 +480,7 @@
   ),
   // 100.0%.
   "package:front_end/src/kernel/body_builder.dart": (
-    hitCount: 6831,
+    hitCount: 6954,
     missCount: 0,
   ),
   // 100.0%.
@@ -490,7 +490,7 @@
   ),
   // 100.0%.
   "package:front_end/src/kernel/collections.dart": (
-    hitCount: 326,
+    hitCount: 329,
     missCount: 0,
   ),
   // 100.0%.
@@ -836,7 +836,7 @@
   ),
   // 100.0%.
   "package:front_end/src/source/source_field_builder.dart": (
-    hitCount: 1180,
+    hitCount: 1181,
     missCount: 0,
   ),
   // 100.0%.
@@ -911,7 +911,7 @@
   ),
   // 100.0%.
   "package:front_end/src/type_inference/inference_visitor.dart": (
-    hitCount: 8044,
+    hitCount: 8081,
     missCount: 0,
   ),
   // 100.0%.
diff --git a/pkg/front_end/testcases/coverage/bad_literal_symbol.dart b/pkg/front_end/testcases/coverage/bad_literal_symbol.dart
new file mode 100644
index 0000000..7aa39f7
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/bad_literal_symbol.dart
@@ -0,0 +1,8 @@
+// Copyright (c) 2024, 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.
+
+void foo() {
+  print(#Bla); // OK
+  print(#!); // Error
+}
\ No newline at end of file
diff --git a/pkg/front_end/testcases/coverage/bad_literal_symbol.dart.strong.expect b/pkg/front_end/testcases/coverage/bad_literal_symbol.dart.strong.expect
new file mode 100644
index 0000000..2372b71
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/bad_literal_symbol.dart.strong.expect
@@ -0,0 +1,22 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/bad_literal_symbol.dart:7:10: Error: Expected an identifier, but got '!'.
+// Try inserting an identifier before '!'.
+//   print(#!); // Error
+//          ^
+//
+import self as self;
+import "dart:core" as core;
+
+static method foo() → void {
+  core::print(#C1);
+  core::print(invalid-expression "pkg/front_end/testcases/coverage/bad_literal_symbol.dart:7:9: Error: This couldn't be parsed.
+  print(#!); // Error
+        ^"!);
+}
+
+constants  {
+  #C1 = #Bla
+}
diff --git a/pkg/front_end/testcases/coverage/bad_literal_symbol.dart.strong.modular.expect b/pkg/front_end/testcases/coverage/bad_literal_symbol.dart.strong.modular.expect
new file mode 100644
index 0000000..2372b71
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/bad_literal_symbol.dart.strong.modular.expect
@@ -0,0 +1,22 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/bad_literal_symbol.dart:7:10: Error: Expected an identifier, but got '!'.
+// Try inserting an identifier before '!'.
+//   print(#!); // Error
+//          ^
+//
+import self as self;
+import "dart:core" as core;
+
+static method foo() → void {
+  core::print(#C1);
+  core::print(invalid-expression "pkg/front_end/testcases/coverage/bad_literal_symbol.dart:7:9: Error: This couldn't be parsed.
+  print(#!); // Error
+        ^"!);
+}
+
+constants  {
+  #C1 = #Bla
+}
diff --git a/pkg/front_end/testcases/coverage/bad_literal_symbol.dart.strong.outline.expect b/pkg/front_end/testcases/coverage/bad_literal_symbol.dart.strong.outline.expect
new file mode 100644
index 0000000..4a8528a
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/bad_literal_symbol.dart.strong.outline.expect
@@ -0,0 +1,5 @@
+library;
+import self as self;
+
+static method foo() → void
+  ;
diff --git a/pkg/front_end/testcases/coverage/bad_literal_symbol.dart.strong.transformed.expect b/pkg/front_end/testcases/coverage/bad_literal_symbol.dart.strong.transformed.expect
new file mode 100644
index 0000000..2372b71
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/bad_literal_symbol.dart.strong.transformed.expect
@@ -0,0 +1,22 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/bad_literal_symbol.dart:7:10: Error: Expected an identifier, but got '!'.
+// Try inserting an identifier before '!'.
+//   print(#!); // Error
+//          ^
+//
+import self as self;
+import "dart:core" as core;
+
+static method foo() → void {
+  core::print(#C1);
+  core::print(invalid-expression "pkg/front_end/testcases/coverage/bad_literal_symbol.dart:7:9: Error: This couldn't be parsed.
+  print(#!); // Error
+        ^"!);
+}
+
+constants  {
+  #C1 = #Bla
+}
diff --git a/pkg/front_end/testcases/coverage/bad_literal_symbol.dart.textual_outline.expect b/pkg/front_end/testcases/coverage/bad_literal_symbol.dart.textual_outline.expect
new file mode 100644
index 0000000..85e6cd8
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/bad_literal_symbol.dart.textual_outline.expect
@@ -0,0 +1 @@
+void foo() {}
diff --git a/pkg/front_end/testcases/coverage/bad_literal_symbol.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/coverage/bad_literal_symbol.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..85e6cd8
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/bad_literal_symbol.dart.textual_outline_modelled.expect
@@ -0,0 +1 @@
+void foo() {}
diff --git a/pkg/front_end/testcases/coverage/const_equals_throw.dart b/pkg/front_end/testcases/coverage/const_equals_throw.dart
new file mode 100644
index 0000000..bf60f3e
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/const_equals_throw.dart
@@ -0,0 +1,7 @@
+// Copyright (c) 2024, 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.
+
+// Based on tests/language/compile_time_constant/r_test.dart
+
+const x = throw "x"; // Error
diff --git a/pkg/front_end/testcases/coverage/const_equals_throw.dart.strong.expect b/pkg/front_end/testcases/coverage/const_equals_throw.dart.strong.expect
new file mode 100644
index 0000000..014366d
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/const_equals_throw.dart.strong.expect
@@ -0,0 +1,13 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/const_equals_throw.dart:7:11: Error: Throw is not a constant expression.
+// const x = throw "x"; // Error
+//           ^^^^^
+//
+import self as self;
+
+static const field invalid-type x = invalid-expression "pkg/front_end/testcases/coverage/const_equals_throw.dart:7:11: Error: Throw is not a constant expression.
+const x = throw \"x\"; // Error
+          ^^^^^";
diff --git a/pkg/front_end/testcases/coverage/const_equals_throw.dart.strong.modular.expect b/pkg/front_end/testcases/coverage/const_equals_throw.dart.strong.modular.expect
new file mode 100644
index 0000000..014366d
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/const_equals_throw.dart.strong.modular.expect
@@ -0,0 +1,13 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/const_equals_throw.dart:7:11: Error: Throw is not a constant expression.
+// const x = throw "x"; // Error
+//           ^^^^^
+//
+import self as self;
+
+static const field invalid-type x = invalid-expression "pkg/front_end/testcases/coverage/const_equals_throw.dart:7:11: Error: Throw is not a constant expression.
+const x = throw \"x\"; // Error
+          ^^^^^";
diff --git a/pkg/front_end/testcases/coverage/const_equals_throw.dart.strong.outline.expect b/pkg/front_end/testcases/coverage/const_equals_throw.dart.strong.outline.expect
new file mode 100644
index 0000000..014366d
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/const_equals_throw.dart.strong.outline.expect
@@ -0,0 +1,13 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/const_equals_throw.dart:7:11: Error: Throw is not a constant expression.
+// const x = throw "x"; // Error
+//           ^^^^^
+//
+import self as self;
+
+static const field invalid-type x = invalid-expression "pkg/front_end/testcases/coverage/const_equals_throw.dart:7:11: Error: Throw is not a constant expression.
+const x = throw \"x\"; // Error
+          ^^^^^";
diff --git a/pkg/front_end/testcases/coverage/const_equals_throw.dart.strong.transformed.expect b/pkg/front_end/testcases/coverage/const_equals_throw.dart.strong.transformed.expect
new file mode 100644
index 0000000..014366d
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/const_equals_throw.dart.strong.transformed.expect
@@ -0,0 +1,13 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/const_equals_throw.dart:7:11: Error: Throw is not a constant expression.
+// const x = throw "x"; // Error
+//           ^^^^^
+//
+import self as self;
+
+static const field invalid-type x = invalid-expression "pkg/front_end/testcases/coverage/const_equals_throw.dart:7:11: Error: Throw is not a constant expression.
+const x = throw \"x\"; // Error
+          ^^^^^";
diff --git a/pkg/front_end/testcases/coverage/const_equals_throw.dart.textual_outline.expect b/pkg/front_end/testcases/coverage/const_equals_throw.dart.textual_outline.expect
new file mode 100644
index 0000000..0d5a9d7
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/const_equals_throw.dart.textual_outline.expect
@@ -0,0 +1 @@
+const x = throw "x";
diff --git a/pkg/front_end/testcases/coverage/const_equals_throw.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/coverage/const_equals_throw.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..0d5a9d7
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/const_equals_throw.dart.textual_outline_modelled.expect
@@ -0,0 +1 @@
+const x = throw "x";
diff --git a/pkg/front_end/testcases/coverage/const_field_without_initializer.dart b/pkg/front_end/testcases/coverage/const_field_without_initializer.dart
new file mode 100644
index 0000000..f2002d7
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/const_field_without_initializer.dart
@@ -0,0 +1,8 @@
+// Copyright (c) 2024, 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.
+
+// Based on tests/language/const/syntax_test.dart
+
+const F0 = 42; // OK
+const F1; // Error
diff --git a/pkg/front_end/testcases/coverage/const_field_without_initializer.dart.strong.expect b/pkg/front_end/testcases/coverage/const_field_without_initializer.dart.strong.expect
new file mode 100644
index 0000000..983ef19
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/const_field_without_initializer.dart.strong.expect
@@ -0,0 +1,19 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/const_field_without_initializer.dart:8:7: Error: The const variable 'F1' must be initialized.
+// Try adding an initializer ('= expression') to the declaration.
+// const F1; // Error
+//       ^^
+//
+import self as self;
+import "dart:core" as core;
+
+static const field core::int F0 = #C1;
+static const field dynamic F1 = #C2;
+
+constants  {
+  #C1 = 42
+  #C2 = null
+}
diff --git a/pkg/front_end/testcases/coverage/const_field_without_initializer.dart.strong.modular.expect b/pkg/front_end/testcases/coverage/const_field_without_initializer.dart.strong.modular.expect
new file mode 100644
index 0000000..983ef19
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/const_field_without_initializer.dart.strong.modular.expect
@@ -0,0 +1,19 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/const_field_without_initializer.dart:8:7: Error: The const variable 'F1' must be initialized.
+// Try adding an initializer ('= expression') to the declaration.
+// const F1; // Error
+//       ^^
+//
+import self as self;
+import "dart:core" as core;
+
+static const field core::int F0 = #C1;
+static const field dynamic F1 = #C2;
+
+constants  {
+  #C1 = 42
+  #C2 = null
+}
diff --git a/pkg/front_end/testcases/coverage/const_field_without_initializer.dart.strong.outline.expect b/pkg/front_end/testcases/coverage/const_field_without_initializer.dart.strong.outline.expect
new file mode 100644
index 0000000..742d467
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/const_field_without_initializer.dart.strong.outline.expect
@@ -0,0 +1,14 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/const_field_without_initializer.dart:8:7: Error: The const variable 'F1' must be initialized.
+// Try adding an initializer ('= expression') to the declaration.
+// const F1; // Error
+//       ^^
+//
+import self as self;
+import "dart:core" as core;
+
+static const field core::int F0 = 42;
+static const field dynamic F1;
diff --git a/pkg/front_end/testcases/coverage/const_field_without_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/coverage/const_field_without_initializer.dart.strong.transformed.expect
new file mode 100644
index 0000000..983ef19
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/const_field_without_initializer.dart.strong.transformed.expect
@@ -0,0 +1,19 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/const_field_without_initializer.dart:8:7: Error: The const variable 'F1' must be initialized.
+// Try adding an initializer ('= expression') to the declaration.
+// const F1; // Error
+//       ^^
+//
+import self as self;
+import "dart:core" as core;
+
+static const field core::int F0 = #C1;
+static const field dynamic F1 = #C2;
+
+constants  {
+  #C1 = 42
+  #C2 = null
+}
diff --git a/pkg/front_end/testcases/coverage/const_field_without_initializer.dart.textual_outline.expect b/pkg/front_end/testcases/coverage/const_field_without_initializer.dart.textual_outline.expect
new file mode 100644
index 0000000..72d2c43
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/const_field_without_initializer.dart.textual_outline.expect
@@ -0,0 +1,3 @@
+const F0 = 42;
+
+const F1;
diff --git a/pkg/front_end/testcases/coverage/const_field_without_initializer.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/coverage/const_field_without_initializer.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..72d2c43
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/const_field_without_initializer.dart.textual_outline_modelled.expect
@@ -0,0 +1,3 @@
+const F0 = 42;
+
+const F1;
diff --git a/pkg/front_end/testcases/coverage/duplicate_local_const.dart b/pkg/front_end/testcases/coverage/duplicate_local_const.dart
new file mode 100644
index 0000000..349b7d8
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/duplicate_local_const.dart
@@ -0,0 +1,8 @@
+// Copyright (c) 2024, 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.
+
+void test() {
+  const c07 = 1;
+  const c07 = 2;
+}
diff --git a/pkg/front_end/testcases/coverage/duplicate_local_const.dart.strong.expect b/pkg/front_end/testcases/coverage/duplicate_local_const.dart.strong.expect
new file mode 100644
index 0000000..6243099
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/duplicate_local_const.dart.strong.expect
@@ -0,0 +1,18 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/duplicate_local_const.dart:7:9: Error: 'c07' is already declared in this scope.
+//   const c07 = 2;
+//         ^^^
+// pkg/front_end/testcases/coverage/duplicate_local_const.dart:6:9: Context: Previous declaration of 'c07'.
+//   const c07 = 1;
+//         ^^^
+//
+import self as self;
+
+static method test() → void {
+  const invalid-type c07 = invalid-expression "pkg/front_end/testcases/coverage/duplicate_local_const.dart:7:9: Error: 'c07' is already declared in this scope.
+  const c07 = 2;
+        ^^^";
+}
diff --git a/pkg/front_end/testcases/coverage/duplicate_local_const.dart.strong.modular.expect b/pkg/front_end/testcases/coverage/duplicate_local_const.dart.strong.modular.expect
new file mode 100644
index 0000000..6243099
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/duplicate_local_const.dart.strong.modular.expect
@@ -0,0 +1,18 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/duplicate_local_const.dart:7:9: Error: 'c07' is already declared in this scope.
+//   const c07 = 2;
+//         ^^^
+// pkg/front_end/testcases/coverage/duplicate_local_const.dart:6:9: Context: Previous declaration of 'c07'.
+//   const c07 = 1;
+//         ^^^
+//
+import self as self;
+
+static method test() → void {
+  const invalid-type c07 = invalid-expression "pkg/front_end/testcases/coverage/duplicate_local_const.dart:7:9: Error: 'c07' is already declared in this scope.
+  const c07 = 2;
+        ^^^";
+}
diff --git a/pkg/front_end/testcases/coverage/duplicate_local_const.dart.strong.outline.expect b/pkg/front_end/testcases/coverage/duplicate_local_const.dart.strong.outline.expect
new file mode 100644
index 0000000..643a05a
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/duplicate_local_const.dart.strong.outline.expect
@@ -0,0 +1,5 @@
+library;
+import self as self;
+
+static method test() → void
+  ;
diff --git a/pkg/front_end/testcases/coverage/duplicate_local_const.dart.strong.transformed.expect b/pkg/front_end/testcases/coverage/duplicate_local_const.dart.strong.transformed.expect
new file mode 100644
index 0000000..6243099
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/duplicate_local_const.dart.strong.transformed.expect
@@ -0,0 +1,18 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/duplicate_local_const.dart:7:9: Error: 'c07' is already declared in this scope.
+//   const c07 = 2;
+//         ^^^
+// pkg/front_end/testcases/coverage/duplicate_local_const.dart:6:9: Context: Previous declaration of 'c07'.
+//   const c07 = 1;
+//         ^^^
+//
+import self as self;
+
+static method test() → void {
+  const invalid-type c07 = invalid-expression "pkg/front_end/testcases/coverage/duplicate_local_const.dart:7:9: Error: 'c07' is already declared in this scope.
+  const c07 = 2;
+        ^^^";
+}
diff --git a/pkg/front_end/testcases/coverage/duplicate_local_const.dart.textual_outline.expect b/pkg/front_end/testcases/coverage/duplicate_local_const.dart.textual_outline.expect
new file mode 100644
index 0000000..7da700f
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/duplicate_local_const.dart.textual_outline.expect
@@ -0,0 +1 @@
+void test() {}
diff --git a/pkg/front_end/testcases/coverage/duplicate_local_const.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/coverage/duplicate_local_const.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..7da700f
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/duplicate_local_const.dart.textual_outline_modelled.expect
@@ -0,0 +1 @@
+void test() {}
diff --git a/pkg/front_end/testcases/coverage/external_test.dart b/pkg/front_end/testcases/coverage/external_test.dart
new file mode 100644
index 0000000..ff3c2ad
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/external_test.dart
@@ -0,0 +1,12 @@
+// Copyright (c) 2024, 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.
+
+// Based on tests/language/unsorted/external_test.dart
+
+class Foo {
+  var x = -1;
+  Foo() : x = 0; // OK
+  external Foo.n24(this.x); // Error
+}
+
diff --git a/pkg/front_end/testcases/coverage/external_test.dart.strong.expect b/pkg/front_end/testcases/coverage/external_test.dart.strong.expect
new file mode 100644
index 0000000..455f779
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/external_test.dart.strong.expect
@@ -0,0 +1,23 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/external_test.dart:10:25: Error: An external constructor can't initialize fields.
+// Try removing the field initializers, or removing the keyword 'external'.
+//   external Foo.n24(this.x); // Error
+//                         ^
+//
+import self as self;
+import "dart:core" as core;
+
+class Foo extends core::Object {
+  field core::int x = 1.{core::int::unary-}(){() → core::int};
+  constructor •() → self::Foo
+    : self::Foo::x = 0, super core::Object::•()
+    ;
+  external constructor n24(core::int x) → self::Foo
+    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/coverage/external_test.dart:10:25: Error: An external constructor can't initialize fields.
+Try removing the field initializers, or removing the keyword 'external'.
+  external Foo.n24(this.x); // Error
+                        ^";
+}
diff --git a/pkg/front_end/testcases/coverage/external_test.dart.strong.modular.expect b/pkg/front_end/testcases/coverage/external_test.dart.strong.modular.expect
new file mode 100644
index 0000000..455f779
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/external_test.dart.strong.modular.expect
@@ -0,0 +1,23 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/external_test.dart:10:25: Error: An external constructor can't initialize fields.
+// Try removing the field initializers, or removing the keyword 'external'.
+//   external Foo.n24(this.x); // Error
+//                         ^
+//
+import self as self;
+import "dart:core" as core;
+
+class Foo extends core::Object {
+  field core::int x = 1.{core::int::unary-}(){() → core::int};
+  constructor •() → self::Foo
+    : self::Foo::x = 0, super core::Object::•()
+    ;
+  external constructor n24(core::int x) → self::Foo
+    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/coverage/external_test.dart:10:25: Error: An external constructor can't initialize fields.
+Try removing the field initializers, or removing the keyword 'external'.
+  external Foo.n24(this.x); // Error
+                        ^";
+}
diff --git a/pkg/front_end/testcases/coverage/external_test.dart.strong.outline.expect b/pkg/front_end/testcases/coverage/external_test.dart.strong.outline.expect
new file mode 100644
index 0000000..bb73a5f
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/external_test.dart.strong.outline.expect
@@ -0,0 +1,10 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+class Foo extends core::Object {
+  field core::int x;
+  constructor •() → self::Foo
+    ;
+  external constructor n24(core::int x) → self::Foo;
+}
diff --git a/pkg/front_end/testcases/coverage/external_test.dart.strong.transformed.expect b/pkg/front_end/testcases/coverage/external_test.dart.strong.transformed.expect
new file mode 100644
index 0000000..4796a15
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/external_test.dart.strong.transformed.expect
@@ -0,0 +1,28 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/external_test.dart:10:25: Error: An external constructor can't initialize fields.
+// Try removing the field initializers, or removing the keyword 'external'.
+//   external Foo.n24(this.x); // Error
+//                         ^
+//
+import self as self;
+import "dart:core" as core;
+
+class Foo extends core::Object {
+  field core::int x = 1.{core::int::unary-}(){() → core::int};
+  constructor •() → self::Foo
+    : self::Foo::x = 0, super core::Object::•()
+    ;
+  external constructor n24(core::int x) → self::Foo
+    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/coverage/external_test.dart:10:25: Error: An external constructor can't initialize fields.
+Try removing the field initializers, or removing the keyword 'external'.
+  external Foo.n24(this.x); // Error
+                        ^";
+}
+
+
+Extra constant evaluation status:
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///external_test.dart:8:11 -> IntConstant(-1)
+Extra constant evaluation: evaluated: 1, effectively constant: 1
diff --git a/pkg/front_end/testcases/coverage/external_test.dart.textual_outline.expect b/pkg/front_end/testcases/coverage/external_test.dart.textual_outline.expect
new file mode 100644
index 0000000..dee2a5a
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/external_test.dart.textual_outline.expect
@@ -0,0 +1,5 @@
+class Foo {
+  var x = -1;
+  Foo() : x = 0;
+  external Foo.n24(this.x);
+}
diff --git a/pkg/front_end/testcases/coverage/for_in_label_test.dart b/pkg/front_end/testcases/coverage/for_in_label_test.dart
new file mode 100644
index 0000000..a580b4a
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/for_in_label_test.dart
@@ -0,0 +1,13 @@
+// Copyright (c) 2024, 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.
+
+// Based on tests/language/library/env_test.dart
+
+void foo() {
+  for(int x in [1, 2, 3, 4]) {
+    if (x == 2) continue;
+    if (x == 3) break;
+    print("Hello $x");
+  }
+}
diff --git a/pkg/front_end/testcases/coverage/for_in_label_test.dart.strong.expect b/pkg/front_end/testcases/coverage/for_in_label_test.dart.strong.expect
new file mode 100644
index 0000000..e5064c3
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/for_in_label_test.dart.strong.expect
@@ -0,0 +1,16 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+static method foo() → void {
+  #L1:
+  for (core::int x in <core::int>[1, 2, 3, 4])
+    #L2:
+    {
+      if(x =={core::num::==}{(core::Object) → core::bool} 2)
+        break #L2;
+      if(x =={core::num::==}{(core::Object) → core::bool} 3)
+        break #L1;
+      core::print("Hello ${x}");
+    }
+}
diff --git a/pkg/front_end/testcases/coverage/for_in_label_test.dart.strong.modular.expect b/pkg/front_end/testcases/coverage/for_in_label_test.dart.strong.modular.expect
new file mode 100644
index 0000000..e5064c3
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/for_in_label_test.dart.strong.modular.expect
@@ -0,0 +1,16 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+static method foo() → void {
+  #L1:
+  for (core::int x in <core::int>[1, 2, 3, 4])
+    #L2:
+    {
+      if(x =={core::num::==}{(core::Object) → core::bool} 2)
+        break #L2;
+      if(x =={core::num::==}{(core::Object) → core::bool} 3)
+        break #L1;
+      core::print("Hello ${x}");
+    }
+}
diff --git a/pkg/front_end/testcases/coverage/for_in_label_test.dart.strong.outline.expect b/pkg/front_end/testcases/coverage/for_in_label_test.dart.strong.outline.expect
new file mode 100644
index 0000000..4a8528a
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/for_in_label_test.dart.strong.outline.expect
@@ -0,0 +1,5 @@
+library;
+import self as self;
+
+static method foo() → void
+  ;
diff --git a/pkg/front_end/testcases/coverage/for_in_label_test.dart.strong.transformed.expect b/pkg/front_end/testcases/coverage/for_in_label_test.dart.strong.transformed.expect
new file mode 100644
index 0000000..3d7a626
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/for_in_label_test.dart.strong.transformed.expect
@@ -0,0 +1,21 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+static method foo() → void {
+  #L1:
+  {
+    synthesized core::Iterator<core::int> :sync-for-iterator = core::_GrowableList::_literal4<core::int>(1, 2, 3, 4).{core::Iterable::iterator}{core::Iterator<core::int>};
+    for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+      core::int x = :sync-for-iterator.{core::Iterator::current}{core::int};
+      #L2:
+      {
+        if(x =={core::num::==}{(core::Object) → core::bool} 2)
+          break #L2;
+        if(x =={core::num::==}{(core::Object) → core::bool} 3)
+          break #L1;
+        core::print("Hello ${x}");
+      }
+    }
+  }
+}
diff --git a/pkg/front_end/testcases/coverage/for_in_label_test.dart.textual_outline.expect b/pkg/front_end/testcases/coverage/for_in_label_test.dart.textual_outline.expect
new file mode 100644
index 0000000..85e6cd8
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/for_in_label_test.dart.textual_outline.expect
@@ -0,0 +1 @@
+void foo() {}
diff --git a/pkg/front_end/testcases/coverage/for_in_label_test.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/coverage/for_in_label_test.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..85e6cd8
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/for_in_label_test.dart.textual_outline_modelled.expect
@@ -0,0 +1 @@
+void foo() {}
diff --git a/pkg/front_end/testcases/coverage/generic_usage_function_error_test.dart b/pkg/front_end/testcases/coverage/generic_usage_function_error_test.dart
new file mode 100644
index 0000000..b0a3aec
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/generic_usage_function_error_test.dart
@@ -0,0 +1,13 @@
+// Copyright (c) 2024, 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.
+
+// Based on tests/language/nonfunction_type_aliases/generic_usage_function_error_test.dart
+
+typedef T<X> = Function;
+
+abstract class C {
+  final T<Null> v7;
+
+  C() : v7 = T(); // Error
+}
diff --git a/pkg/front_end/testcases/coverage/generic_usage_function_error_test.dart.strong.expect b/pkg/front_end/testcases/coverage/generic_usage_function_error_test.dart.strong.expect
new file mode 100644
index 0000000..b39024c
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/generic_usage_function_error_test.dart.strong.expect
@@ -0,0 +1,18 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/generic_usage_function_error_test.dart:12:14: Error: The class 'Function' is abstract and can't be instantiated.
+//   C() : v7 = T(); // Error
+//              ^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+typedef T<unrelated X extends core::Object? = dynamic> = core::Function;
+abstract class C extends core::Object {
+  final field core::Function v7;
+  constructor •() → self::C
+    : self::C::v7 = invalid-expression "The class 'Function' is abstract and can't be instantiated.", super core::Object::•()
+    ;
+}
diff --git a/pkg/front_end/testcases/coverage/generic_usage_function_error_test.dart.strong.modular.expect b/pkg/front_end/testcases/coverage/generic_usage_function_error_test.dart.strong.modular.expect
new file mode 100644
index 0000000..b39024c
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/generic_usage_function_error_test.dart.strong.modular.expect
@@ -0,0 +1,18 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/generic_usage_function_error_test.dart:12:14: Error: The class 'Function' is abstract and can't be instantiated.
+//   C() : v7 = T(); // Error
+//              ^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+typedef T<unrelated X extends core::Object? = dynamic> = core::Function;
+abstract class C extends core::Object {
+  final field core::Function v7;
+  constructor •() → self::C
+    : self::C::v7 = invalid-expression "The class 'Function' is abstract and can't be instantiated.", super core::Object::•()
+    ;
+}
diff --git a/pkg/front_end/testcases/coverage/generic_usage_function_error_test.dart.strong.outline.expect b/pkg/front_end/testcases/coverage/generic_usage_function_error_test.dart.strong.outline.expect
new file mode 100644
index 0000000..612dd39
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/generic_usage_function_error_test.dart.strong.outline.expect
@@ -0,0 +1,10 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+typedef T<unrelated X extends core::Object? = dynamic> = core::Function;
+abstract class C extends core::Object {
+  final field core::Function v7;
+  constructor •() → self::C
+    ;
+}
diff --git a/pkg/front_end/testcases/coverage/generic_usage_function_error_test.dart.strong.transformed.expect b/pkg/front_end/testcases/coverage/generic_usage_function_error_test.dart.strong.transformed.expect
new file mode 100644
index 0000000..b39024c
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/generic_usage_function_error_test.dart.strong.transformed.expect
@@ -0,0 +1,18 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/generic_usage_function_error_test.dart:12:14: Error: The class 'Function' is abstract and can't be instantiated.
+//   C() : v7 = T(); // Error
+//              ^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+typedef T<unrelated X extends core::Object? = dynamic> = core::Function;
+abstract class C extends core::Object {
+  final field core::Function v7;
+  constructor •() → self::C
+    : self::C::v7 = invalid-expression "The class 'Function' is abstract and can't be instantiated.", super core::Object::•()
+    ;
+}
diff --git a/pkg/front_end/testcases/coverage/generic_usage_function_error_test.dart.textual_outline.expect b/pkg/front_end/testcases/coverage/generic_usage_function_error_test.dart.textual_outline.expect
new file mode 100644
index 0000000..59861f9c
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/generic_usage_function_error_test.dart.textual_outline.expect
@@ -0,0 +1,6 @@
+typedef T<X> = Function;
+
+abstract class C {
+  final T<Null> v7;
+  C() : v7 = T();
+}
diff --git a/pkg/front_end/testcases/coverage/generic_usage_function_error_test.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/coverage/generic_usage_function_error_test.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..d775ca5
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/generic_usage_function_error_test.dart.textual_outline_modelled.expect
@@ -0,0 +1,6 @@
+abstract class C {
+  C() : v7 = T();
+  final T<Null> v7;
+}
+
+typedef T<X> = Function;
diff --git a/pkg/front_end/testcases/coverage/int64_literal_test.dart b/pkg/front_end/testcases/coverage/int64_literal_test.dart
new file mode 100644
index 0000000..be0b4a0
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/int64_literal_test.dart
@@ -0,0 +1,28 @@
+// Copyright (c) 2024, 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.
+
+// Based on tests/language/number/int64_literal_test.dart
+
+const int i21 = 2097152;
+
+void foo() {
+  int minInt64Value = -1 * i21 * i21 * i21; // OK
+  minInt64Value = -9223372036854775807 - 1; // OK
+  minInt64Value = -9223372036854775808; // OK
+  minInt64Value = -(9223372036854775808); // Error
+  minInt64Value = -(0x8000000000000000); // OK
+  minInt64Value = 0x8000000000000000; // OK
+  minInt64Value = -0x8000000000000000; // OK
+
+  int maxInt64Value = 1 * i21 * i21 * i21 - 1; // OK
+  maxInt64Value = 9223372036854775807; // OK
+  maxInt64Value = 9223372036854775807; // OK
+  maxInt64Value = 9223372036854775808 - 1; // Error
+  maxInt64Value = -9223372036854775808 - 1; // OK
+  maxInt64Value = -9223372036854775809; // Error
+  maxInt64Value = 0x8000000000000000 - 1; // OK
+  maxInt64Value = -0x8000000000000000 - 1; // OK
+  maxInt64Value = -0x8000000000000001; // Error
+  maxInt64Value = -(0x8000000000000001); // OK
+}
diff --git a/pkg/front_end/testcases/coverage/int64_literal_test.dart.strong.expect b/pkg/front_end/testcases/coverage/int64_literal_test.dart.strong.expect
new file mode 100644
index 0000000..e0a66fb
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/int64_literal_test.dart.strong.expect
@@ -0,0 +1,63 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/int64_literal_test.dart:13:21: Error: The integer literal 9223372036854775808 can't be represented in 64 bits.
+// Try using the BigInt class if you need an integer larger than 9,223,372,036,854,775,807 or less than -9,223,372,036,854,775,808.
+//   minInt64Value = -(9223372036854775808); // Error
+//                     ^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/coverage/int64_literal_test.dart:21:19: Error: The integer literal 9223372036854775808 can't be represented in 64 bits.
+// Try using the BigInt class if you need an integer larger than 9,223,372,036,854,775,807 or less than -9,223,372,036,854,775,808.
+//   maxInt64Value = 9223372036854775808 - 1; // Error
+//                   ^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/coverage/int64_literal_test.dart:23:20: Error: The integer literal 9223372036854775809 can't be represented in 64 bits.
+// Try using the BigInt class if you need an integer larger than 9,223,372,036,854,775,807 or less than -9,223,372,036,854,775,808.
+//   maxInt64Value = -9223372036854775809; // Error
+//                    ^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/coverage/int64_literal_test.dart:26:20: Error: The integer literal 0x8000000000000001 can't be represented in 64 bits.
+// Try using the BigInt class if you need an integer larger than 9,223,372,036,854,775,807 or less than -9,223,372,036,854,775,808.
+//   maxInt64Value = -0x8000000000000001; // Error
+//                    ^^^^^^^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+static const field core::int i21 = #C1;
+static method foo() → void {
+  core::int minInt64Value = 1.{core::int::unary-}(){() → core::int}.{core::num::*}(#C1){(core::num) → core::int}.{core::num::*}(#C1){(core::num) → core::int}.{core::num::*}(#C1){(core::num) → core::int};
+  minInt64Value = 9223372036854775807.{core::int::unary-}(){() → core::int}.{core::num::-}(1){(core::num) → core::int};
+  minInt64Value = -9223372036854775808.{core::int::unary-}(){() → core::int};
+  minInt64Value = invalid-expression "pkg/front_end/testcases/coverage/int64_literal_test.dart:13:21: Error: The integer literal 9223372036854775808 can't be represented in 64 bits.
+Try using the BigInt class if you need an integer larger than 9,223,372,036,854,775,807 or less than -9,223,372,036,854,775,808.
+  minInt64Value = -(9223372036854775808); // Error
+                    ^^^^^^^^^^^^^^^^^^^"{dynamic}.unary-() as{TypeError,ForDynamic} core::int;
+  minInt64Value = -9223372036854775808.{core::int::unary-}(){() → core::int};
+  minInt64Value = -9223372036854775808;
+  minInt64Value = -9223372036854775808.{core::int::unary-}(){() → core::int};
+  core::int maxInt64Value = 1.{core::num::*}(#C1){(core::num) → core::int}.{core::num::*}(#C1){(core::num) → core::int}.{core::num::*}(#C1){(core::num) → core::int}.{core::num::-}(1){(core::num) → core::int};
+  maxInt64Value = 9223372036854775807;
+  maxInt64Value = 9223372036854775807;
+  maxInt64Value = invalid-expression "pkg/front_end/testcases/coverage/int64_literal_test.dart:21:19: Error: The integer literal 9223372036854775808 can't be represented in 64 bits.
+Try using the BigInt class if you need an integer larger than 9,223,372,036,854,775,807 or less than -9,223,372,036,854,775,808.
+  maxInt64Value = 9223372036854775808 - 1; // Error
+                  ^^^^^^^^^^^^^^^^^^^"{dynamic}.-(1) as{TypeError,ForDynamic} core::int;
+  maxInt64Value = -9223372036854775808.{core::int::unary-}(){() → core::int}.{core::num::-}(1){(core::num) → core::int};
+  maxInt64Value = invalid-expression "pkg/front_end/testcases/coverage/int64_literal_test.dart:23:20: Error: The integer literal 9223372036854775809 can't be represented in 64 bits.
+Try using the BigInt class if you need an integer larger than 9,223,372,036,854,775,807 or less than -9,223,372,036,854,775,808.
+  maxInt64Value = -9223372036854775809; // Error
+                   ^^^^^^^^^^^^^^^^^^^" as{TypeError,ForDynamic} core::int;
+  maxInt64Value = -9223372036854775808.{core::num::-}(1){(core::num) → core::int};
+  maxInt64Value = -9223372036854775808.{core::int::unary-}(){() → core::int}.{core::num::-}(1){(core::num) → core::int};
+  maxInt64Value = invalid-expression "pkg/front_end/testcases/coverage/int64_literal_test.dart:26:20: Error: The integer literal 0x8000000000000001 can't be represented in 64 bits.
+Try using the BigInt class if you need an integer larger than 9,223,372,036,854,775,807 or less than -9,223,372,036,854,775,808.
+  maxInt64Value = -0x8000000000000001; // Error
+                   ^^^^^^^^^^^^^^^^^^" as{TypeError,ForDynamic} core::int;
+  maxInt64Value = -9223372036854775807.{core::int::unary-}(){() → core::int};
+}
+
+constants  {
+  #C1 = 2097152
+}
diff --git a/pkg/front_end/testcases/coverage/int64_literal_test.dart.strong.modular.expect b/pkg/front_end/testcases/coverage/int64_literal_test.dart.strong.modular.expect
new file mode 100644
index 0000000..e0a66fb
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/int64_literal_test.dart.strong.modular.expect
@@ -0,0 +1,63 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/int64_literal_test.dart:13:21: Error: The integer literal 9223372036854775808 can't be represented in 64 bits.
+// Try using the BigInt class if you need an integer larger than 9,223,372,036,854,775,807 or less than -9,223,372,036,854,775,808.
+//   minInt64Value = -(9223372036854775808); // Error
+//                     ^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/coverage/int64_literal_test.dart:21:19: Error: The integer literal 9223372036854775808 can't be represented in 64 bits.
+// Try using the BigInt class if you need an integer larger than 9,223,372,036,854,775,807 or less than -9,223,372,036,854,775,808.
+//   maxInt64Value = 9223372036854775808 - 1; // Error
+//                   ^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/coverage/int64_literal_test.dart:23:20: Error: The integer literal 9223372036854775809 can't be represented in 64 bits.
+// Try using the BigInt class if you need an integer larger than 9,223,372,036,854,775,807 or less than -9,223,372,036,854,775,808.
+//   maxInt64Value = -9223372036854775809; // Error
+//                    ^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/coverage/int64_literal_test.dart:26:20: Error: The integer literal 0x8000000000000001 can't be represented in 64 bits.
+// Try using the BigInt class if you need an integer larger than 9,223,372,036,854,775,807 or less than -9,223,372,036,854,775,808.
+//   maxInt64Value = -0x8000000000000001; // Error
+//                    ^^^^^^^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+static const field core::int i21 = #C1;
+static method foo() → void {
+  core::int minInt64Value = 1.{core::int::unary-}(){() → core::int}.{core::num::*}(#C1){(core::num) → core::int}.{core::num::*}(#C1){(core::num) → core::int}.{core::num::*}(#C1){(core::num) → core::int};
+  minInt64Value = 9223372036854775807.{core::int::unary-}(){() → core::int}.{core::num::-}(1){(core::num) → core::int};
+  minInt64Value = -9223372036854775808.{core::int::unary-}(){() → core::int};
+  minInt64Value = invalid-expression "pkg/front_end/testcases/coverage/int64_literal_test.dart:13:21: Error: The integer literal 9223372036854775808 can't be represented in 64 bits.
+Try using the BigInt class if you need an integer larger than 9,223,372,036,854,775,807 or less than -9,223,372,036,854,775,808.
+  minInt64Value = -(9223372036854775808); // Error
+                    ^^^^^^^^^^^^^^^^^^^"{dynamic}.unary-() as{TypeError,ForDynamic} core::int;
+  minInt64Value = -9223372036854775808.{core::int::unary-}(){() → core::int};
+  minInt64Value = -9223372036854775808;
+  minInt64Value = -9223372036854775808.{core::int::unary-}(){() → core::int};
+  core::int maxInt64Value = 1.{core::num::*}(#C1){(core::num) → core::int}.{core::num::*}(#C1){(core::num) → core::int}.{core::num::*}(#C1){(core::num) → core::int}.{core::num::-}(1){(core::num) → core::int};
+  maxInt64Value = 9223372036854775807;
+  maxInt64Value = 9223372036854775807;
+  maxInt64Value = invalid-expression "pkg/front_end/testcases/coverage/int64_literal_test.dart:21:19: Error: The integer literal 9223372036854775808 can't be represented in 64 bits.
+Try using the BigInt class if you need an integer larger than 9,223,372,036,854,775,807 or less than -9,223,372,036,854,775,808.
+  maxInt64Value = 9223372036854775808 - 1; // Error
+                  ^^^^^^^^^^^^^^^^^^^"{dynamic}.-(1) as{TypeError,ForDynamic} core::int;
+  maxInt64Value = -9223372036854775808.{core::int::unary-}(){() → core::int}.{core::num::-}(1){(core::num) → core::int};
+  maxInt64Value = invalid-expression "pkg/front_end/testcases/coverage/int64_literal_test.dart:23:20: Error: The integer literal 9223372036854775809 can't be represented in 64 bits.
+Try using the BigInt class if you need an integer larger than 9,223,372,036,854,775,807 or less than -9,223,372,036,854,775,808.
+  maxInt64Value = -9223372036854775809; // Error
+                   ^^^^^^^^^^^^^^^^^^^" as{TypeError,ForDynamic} core::int;
+  maxInt64Value = -9223372036854775808.{core::num::-}(1){(core::num) → core::int};
+  maxInt64Value = -9223372036854775808.{core::int::unary-}(){() → core::int}.{core::num::-}(1){(core::num) → core::int};
+  maxInt64Value = invalid-expression "pkg/front_end/testcases/coverage/int64_literal_test.dart:26:20: Error: The integer literal 0x8000000000000001 can't be represented in 64 bits.
+Try using the BigInt class if you need an integer larger than 9,223,372,036,854,775,807 or less than -9,223,372,036,854,775,808.
+  maxInt64Value = -0x8000000000000001; // Error
+                   ^^^^^^^^^^^^^^^^^^" as{TypeError,ForDynamic} core::int;
+  maxInt64Value = -9223372036854775807.{core::int::unary-}(){() → core::int};
+}
+
+constants  {
+  #C1 = 2097152
+}
diff --git a/pkg/front_end/testcases/coverage/int64_literal_test.dart.strong.outline.expect b/pkg/front_end/testcases/coverage/int64_literal_test.dart.strong.outline.expect
new file mode 100644
index 0000000..e259bb4
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/int64_literal_test.dart.strong.outline.expect
@@ -0,0 +1,7 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+static const field core::int i21 = 2097152;
+static method foo() → void
+  ;
diff --git a/pkg/front_end/testcases/coverage/int64_literal_test.dart.strong.transformed.expect b/pkg/front_end/testcases/coverage/int64_literal_test.dart.strong.transformed.expect
new file mode 100644
index 0000000..f8aa259
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/int64_literal_test.dart.strong.transformed.expect
@@ -0,0 +1,76 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/int64_literal_test.dart:13:21: Error: The integer literal 9223372036854775808 can't be represented in 64 bits.
+// Try using the BigInt class if you need an integer larger than 9,223,372,036,854,775,807 or less than -9,223,372,036,854,775,808.
+//   minInt64Value = -(9223372036854775808); // Error
+//                     ^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/coverage/int64_literal_test.dart:21:19: Error: The integer literal 9223372036854775808 can't be represented in 64 bits.
+// Try using the BigInt class if you need an integer larger than 9,223,372,036,854,775,807 or less than -9,223,372,036,854,775,808.
+//   maxInt64Value = 9223372036854775808 - 1; // Error
+//                   ^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/coverage/int64_literal_test.dart:23:20: Error: The integer literal 9223372036854775809 can't be represented in 64 bits.
+// Try using the BigInt class if you need an integer larger than 9,223,372,036,854,775,807 or less than -9,223,372,036,854,775,808.
+//   maxInt64Value = -9223372036854775809; // Error
+//                    ^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/coverage/int64_literal_test.dart:26:20: Error: The integer literal 0x8000000000000001 can't be represented in 64 bits.
+// Try using the BigInt class if you need an integer larger than 9,223,372,036,854,775,807 or less than -9,223,372,036,854,775,808.
+//   maxInt64Value = -0x8000000000000001; // Error
+//                    ^^^^^^^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+static const field core::int i21 = #C1;
+static method foo() → void {
+  core::int minInt64Value = 1.{core::int::unary-}(){() → core::int}.{core::num::*}(#C1){(core::num) → core::int}.{core::num::*}(#C1){(core::num) → core::int}.{core::num::*}(#C1){(core::num) → core::int};
+  minInt64Value = 9223372036854775807.{core::int::unary-}(){() → core::int}.{core::num::-}(1){(core::num) → core::int};
+  minInt64Value = -9223372036854775808.{core::int::unary-}(){() → core::int};
+  minInt64Value = invalid-expression "pkg/front_end/testcases/coverage/int64_literal_test.dart:13:21: Error: The integer literal 9223372036854775808 can't be represented in 64 bits.
+Try using the BigInt class if you need an integer larger than 9,223,372,036,854,775,807 or less than -9,223,372,036,854,775,808.
+  minInt64Value = -(9223372036854775808); // Error
+                    ^^^^^^^^^^^^^^^^^^^"{dynamic}.unary-() as{TypeError,ForDynamic} core::int;
+  minInt64Value = -9223372036854775808.{core::int::unary-}(){() → core::int};
+  minInt64Value = -9223372036854775808;
+  minInt64Value = -9223372036854775808.{core::int::unary-}(){() → core::int};
+  core::int maxInt64Value = 1.{core::num::*}(#C1){(core::num) → core::int}.{core::num::*}(#C1){(core::num) → core::int}.{core::num::*}(#C1){(core::num) → core::int}.{core::num::-}(1){(core::num) → core::int};
+  maxInt64Value = 9223372036854775807;
+  maxInt64Value = 9223372036854775807;
+  maxInt64Value = invalid-expression "pkg/front_end/testcases/coverage/int64_literal_test.dart:21:19: Error: The integer literal 9223372036854775808 can't be represented in 64 bits.
+Try using the BigInt class if you need an integer larger than 9,223,372,036,854,775,807 or less than -9,223,372,036,854,775,808.
+  maxInt64Value = 9223372036854775808 - 1; // Error
+                  ^^^^^^^^^^^^^^^^^^^"{dynamic}.-(1) as{TypeError,ForDynamic} core::int;
+  maxInt64Value = -9223372036854775808.{core::int::unary-}(){() → core::int}.{core::num::-}(1){(core::num) → core::int};
+  maxInt64Value = invalid-expression "pkg/front_end/testcases/coverage/int64_literal_test.dart:23:20: Error: The integer literal 9223372036854775809 can't be represented in 64 bits.
+Try using the BigInt class if you need an integer larger than 9,223,372,036,854,775,807 or less than -9,223,372,036,854,775,808.
+  maxInt64Value = -9223372036854775809; // Error
+                   ^^^^^^^^^^^^^^^^^^^" as{TypeError,ForDynamic,Unchecked} core::int;
+  maxInt64Value = -9223372036854775808.{core::num::-}(1){(core::num) → core::int};
+  maxInt64Value = -9223372036854775808.{core::int::unary-}(){() → core::int}.{core::num::-}(1){(core::num) → core::int};
+  maxInt64Value = invalid-expression "pkg/front_end/testcases/coverage/int64_literal_test.dart:26:20: Error: The integer literal 0x8000000000000001 can't be represented in 64 bits.
+Try using the BigInt class if you need an integer larger than 9,223,372,036,854,775,807 or less than -9,223,372,036,854,775,808.
+  maxInt64Value = -0x8000000000000001; // Error
+                   ^^^^^^^^^^^^^^^^^^" as{TypeError,ForDynamic,Unchecked} core::int;
+  maxInt64Value = -9223372036854775807.{core::int::unary-}(){() → core::int};
+}
+
+constants  {
+  #C1 = 2097152
+}
+
+Extra constant evaluation status:
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///int64_literal_test.dart:10:38 -> IntConstant(-9223372036854775808)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///int64_literal_test.dart:11:40 -> IntConstant(-9223372036854775808)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///int64_literal_test.dart:12:19 -> IntConstant(-9223372036854775808)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///int64_literal_test.dart:14:19 -> IntConstant(-9223372036854775808)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///int64_literal_test.dart:16:19 -> IntConstant(-9223372036854775808)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///int64_literal_test.dart:18:43 -> IntConstant(9223372036854775807)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///int64_literal_test.dart:22:40 -> IntConstant(9223372036854775807)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///int64_literal_test.dart:24:38 -> IntConstant(9223372036854775807)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///int64_literal_test.dart:25:39 -> IntConstant(9223372036854775807)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///int64_literal_test.dart:27:19 -> IntConstant(9223372036854775807)
+Extra constant evaluation: evaluated: 31, effectively constant: 10
diff --git a/pkg/front_end/testcases/coverage/int64_literal_test.dart.textual_outline.expect b/pkg/front_end/testcases/coverage/int64_literal_test.dart.textual_outline.expect
new file mode 100644
index 0000000..720b84c
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/int64_literal_test.dart.textual_outline.expect
@@ -0,0 +1,3 @@
+const int i21 = 2097152;
+
+void foo() {}
diff --git a/pkg/front_end/testcases/coverage/int64_literal_test.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/coverage/int64_literal_test.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..720b84c
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/int64_literal_test.dart.textual_outline_modelled.expect
@@ -0,0 +1,3 @@
+const int i21 = 2097152;
+
+void foo() {}
diff --git a/pkg/front_end/testcases/coverage/label5_test.dart b/pkg/front_end/testcases/coverage/label5_test.dart
new file mode 100644
index 0000000..04c0219
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/label5_test.dart
@@ -0,0 +1,12 @@
+// Copyright (c) 2024, 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.
+
+// Based on tests/language/label/label5_test.dart
+
+void foo() {
+  var L = 33;
+  while (false) {
+    if (true) break L; // Error
+  }
+}
diff --git a/pkg/front_end/testcases/coverage/label5_test.dart.strong.expect b/pkg/front_end/testcases/coverage/label5_test.dart.strong.expect
new file mode 100644
index 0000000..033dd7d
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/label5_test.dart.strong.expect
@@ -0,0 +1,17 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/label5_test.dart:10:21: Error: Can't break to 'L'.
+//     if (true) break L; // Error
+//                     ^
+//
+import self as self;
+import "dart:core" as core;
+
+static method foo() → void {
+  core::int L = 33;
+  invalid-expression "pkg/front_end/testcases/coverage/label5_test.dart:10:21: Error: Can't break to 'L'.
+    if (true) break L; // Error
+                    ^";
+}
diff --git a/pkg/front_end/testcases/coverage/label5_test.dart.strong.modular.expect b/pkg/front_end/testcases/coverage/label5_test.dart.strong.modular.expect
new file mode 100644
index 0000000..033dd7d
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/label5_test.dart.strong.modular.expect
@@ -0,0 +1,17 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/label5_test.dart:10:21: Error: Can't break to 'L'.
+//     if (true) break L; // Error
+//                     ^
+//
+import self as self;
+import "dart:core" as core;
+
+static method foo() → void {
+  core::int L = 33;
+  invalid-expression "pkg/front_end/testcases/coverage/label5_test.dart:10:21: Error: Can't break to 'L'.
+    if (true) break L; // Error
+                    ^";
+}
diff --git a/pkg/front_end/testcases/coverage/label5_test.dart.strong.outline.expect b/pkg/front_end/testcases/coverage/label5_test.dart.strong.outline.expect
new file mode 100644
index 0000000..4a8528a
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/label5_test.dart.strong.outline.expect
@@ -0,0 +1,5 @@
+library;
+import self as self;
+
+static method foo() → void
+  ;
diff --git a/pkg/front_end/testcases/coverage/label5_test.dart.strong.transformed.expect b/pkg/front_end/testcases/coverage/label5_test.dart.strong.transformed.expect
new file mode 100644
index 0000000..033dd7d
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/label5_test.dart.strong.transformed.expect
@@ -0,0 +1,17 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/label5_test.dart:10:21: Error: Can't break to 'L'.
+//     if (true) break L; // Error
+//                     ^
+//
+import self as self;
+import "dart:core" as core;
+
+static method foo() → void {
+  core::int L = 33;
+  invalid-expression "pkg/front_end/testcases/coverage/label5_test.dart:10:21: Error: Can't break to 'L'.
+    if (true) break L; // Error
+                    ^";
+}
diff --git a/pkg/front_end/testcases/coverage/label5_test.dart.textual_outline.expect b/pkg/front_end/testcases/coverage/label5_test.dart.textual_outline.expect
new file mode 100644
index 0000000..85e6cd8
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/label5_test.dart.textual_outline.expect
@@ -0,0 +1 @@
+void foo() {}
diff --git a/pkg/front_end/testcases/coverage/label5_test.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/coverage/label5_test.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..85e6cd8
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/label5_test.dart.textual_outline_modelled.expect
@@ -0,0 +1 @@
+void foo() {}
diff --git a/pkg/front_end/testcases/coverage/label6_test.dart b/pkg/front_end/testcases/coverage/label6_test.dart
new file mode 100644
index 0000000..145a40e
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/label6_test.dart
@@ -0,0 +1,18 @@
+// Copyright (c) 2024, 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.
+
+// Based on tests/language/label/label6_test.dart
+
+void foo() {
+  L:
+  while (false) {
+    break;
+    break L;
+    void innerFunc() {
+      if (true) break L; // Error
+    }
+
+    innerFunc();
+  }
+}
diff --git a/pkg/front_end/testcases/coverage/label6_test.dart.strong.expect b/pkg/front_end/testcases/coverage/label6_test.dart.strong.expect
new file mode 100644
index 0000000..2d51e57
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/label6_test.dart.strong.expect
@@ -0,0 +1,16 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/label6_test.dart:13:17: Error: Can't break to 'L' in a different function.
+//       if (true) break L; // Error
+//                 ^^^^^^^
+//
+import self as self;
+
+static method foo() → void {
+  #L1:
+  invalid-expression "pkg/front_end/testcases/coverage/label6_test.dart:13:17: Error: Can't break to 'L' in a different function.
+      if (true) break L; // Error
+                ^^^^^^^";
+}
diff --git a/pkg/front_end/testcases/coverage/label6_test.dart.strong.modular.expect b/pkg/front_end/testcases/coverage/label6_test.dart.strong.modular.expect
new file mode 100644
index 0000000..2d51e57
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/label6_test.dart.strong.modular.expect
@@ -0,0 +1,16 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/label6_test.dart:13:17: Error: Can't break to 'L' in a different function.
+//       if (true) break L; // Error
+//                 ^^^^^^^
+//
+import self as self;
+
+static method foo() → void {
+  #L1:
+  invalid-expression "pkg/front_end/testcases/coverage/label6_test.dart:13:17: Error: Can't break to 'L' in a different function.
+      if (true) break L; // Error
+                ^^^^^^^";
+}
diff --git a/pkg/front_end/testcases/coverage/label6_test.dart.strong.outline.expect b/pkg/front_end/testcases/coverage/label6_test.dart.strong.outline.expect
new file mode 100644
index 0000000..4a8528a
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/label6_test.dart.strong.outline.expect
@@ -0,0 +1,5 @@
+library;
+import self as self;
+
+static method foo() → void
+  ;
diff --git a/pkg/front_end/testcases/coverage/label6_test.dart.strong.transformed.expect b/pkg/front_end/testcases/coverage/label6_test.dart.strong.transformed.expect
new file mode 100644
index 0000000..2d51e57
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/label6_test.dart.strong.transformed.expect
@@ -0,0 +1,16 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/label6_test.dart:13:17: Error: Can't break to 'L' in a different function.
+//       if (true) break L; // Error
+//                 ^^^^^^^
+//
+import self as self;
+
+static method foo() → void {
+  #L1:
+  invalid-expression "pkg/front_end/testcases/coverage/label6_test.dart:13:17: Error: Can't break to 'L' in a different function.
+      if (true) break L; // Error
+                ^^^^^^^";
+}
diff --git a/pkg/front_end/testcases/coverage/label6_test.dart.textual_outline.expect b/pkg/front_end/testcases/coverage/label6_test.dart.textual_outline.expect
new file mode 100644
index 0000000..85e6cd8
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/label6_test.dart.textual_outline.expect
@@ -0,0 +1 @@
+void foo() {}
diff --git a/pkg/front_end/testcases/coverage/label6_test.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/coverage/label6_test.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..85e6cd8
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/label6_test.dart.textual_outline_modelled.expect
@@ -0,0 +1 @@
+void foo() {}
diff --git a/pkg/front_end/testcases/coverage/literal_list_two_type_arguments.dart b/pkg/front_end/testcases/coverage/literal_list_two_type_arguments.dart
new file mode 100644
index 0000000..3836b1b
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/literal_list_two_type_arguments.dart
@@ -0,0 +1,8 @@
+// Copyright (c) 2024, 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.
+
+void foo() {
+  var x = <int>[1, 2, 3]; // OK
+  var y = <int, int>[1, 2, 3]; // Error
+}
\ No newline at end of file
diff --git a/pkg/front_end/testcases/coverage/literal_list_two_type_arguments.dart.strong.expect b/pkg/front_end/testcases/coverage/literal_list_two_type_arguments.dart.strong.expect
new file mode 100644
index 0000000..65433fd
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/literal_list_two_type_arguments.dart.strong.expect
@@ -0,0 +1,15 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/literal_list_two_type_arguments.dart:7:21: Error: List literal requires exactly one type argument.
+//   var y = <int, int>[1, 2, 3]; // Error
+//                     ^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+static method foo() → void {
+  core::List<core::int> x = <core::int>[1, 2, 3];
+  core::List<invalid-type> y = <invalid-type>[1, 2, 3];
+}
diff --git a/pkg/front_end/testcases/coverage/literal_list_two_type_arguments.dart.strong.modular.expect b/pkg/front_end/testcases/coverage/literal_list_two_type_arguments.dart.strong.modular.expect
new file mode 100644
index 0000000..65433fd
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/literal_list_two_type_arguments.dart.strong.modular.expect
@@ -0,0 +1,15 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/literal_list_two_type_arguments.dart:7:21: Error: List literal requires exactly one type argument.
+//   var y = <int, int>[1, 2, 3]; // Error
+//                     ^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+static method foo() → void {
+  core::List<core::int> x = <core::int>[1, 2, 3];
+  core::List<invalid-type> y = <invalid-type>[1, 2, 3];
+}
diff --git a/pkg/front_end/testcases/coverage/literal_list_two_type_arguments.dart.strong.outline.expect b/pkg/front_end/testcases/coverage/literal_list_two_type_arguments.dart.strong.outline.expect
new file mode 100644
index 0000000..4a8528a
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/literal_list_two_type_arguments.dart.strong.outline.expect
@@ -0,0 +1,5 @@
+library;
+import self as self;
+
+static method foo() → void
+  ;
diff --git a/pkg/front_end/testcases/coverage/literal_list_two_type_arguments.dart.strong.transformed.expect b/pkg/front_end/testcases/coverage/literal_list_two_type_arguments.dart.strong.transformed.expect
new file mode 100644
index 0000000..31ba187
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/literal_list_two_type_arguments.dart.strong.transformed.expect
@@ -0,0 +1,15 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/literal_list_two_type_arguments.dart:7:21: Error: List literal requires exactly one type argument.
+//   var y = <int, int>[1, 2, 3]; // Error
+//                     ^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+static method foo() → void {
+  core::List<core::int> x = core::_GrowableList::_literal3<core::int>(1, 2, 3);
+  core::List<invalid-type> y = core::_GrowableList::_literal3<invalid-type>(1, 2, 3);
+}
diff --git a/pkg/front_end/testcases/coverage/literal_list_two_type_arguments.dart.textual_outline.expect b/pkg/front_end/testcases/coverage/literal_list_two_type_arguments.dart.textual_outline.expect
new file mode 100644
index 0000000..85e6cd8
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/literal_list_two_type_arguments.dart.textual_outline.expect
@@ -0,0 +1 @@
+void foo() {}
diff --git a/pkg/front_end/testcases/coverage/literal_list_two_type_arguments.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/coverage/literal_list_two_type_arguments.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..85e6cd8
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/literal_list_two_type_arguments.dart.textual_outline_modelled.expect
@@ -0,0 +1 @@
+void foo() {}
diff --git a/pkg/front_end/testcases/coverage/metadata_test.dart b/pkg/front_end/testcases/coverage/metadata_test.dart
new file mode 100644
index 0000000..702770d
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/metadata_test.dart
@@ -0,0 +1,18 @@
+// Copyright (c) 2024, 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.
+
+// Based on tests/language/generic/metadata_test.dart
+
+// @dart=2.12
+
+// Check that annotations cannot use type arguments, but can be raw.
+
+class C<T> {
+  const C();
+}
+
+@C() // OK
+@C<dynamic>() // Error
+@C<int>() // Error
+void foo() {}
\ No newline at end of file
diff --git a/pkg/front_end/testcases/coverage/metadata_test.dart.strong.expect b/pkg/front_end/testcases/coverage/metadata_test.dart.strong.expect
new file mode 100644
index 0000000..fbd63ab
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/metadata_test.dart.strong.expect
@@ -0,0 +1,35 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/metadata_test.dart:16:3: Error: An annotation can't use type arguments.
+// @C<dynamic>() // Error
+//   ^
+//
+// pkg/front_end/testcases/coverage/metadata_test.dart:17:3: Error: An annotation can't use type arguments.
+// @C<int>() // Error
+//   ^
+//
+import self as self;
+import "dart:core" as core;
+
+class C<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  const constructor •() → self::C<self::C::T%>
+    : super core::Object::•()
+    ;
+}
+@#C1
+@#C1
+@#C2
+static method foo() → void {}
+
+constants  {
+  #C1 = self::C<dynamic> {}
+  #C2 = self::C<core::int> {}
+}
+
+
+Constructor coverage from constants:
+org-dartlang-testcase:///metadata_test.dart:
+- C. (from org-dartlang-testcase:///metadata_test.dart:12:9)
+- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart)
diff --git a/pkg/front_end/testcases/coverage/metadata_test.dart.strong.modular.expect b/pkg/front_end/testcases/coverage/metadata_test.dart.strong.modular.expect
new file mode 100644
index 0000000..fbd63ab
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/metadata_test.dart.strong.modular.expect
@@ -0,0 +1,35 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/metadata_test.dart:16:3: Error: An annotation can't use type arguments.
+// @C<dynamic>() // Error
+//   ^
+//
+// pkg/front_end/testcases/coverage/metadata_test.dart:17:3: Error: An annotation can't use type arguments.
+// @C<int>() // Error
+//   ^
+//
+import self as self;
+import "dart:core" as core;
+
+class C<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  const constructor •() → self::C<self::C::T%>
+    : super core::Object::•()
+    ;
+}
+@#C1
+@#C1
+@#C2
+static method foo() → void {}
+
+constants  {
+  #C1 = self::C<dynamic> {}
+  #C2 = self::C<core::int> {}
+}
+
+
+Constructor coverage from constants:
+org-dartlang-testcase:///metadata_test.dart:
+- C. (from org-dartlang-testcase:///metadata_test.dart:12:9)
+- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart)
diff --git a/pkg/front_end/testcases/coverage/metadata_test.dart.strong.outline.expect b/pkg/front_end/testcases/coverage/metadata_test.dart.strong.outline.expect
new file mode 100644
index 0000000..e166136
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/metadata_test.dart.strong.outline.expect
@@ -0,0 +1,32 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/metadata_test.dart:16:3: Error: An annotation can't use type arguments.
+// @C<dynamic>() // Error
+//   ^
+//
+// pkg/front_end/testcases/coverage/metadata_test.dart:17:3: Error: An annotation can't use type arguments.
+// @C<int>() // Error
+//   ^
+//
+import self as self;
+import "dart:core" as core;
+
+class C<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  const constructor •() → self::C<self::C::T%>
+    : super core::Object::•()
+    ;
+}
+@self::C::•<dynamic>()
+@self::C::•<dynamic>()
+@self::C::•<core::int>()
+static method foo() → void
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///metadata_test.dart:15:2 -> InstanceConstant(const C<dynamic>{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///metadata_test.dart:16:2 -> InstanceConstant(const C<dynamic>{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///metadata_test.dart:17:2 -> InstanceConstant(const C<int>{})
+Extra constant evaluation: evaluated: 3, effectively constant: 3
diff --git a/pkg/front_end/testcases/coverage/metadata_test.dart.strong.transformed.expect b/pkg/front_end/testcases/coverage/metadata_test.dart.strong.transformed.expect
new file mode 100644
index 0000000..fbd63ab
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/metadata_test.dart.strong.transformed.expect
@@ -0,0 +1,35 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/metadata_test.dart:16:3: Error: An annotation can't use type arguments.
+// @C<dynamic>() // Error
+//   ^
+//
+// pkg/front_end/testcases/coverage/metadata_test.dart:17:3: Error: An annotation can't use type arguments.
+// @C<int>() // Error
+//   ^
+//
+import self as self;
+import "dart:core" as core;
+
+class C<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  const constructor •() → self::C<self::C::T%>
+    : super core::Object::•()
+    ;
+}
+@#C1
+@#C1
+@#C2
+static method foo() → void {}
+
+constants  {
+  #C1 = self::C<dynamic> {}
+  #C2 = self::C<core::int> {}
+}
+
+
+Constructor coverage from constants:
+org-dartlang-testcase:///metadata_test.dart:
+- C. (from org-dartlang-testcase:///metadata_test.dart:12:9)
+- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart)
diff --git a/pkg/front_end/testcases/coverage/metadata_test.dart.textual_outline.expect b/pkg/front_end/testcases/coverage/metadata_test.dart.textual_outline.expect
new file mode 100644
index 0000000..8abac40
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/metadata_test.dart.textual_outline.expect
@@ -0,0 +1,13 @@
+// @dart = 2.12
+
+class C<T> {
+  const C();
+}
+
+@C()
+
+@C<dynamic>()
+
+@C<int>()
+
+void foo() {}
diff --git a/pkg/front_end/testcases/coverage/metadata_variable_declaration.dart b/pkg/front_end/testcases/coverage/metadata_variable_declaration.dart
new file mode 100644
index 0000000..c5bfd87
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/metadata_variable_declaration.dart
@@ -0,0 +1,44 @@
+// Copyright (c) 2024, 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.
+
+// Based on tests/language/variable/variable_declaration_metadata_test.dart
+
+// Verify that the individual variable declarations inside a variable
+// declaration list are not allowed to be annotated with metadata.
+
+const annotation = null;
+
+var v0; // OK
+var @annotation v1; // Error
+var v2, @annotation v3; // Error
+
+int v4 = -1;  // This should by itself be fine, but recovery is bad.
+int @annotation v5 = -1; // Error --- I think this is where the bad recovery happens.
+int v6 = -1, @annotation v7 = -1; // Error
+
+class C {
+  var f0; // OK
+  var @annotation f1; // Error
+  var f2, @annotation f3; // Error
+
+  int f4 = -1; // This should by itself be fine, but recovery is bad.
+  int @annotation f5 = -1; // Error
+  int f6 = -1, @annotation f7 = -1; // Error
+}
+
+void foo() {
+  var l0; // OK
+  var @annotation l1; // Error
+  var l2, @annotation l3; // Error
+
+  int l4 = -1; // This should by itself be fine, but recovery is bad.
+  int @annotation l5 = -1; // Error
+  int l6 = -1, @annotation l7 = -1; // Error
+
+  for (
+    var @annotation i1 = 0, @annotation i2 = 0 // Error
+        ;;) {
+    break;
+  }
+}
diff --git a/pkg/front_end/testcases/coverage/metadata_variable_declaration.dart.strong.expect b/pkg/front_end/testcases/coverage/metadata_variable_declaration.dart.strong.expect
new file mode 100644
index 0000000..6726cd7
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/metadata_variable_declaration.dart.strong.expect
@@ -0,0 +1,254 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:13:5: Error: Expected an identifier, but got '@'.
+// Try inserting an identifier before '@'.
+// var @annotation v1; // Error
+//     ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:13:1: Error: Expected ';' after this.
+// var @annotation v1; // Error
+// ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:13:17: 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'.
+// var @annotation v1; // Error
+//                 ^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:14:9: Error: Expected an identifier, but got '@'.
+// Try inserting an identifier before '@'.
+// var v2, @annotation v3; // Error
+//         ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:14:9: Error: Expected ';' after this.
+// var v2, @annotation v3; // Error
+//         ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:17:1: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
+// Try adding the name of the type of the variable or the keyword 'var'.
+// int @annotation v5 = -1; // Error --- I think this is where the bad recovery happens.
+// ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:17:1: Error: Expected ';' after this.
+// int @annotation v5 = -1; // Error --- I think this is where the bad recovery happens.
+// ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:17:17: 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'.
+// int @annotation v5 = -1; // Error --- I think this is where the bad recovery happens.
+//                 ^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:18:14: Error: Expected an identifier, but got '@'.
+// Try inserting an identifier before '@'.
+// int v6 = -1, @annotation v7 = -1; // Error
+//              ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:18:14: Error: Expected ';' after this.
+// int v6 = -1, @annotation v7 = -1; // Error
+//              ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:22:7: Error: Expected an identifier, but got '@'.
+// Try inserting an identifier before '@'.
+//   var @annotation f1; // Error
+//       ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:22:3: Error: Expected ';' after this.
+//   var @annotation f1; // Error
+//   ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:22: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'.
+//   var @annotation f1; // Error
+//                   ^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:23:11: Error: Expected an identifier, but got '@'.
+// Try inserting an identifier before '@'.
+//   var f2, @annotation f3; // Error
+//           ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:23:9: Error: Expected ';' after this.
+//   var f2, @annotation f3; // Error
+//         ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:23: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'.
+//   var f2, @annotation f3; // Error
+//                       ^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:26:3: 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'.
+//   int @annotation f5 = -1; // Error
+//   ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:26:3: Error: Expected ';' after this.
+//   int @annotation f5 = -1; // Error
+//   ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:26: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'.
+//   int @annotation f5 = -1; // Error
+//                   ^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:27:16: Error: Expected an identifier, but got '@'.
+// Try inserting an identifier before '@'.
+//   int f6 = -1, @annotation f7 = -1; // Error
+//                ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:27:14: Error: Expected ';' after this.
+//   int f6 = -1, @annotation f7 = -1; // Error
+//              ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:27: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'.
+//   int f6 = -1, @annotation f7 = -1; // Error
+//                            ^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:25:3: Error: 'int' isn't a type.
+//   int f4 = -1; // This should by itself be fine, but recovery is bad.
+//   ^^^
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:26:3: Context: This isn't a type.
+//   int @annotation f5 = -1; // Error
+//   ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:27:3: Error: 'int' isn't a type.
+//   int f6 = -1, @annotation f7 = -1; // Error
+//   ^^^
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:26:3: Context: This isn't a type.
+//   int @annotation f5 = -1; // Error
+//   ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:14:10: Error: 'annotation' isn't a type.
+// var v2, @annotation v3; // Error
+//          ^^^^^^^^^^
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:10:7: Context: This isn't a type.
+// const annotation = null;
+//       ^^^^^^^^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:16:1: Error: 'int' isn't a type.
+// int v4 = -1;  // This should by itself be fine, but recovery is bad.
+// ^^^
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:17:1: Context: This isn't a type.
+// int @annotation v5 = -1; // Error --- I think this is where the bad recovery happens.
+// ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:18:1: Error: 'int' isn't a type.
+// int v6 = -1, @annotation v7 = -1; // Error
+// ^^^
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:17:1: Context: This isn't a type.
+// int @annotation v5 = -1; // Error --- I think this is where the bad recovery happens.
+// ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:18:15: Error: 'annotation' isn't a type.
+// int v6 = -1, @annotation v7 = -1; // Error
+//               ^^^^^^^^^^
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:10:7: Context: This isn't a type.
+// const annotation = null;
+//       ^^^^^^^^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:32:7: Error: Expected an identifier, but got '@'.
+// Try inserting an identifier before '@'.
+//   var @annotation l1; // Error
+//       ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:32:3: Error: Expected ';' after this.
+//   var @annotation l1; // Error
+//   ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:32: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'.
+//   var @annotation l1; // Error
+//                   ^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:33:11: Error: Expected an identifier, but got '@'.
+// Try inserting an identifier before '@'.
+//   var l2, @annotation l3; // Error
+//           ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:33:9: Error: Expected ';' after this.
+//   var l2, @annotation l3; // Error
+//         ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:33: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'.
+//   var l2, @annotation l3; // Error
+//                       ^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:35:3: Error: 'int' isn't a type.
+//   int l4 = -1; // This should by itself be fine, but recovery is bad.
+//   ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:36:3: Error: Expected ';' after this.
+//   int @annotation l5 = -1; // Error
+//   ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:36: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'.
+//   int @annotation l5 = -1; // Error
+//                   ^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:37:3: Error: 'int' isn't a type.
+//   int l6 = -1, @annotation l7 = -1; // Error
+//   ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:37:16: Error: Expected an identifier, but got '@'.
+// Try inserting an identifier before '@'.
+//   int l6 = -1, @annotation l7 = -1; // Error
+//                ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:37:14: Error: Expected ';' after this.
+//   int l6 = -1, @annotation l7 = -1; // Error
+//              ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:37: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'.
+//   int l6 = -1, @annotation l7 = -1; // Error
+//                            ^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:40:9: Error: Expected an identifier, but got '@'.
+// Try inserting an identifier before '@'.
+//     var @annotation i1 = 0, @annotation i2 = 0 // Error
+//         ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:40:5: Error: Expected ';' after this.
+//     var @annotation i1 = 0, @annotation i2 = 0 // Error
+//     ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:40:9: Error: Unexpected token '@'.
+//     var @annotation i1 = 0, @annotation i2 = 0 // Error
+//         ^
+//
+import self as self;
+import "dart:core" as core;
+
+class C extends core::Object {
+  field dynamic f0 = null;
+  @#C1
+  field dynamic f1 = null;
+  @#C1
+  field dynamic f3 = null;
+  field invalid-type f4 = 1.{core::int::unary-}(){() → core::int};
+  field dynamic int = null;
+  @#C1
+  field core::int f5 = 1.{core::int::unary-}(){() → core::int};
+  @#C1
+  field core::int f7 = 1.{core::int::unary-}(){() → core::int};
+  synthetic constructor •() → self::C
+    : super core::Object::•()
+    ;
+}
+static const field dynamic annotation = #C1;
+static field dynamic v0;
+@#C1
+static field dynamic v1;
+static field invalid-type v3;
+static field invalid-type v4 = 1.{core::int::unary-}(){() → core::int};
+static field dynamic int;
+@#C1
+static field core::int v5 = 1.{core::int::unary-}(){() → core::int};
+static field invalid-type v7 = 1.{core::int::unary-}(){() → core::int};
+static method foo() → void {}
+
+constants  {
+  #C1 = null
+}
diff --git a/pkg/front_end/testcases/coverage/metadata_variable_declaration.dart.strong.modular.expect b/pkg/front_end/testcases/coverage/metadata_variable_declaration.dart.strong.modular.expect
new file mode 100644
index 0000000..6726cd7
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/metadata_variable_declaration.dart.strong.modular.expect
@@ -0,0 +1,254 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:13:5: Error: Expected an identifier, but got '@'.
+// Try inserting an identifier before '@'.
+// var @annotation v1; // Error
+//     ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:13:1: Error: Expected ';' after this.
+// var @annotation v1; // Error
+// ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:13:17: 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'.
+// var @annotation v1; // Error
+//                 ^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:14:9: Error: Expected an identifier, but got '@'.
+// Try inserting an identifier before '@'.
+// var v2, @annotation v3; // Error
+//         ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:14:9: Error: Expected ';' after this.
+// var v2, @annotation v3; // Error
+//         ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:17:1: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
+// Try adding the name of the type of the variable or the keyword 'var'.
+// int @annotation v5 = -1; // Error --- I think this is where the bad recovery happens.
+// ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:17:1: Error: Expected ';' after this.
+// int @annotation v5 = -1; // Error --- I think this is where the bad recovery happens.
+// ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:17:17: 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'.
+// int @annotation v5 = -1; // Error --- I think this is where the bad recovery happens.
+//                 ^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:18:14: Error: Expected an identifier, but got '@'.
+// Try inserting an identifier before '@'.
+// int v6 = -1, @annotation v7 = -1; // Error
+//              ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:18:14: Error: Expected ';' after this.
+// int v6 = -1, @annotation v7 = -1; // Error
+//              ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:22:7: Error: Expected an identifier, but got '@'.
+// Try inserting an identifier before '@'.
+//   var @annotation f1; // Error
+//       ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:22:3: Error: Expected ';' after this.
+//   var @annotation f1; // Error
+//   ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:22: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'.
+//   var @annotation f1; // Error
+//                   ^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:23:11: Error: Expected an identifier, but got '@'.
+// Try inserting an identifier before '@'.
+//   var f2, @annotation f3; // Error
+//           ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:23:9: Error: Expected ';' after this.
+//   var f2, @annotation f3; // Error
+//         ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:23: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'.
+//   var f2, @annotation f3; // Error
+//                       ^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:26:3: 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'.
+//   int @annotation f5 = -1; // Error
+//   ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:26:3: Error: Expected ';' after this.
+//   int @annotation f5 = -1; // Error
+//   ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:26: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'.
+//   int @annotation f5 = -1; // Error
+//                   ^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:27:16: Error: Expected an identifier, but got '@'.
+// Try inserting an identifier before '@'.
+//   int f6 = -1, @annotation f7 = -1; // Error
+//                ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:27:14: Error: Expected ';' after this.
+//   int f6 = -1, @annotation f7 = -1; // Error
+//              ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:27: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'.
+//   int f6 = -1, @annotation f7 = -1; // Error
+//                            ^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:25:3: Error: 'int' isn't a type.
+//   int f4 = -1; // This should by itself be fine, but recovery is bad.
+//   ^^^
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:26:3: Context: This isn't a type.
+//   int @annotation f5 = -1; // Error
+//   ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:27:3: Error: 'int' isn't a type.
+//   int f6 = -1, @annotation f7 = -1; // Error
+//   ^^^
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:26:3: Context: This isn't a type.
+//   int @annotation f5 = -1; // Error
+//   ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:14:10: Error: 'annotation' isn't a type.
+// var v2, @annotation v3; // Error
+//          ^^^^^^^^^^
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:10:7: Context: This isn't a type.
+// const annotation = null;
+//       ^^^^^^^^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:16:1: Error: 'int' isn't a type.
+// int v4 = -1;  // This should by itself be fine, but recovery is bad.
+// ^^^
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:17:1: Context: This isn't a type.
+// int @annotation v5 = -1; // Error --- I think this is where the bad recovery happens.
+// ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:18:1: Error: 'int' isn't a type.
+// int v6 = -1, @annotation v7 = -1; // Error
+// ^^^
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:17:1: Context: This isn't a type.
+// int @annotation v5 = -1; // Error --- I think this is where the bad recovery happens.
+// ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:18:15: Error: 'annotation' isn't a type.
+// int v6 = -1, @annotation v7 = -1; // Error
+//               ^^^^^^^^^^
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:10:7: Context: This isn't a type.
+// const annotation = null;
+//       ^^^^^^^^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:32:7: Error: Expected an identifier, but got '@'.
+// Try inserting an identifier before '@'.
+//   var @annotation l1; // Error
+//       ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:32:3: Error: Expected ';' after this.
+//   var @annotation l1; // Error
+//   ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:32: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'.
+//   var @annotation l1; // Error
+//                   ^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:33:11: Error: Expected an identifier, but got '@'.
+// Try inserting an identifier before '@'.
+//   var l2, @annotation l3; // Error
+//           ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:33:9: Error: Expected ';' after this.
+//   var l2, @annotation l3; // Error
+//         ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:33: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'.
+//   var l2, @annotation l3; // Error
+//                       ^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:35:3: Error: 'int' isn't a type.
+//   int l4 = -1; // This should by itself be fine, but recovery is bad.
+//   ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:36:3: Error: Expected ';' after this.
+//   int @annotation l5 = -1; // Error
+//   ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:36: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'.
+//   int @annotation l5 = -1; // Error
+//                   ^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:37:3: Error: 'int' isn't a type.
+//   int l6 = -1, @annotation l7 = -1; // Error
+//   ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:37:16: Error: Expected an identifier, but got '@'.
+// Try inserting an identifier before '@'.
+//   int l6 = -1, @annotation l7 = -1; // Error
+//                ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:37:14: Error: Expected ';' after this.
+//   int l6 = -1, @annotation l7 = -1; // Error
+//              ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:37: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'.
+//   int l6 = -1, @annotation l7 = -1; // Error
+//                            ^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:40:9: Error: Expected an identifier, but got '@'.
+// Try inserting an identifier before '@'.
+//     var @annotation i1 = 0, @annotation i2 = 0 // Error
+//         ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:40:5: Error: Expected ';' after this.
+//     var @annotation i1 = 0, @annotation i2 = 0 // Error
+//     ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:40:9: Error: Unexpected token '@'.
+//     var @annotation i1 = 0, @annotation i2 = 0 // Error
+//         ^
+//
+import self as self;
+import "dart:core" as core;
+
+class C extends core::Object {
+  field dynamic f0 = null;
+  @#C1
+  field dynamic f1 = null;
+  @#C1
+  field dynamic f3 = null;
+  field invalid-type f4 = 1.{core::int::unary-}(){() → core::int};
+  field dynamic int = null;
+  @#C1
+  field core::int f5 = 1.{core::int::unary-}(){() → core::int};
+  @#C1
+  field core::int f7 = 1.{core::int::unary-}(){() → core::int};
+  synthetic constructor •() → self::C
+    : super core::Object::•()
+    ;
+}
+static const field dynamic annotation = #C1;
+static field dynamic v0;
+@#C1
+static field dynamic v1;
+static field invalid-type v3;
+static field invalid-type v4 = 1.{core::int::unary-}(){() → core::int};
+static field dynamic int;
+@#C1
+static field core::int v5 = 1.{core::int::unary-}(){() → core::int};
+static field invalid-type v7 = 1.{core::int::unary-}(){() → core::int};
+static method foo() → void {}
+
+constants  {
+  #C1 = null
+}
diff --git a/pkg/front_end/testcases/coverage/metadata_variable_declaration.dart.strong.outline.expect b/pkg/front_end/testcases/coverage/metadata_variable_declaration.dart.strong.outline.expect
new file mode 100644
index 0000000..62dbb80
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/metadata_variable_declaration.dart.strong.outline.expect
@@ -0,0 +1,188 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:13:5: Error: Expected an identifier, but got '@'.
+// Try inserting an identifier before '@'.
+// var @annotation v1; // Error
+//     ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:13:1: Error: Expected ';' after this.
+// var @annotation v1; // Error
+// ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:13:17: 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'.
+// var @annotation v1; // Error
+//                 ^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:14:9: Error: Expected an identifier, but got '@'.
+// Try inserting an identifier before '@'.
+// var v2, @annotation v3; // Error
+//         ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:14:9: Error: Expected ';' after this.
+// var v2, @annotation v3; // Error
+//         ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:17:1: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
+// Try adding the name of the type of the variable or the keyword 'var'.
+// int @annotation v5 = -1; // Error --- I think this is where the bad recovery happens.
+// ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:17:1: Error: Expected ';' after this.
+// int @annotation v5 = -1; // Error --- I think this is where the bad recovery happens.
+// ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:17:17: 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'.
+// int @annotation v5 = -1; // Error --- I think this is where the bad recovery happens.
+//                 ^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:18:14: Error: Expected an identifier, but got '@'.
+// Try inserting an identifier before '@'.
+// int v6 = -1, @annotation v7 = -1; // Error
+//              ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:18:14: Error: Expected ';' after this.
+// int v6 = -1, @annotation v7 = -1; // Error
+//              ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:22:7: Error: Expected an identifier, but got '@'.
+// Try inserting an identifier before '@'.
+//   var @annotation f1; // Error
+//       ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:22:3: Error: Expected ';' after this.
+//   var @annotation f1; // Error
+//   ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:22: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'.
+//   var @annotation f1; // Error
+//                   ^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:23:11: Error: Expected an identifier, but got '@'.
+// Try inserting an identifier before '@'.
+//   var f2, @annotation f3; // Error
+//           ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:23:9: Error: Expected ';' after this.
+//   var f2, @annotation f3; // Error
+//         ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:23: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'.
+//   var f2, @annotation f3; // Error
+//                       ^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:26:3: 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'.
+//   int @annotation f5 = -1; // Error
+//   ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:26:3: Error: Expected ';' after this.
+//   int @annotation f5 = -1; // Error
+//   ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:26: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'.
+//   int @annotation f5 = -1; // Error
+//                   ^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:27:16: Error: Expected an identifier, but got '@'.
+// Try inserting an identifier before '@'.
+//   int f6 = -1, @annotation f7 = -1; // Error
+//                ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:27:14: Error: Expected ';' after this.
+//   int f6 = -1, @annotation f7 = -1; // Error
+//              ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:27: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'.
+//   int f6 = -1, @annotation f7 = -1; // Error
+//                            ^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:25:3: Error: 'int' isn't a type.
+//   int f4 = -1; // This should by itself be fine, but recovery is bad.
+//   ^^^
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:26:3: Context: This isn't a type.
+//   int @annotation f5 = -1; // Error
+//   ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:27:3: Error: 'int' isn't a type.
+//   int f6 = -1, @annotation f7 = -1; // Error
+//   ^^^
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:26:3: Context: This isn't a type.
+//   int @annotation f5 = -1; // Error
+//   ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:14:10: Error: 'annotation' isn't a type.
+// var v2, @annotation v3; // Error
+//          ^^^^^^^^^^
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:10:7: Context: This isn't a type.
+// const annotation = null;
+//       ^^^^^^^^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:16:1: Error: 'int' isn't a type.
+// int v4 = -1;  // This should by itself be fine, but recovery is bad.
+// ^^^
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:17:1: Context: This isn't a type.
+// int @annotation v5 = -1; // Error --- I think this is where the bad recovery happens.
+// ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:18:1: Error: 'int' isn't a type.
+// int v6 = -1, @annotation v7 = -1; // Error
+// ^^^
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:17:1: Context: This isn't a type.
+// int @annotation v5 = -1; // Error --- I think this is where the bad recovery happens.
+// ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:18:15: Error: 'annotation' isn't a type.
+// int v6 = -1, @annotation v7 = -1; // Error
+//               ^^^^^^^^^^
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:10:7: Context: This isn't a type.
+// const annotation = null;
+//       ^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class C extends core::Object {
+  field dynamic f0;
+  @self::annotation
+  field dynamic f1;
+  @self::annotation
+  field dynamic f3;
+  field invalid-type f4;
+  field dynamic int;
+  @self::annotation
+  field core::int f5;
+  @self::annotation
+  field core::int f7;
+  synthetic constructor •() → self::C
+    ;
+}
+static const field dynamic annotation = null;
+static field dynamic v0;
+@self::annotation
+static field dynamic v1;
+static field invalid-type v3;
+static field invalid-type v4;
+static field dynamic int;
+@self::annotation
+static field core::int v5;
+static field invalid-type v7;
+static method foo() → void
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: StaticGet @ org-dartlang-testcase:///metadata_variable_declaration.dart:22:8 -> NullConstant(null)
+Evaluated: StaticGet @ org-dartlang-testcase:///metadata_variable_declaration.dart:23:12 -> NullConstant(null)
+Evaluated: StaticGet @ org-dartlang-testcase:///metadata_variable_declaration.dart:26:8 -> NullConstant(null)
+Evaluated: StaticGet @ org-dartlang-testcase:///metadata_variable_declaration.dart:27:17 -> NullConstant(null)
+Evaluated: StaticGet @ org-dartlang-testcase:///metadata_variable_declaration.dart:13:6 -> NullConstant(null)
+Evaluated: StaticGet @ org-dartlang-testcase:///metadata_variable_declaration.dart:17:6 -> NullConstant(null)
+Extra constant evaluation: evaluated: 6, effectively constant: 6
diff --git a/pkg/front_end/testcases/coverage/metadata_variable_declaration.dart.strong.transformed.expect b/pkg/front_end/testcases/coverage/metadata_variable_declaration.dart.strong.transformed.expect
new file mode 100644
index 0000000..2ce61cd
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/metadata_variable_declaration.dart.strong.transformed.expect
@@ -0,0 +1,263 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:13:5: Error: Expected an identifier, but got '@'.
+// Try inserting an identifier before '@'.
+// var @annotation v1; // Error
+//     ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:13:1: Error: Expected ';' after this.
+// var @annotation v1; // Error
+// ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:13:17: 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'.
+// var @annotation v1; // Error
+//                 ^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:14:9: Error: Expected an identifier, but got '@'.
+// Try inserting an identifier before '@'.
+// var v2, @annotation v3; // Error
+//         ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:14:9: Error: Expected ';' after this.
+// var v2, @annotation v3; // Error
+//         ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:17:1: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
+// Try adding the name of the type of the variable or the keyword 'var'.
+// int @annotation v5 = -1; // Error --- I think this is where the bad recovery happens.
+// ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:17:1: Error: Expected ';' after this.
+// int @annotation v5 = -1; // Error --- I think this is where the bad recovery happens.
+// ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:17:17: 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'.
+// int @annotation v5 = -1; // Error --- I think this is where the bad recovery happens.
+//                 ^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:18:14: Error: Expected an identifier, but got '@'.
+// Try inserting an identifier before '@'.
+// int v6 = -1, @annotation v7 = -1; // Error
+//              ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:18:14: Error: Expected ';' after this.
+// int v6 = -1, @annotation v7 = -1; // Error
+//              ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:22:7: Error: Expected an identifier, but got '@'.
+// Try inserting an identifier before '@'.
+//   var @annotation f1; // Error
+//       ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:22:3: Error: Expected ';' after this.
+//   var @annotation f1; // Error
+//   ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:22: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'.
+//   var @annotation f1; // Error
+//                   ^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:23:11: Error: Expected an identifier, but got '@'.
+// Try inserting an identifier before '@'.
+//   var f2, @annotation f3; // Error
+//           ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:23:9: Error: Expected ';' after this.
+//   var f2, @annotation f3; // Error
+//         ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:23: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'.
+//   var f2, @annotation f3; // Error
+//                       ^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:26:3: 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'.
+//   int @annotation f5 = -1; // Error
+//   ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:26:3: Error: Expected ';' after this.
+//   int @annotation f5 = -1; // Error
+//   ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:26: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'.
+//   int @annotation f5 = -1; // Error
+//                   ^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:27:16: Error: Expected an identifier, but got '@'.
+// Try inserting an identifier before '@'.
+//   int f6 = -1, @annotation f7 = -1; // Error
+//                ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:27:14: Error: Expected ';' after this.
+//   int f6 = -1, @annotation f7 = -1; // Error
+//              ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:27: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'.
+//   int f6 = -1, @annotation f7 = -1; // Error
+//                            ^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:25:3: Error: 'int' isn't a type.
+//   int f4 = -1; // This should by itself be fine, but recovery is bad.
+//   ^^^
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:26:3: Context: This isn't a type.
+//   int @annotation f5 = -1; // Error
+//   ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:27:3: Error: 'int' isn't a type.
+//   int f6 = -1, @annotation f7 = -1; // Error
+//   ^^^
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:26:3: Context: This isn't a type.
+//   int @annotation f5 = -1; // Error
+//   ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:14:10: Error: 'annotation' isn't a type.
+// var v2, @annotation v3; // Error
+//          ^^^^^^^^^^
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:10:7: Context: This isn't a type.
+// const annotation = null;
+//       ^^^^^^^^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:16:1: Error: 'int' isn't a type.
+// int v4 = -1;  // This should by itself be fine, but recovery is bad.
+// ^^^
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:17:1: Context: This isn't a type.
+// int @annotation v5 = -1; // Error --- I think this is where the bad recovery happens.
+// ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:18:1: Error: 'int' isn't a type.
+// int v6 = -1, @annotation v7 = -1; // Error
+// ^^^
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:17:1: Context: This isn't a type.
+// int @annotation v5 = -1; // Error --- I think this is where the bad recovery happens.
+// ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:18:15: Error: 'annotation' isn't a type.
+// int v6 = -1, @annotation v7 = -1; // Error
+//               ^^^^^^^^^^
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:10:7: Context: This isn't a type.
+// const annotation = null;
+//       ^^^^^^^^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:32:7: Error: Expected an identifier, but got '@'.
+// Try inserting an identifier before '@'.
+//   var @annotation l1; // Error
+//       ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:32:3: Error: Expected ';' after this.
+//   var @annotation l1; // Error
+//   ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:32: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'.
+//   var @annotation l1; // Error
+//                   ^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:33:11: Error: Expected an identifier, but got '@'.
+// Try inserting an identifier before '@'.
+//   var l2, @annotation l3; // Error
+//           ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:33:9: Error: Expected ';' after this.
+//   var l2, @annotation l3; // Error
+//         ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:33: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'.
+//   var l2, @annotation l3; // Error
+//                       ^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:35:3: Error: 'int' isn't a type.
+//   int l4 = -1; // This should by itself be fine, but recovery is bad.
+//   ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:36:3: Error: Expected ';' after this.
+//   int @annotation l5 = -1; // Error
+//   ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:36: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'.
+//   int @annotation l5 = -1; // Error
+//                   ^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:37:3: Error: 'int' isn't a type.
+//   int l6 = -1, @annotation l7 = -1; // Error
+//   ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:37:16: Error: Expected an identifier, but got '@'.
+// Try inserting an identifier before '@'.
+//   int l6 = -1, @annotation l7 = -1; // Error
+//                ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:37:14: Error: Expected ';' after this.
+//   int l6 = -1, @annotation l7 = -1; // Error
+//              ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:37: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'.
+//   int l6 = -1, @annotation l7 = -1; // Error
+//                            ^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:40:9: Error: Expected an identifier, but got '@'.
+// Try inserting an identifier before '@'.
+//     var @annotation i1 = 0, @annotation i2 = 0 // Error
+//         ^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:40:5: Error: Expected ';' after this.
+//     var @annotation i1 = 0, @annotation i2 = 0 // Error
+//     ^^^
+//
+// pkg/front_end/testcases/coverage/metadata_variable_declaration.dart:40:9: Error: Unexpected token '@'.
+//     var @annotation i1 = 0, @annotation i2 = 0 // Error
+//         ^
+//
+import self as self;
+import "dart:core" as core;
+
+class C extends core::Object {
+  field dynamic f0 = null;
+  @#C1
+  field dynamic f1 = null;
+  @#C1
+  field dynamic f3 = null;
+  field invalid-type f4 = 1.{core::int::unary-}(){() → core::int};
+  field dynamic int = null;
+  @#C1
+  field core::int f5 = 1.{core::int::unary-}(){() → core::int};
+  @#C1
+  field core::int f7 = 1.{core::int::unary-}(){() → core::int};
+  synthetic constructor •() → self::C
+    : super core::Object::•()
+    ;
+}
+static const field dynamic annotation = #C1;
+static field dynamic v0;
+@#C1
+static field dynamic v1;
+static field invalid-type v3;
+static field invalid-type v4 = 1.{core::int::unary-}(){() → core::int};
+static field dynamic int;
+@#C1
+static field core::int v5 = 1.{core::int::unary-}(){() → core::int};
+static field invalid-type v7 = 1.{core::int::unary-}(){() → core::int};
+static method foo() → void {}
+
+constants  {
+  #C1 = null
+}
+
+Extra constant evaluation status:
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///metadata_variable_declaration.dart:25:12 -> IntConstant(-1)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///metadata_variable_declaration.dart:26:24 -> IntConstant(-1)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///metadata_variable_declaration.dart:27:33 -> IntConstant(-1)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///metadata_variable_declaration.dart:16:10 -> IntConstant(-1)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///metadata_variable_declaration.dart:17:22 -> IntConstant(-1)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///metadata_variable_declaration.dart:18:31 -> IntConstant(-1)
+Extra constant evaluation: evaluated: 6, effectively constant: 6
diff --git a/pkg/front_end/testcases/coverage/metadata_variable_declaration.dart.textual_outline.expect b/pkg/front_end/testcases/coverage/metadata_variable_declaration.dart.textual_outline.expect
new file mode 100644
index 0000000..0e642a2
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/metadata_variable_declaration.dart.textual_outline.expect
@@ -0,0 +1,44 @@
+const annotation = null;
+
+var v0;
+
+var ;
+
+@annotation
+
+v1;
+
+var v2, @;
+
+annotation v3;
+
+int v4 = -1;
+
+int ;
+
+@annotation
+
+v5 = -1;
+
+int v6 = -1, @;
+
+annotation v7 = -1;
+
+class C {
+  var f0;
+  var ;
+  @annotation
+  f1;
+  var f2, ;
+  @annotation
+  f3;
+  int f4 = -1;
+  int ;
+  @annotation
+  f5 = -1;
+  int f6 = -1, ;
+  @annotation
+  f7 = -1;
+}
+
+void foo() {}
diff --git a/pkg/front_end/testcases/coverage/metadata_variable_declaration.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/coverage/metadata_variable_declaration.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..4dddbd4
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/metadata_variable_declaration.dart.textual_outline_modelled.expect
@@ -0,0 +1,42 @@
+annotation v3;
+
+annotation v7 = -1;
+
+class C {
+  @annotation
+  f1;
+  @annotation
+  f3;
+  @annotation
+  f5 = -1;
+  @annotation
+  f7 = -1;
+  int ;
+  int f4 = -1;
+  int f6 = -1, ;
+  var ;
+  var f0;
+  var f2, ;
+}
+
+const annotation = null;
+
+int ;
+
+int v4 = -1;
+
+int v6 = -1, @;
+
+@annotation
+v1;
+
+@annotation
+v5 = -1;
+
+var ;
+
+var v0;
+
+var v2, @;
+
+void foo() {}
diff --git a/pkg/front_end/testcases/coverage/operator_unsupported_test.dart b/pkg/front_end/testcases/coverage/operator_unsupported_test.dart
new file mode 100644
index 0000000..db859d8
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/operator_unsupported_test.dart
@@ -0,0 +1,23 @@
+// Copyright (c) 2024, 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.
+
+// Based on tests/language/operator/unsupported_test.dart
+
+// Test handling of unsupported operators.
+
+library unsupported_operators;
+
+class C {
+  m() {
+    print(super === null); // Error
+    print(super !== null); // Error
+  }
+}
+
+void foo() {
+  new C().m();
+  new C().m();
+  print("foo" === null); // Error
+  print("foo" !== null); // Error
+}
diff --git a/pkg/front_end/testcases/coverage/operator_unsupported_test.dart.strong.expect b/pkg/front_end/testcases/coverage/operator_unsupported_test.dart.strong.expect
new file mode 100644
index 0000000..fdc699a
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/operator_unsupported_test.dart.strong.expect
@@ -0,0 +1,62 @@
+library unsupported_operators;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/operator_unsupported_test.dart:13:17: Error: The '===' operator is not supported.
+//     print(super === null); // Error
+//                 ^
+//
+// pkg/front_end/testcases/coverage/operator_unsupported_test.dart:14:17: Error: The '!==' operator is not supported.
+//     print(super !== null); // Error
+//                 ^
+//
+// pkg/front_end/testcases/coverage/operator_unsupported_test.dart:21:15: Error: The '===' operator is not supported.
+//   print("foo" === null); // Error
+//               ^
+//
+// pkg/front_end/testcases/coverage/operator_unsupported_test.dart:22:15: Error: The '!==' operator is not supported.
+//   print("foo" !== null); // Error
+//               ^
+//
+// pkg/front_end/testcases/coverage/operator_unsupported_test.dart:13:17: Error: The string '===' isn't a user-definable operator.
+//     print(super === null); // Error
+//                 ^^^
+//
+// pkg/front_end/testcases/coverage/operator_unsupported_test.dart:14:17: Error: The string '!==' isn't a user-definable operator.
+//     print(super !== null); // Error
+//                 ^^^
+//
+// pkg/front_end/testcases/coverage/operator_unsupported_test.dart:21:15: Error: The string '===' isn't a user-definable operator.
+//   print("foo" === null); // Error
+//               ^^^
+//
+// pkg/front_end/testcases/coverage/operator_unsupported_test.dart:22:15: Error: The string '!==' isn't a user-definable operator.
+//   print("foo" !== null); // Error
+//               ^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class C extends core::Object {
+  synthetic constructor •() → self::C
+    : super core::Object::•()
+    ;
+  method m() → dynamic {
+    core::print(invalid-expression "pkg/front_end/testcases/coverage/operator_unsupported_test.dart:13:17: Error: The string '===' isn't a user-definable operator.
+    print(super === null); // Error
+                ^^^");
+    core::print(invalid-expression "pkg/front_end/testcases/coverage/operator_unsupported_test.dart:14:17: Error: The string '!==' isn't a user-definable operator.
+    print(super !== null); // Error
+                ^^^");
+  }
+}
+static method foo() → void {
+  new self::C::•().{self::C::m}(){() → dynamic};
+  new self::C::•().{self::C::m}(){() → dynamic};
+  core::print(invalid-expression "pkg/front_end/testcases/coverage/operator_unsupported_test.dart:21:15: Error: The string '===' isn't a user-definable operator.
+  print(\"foo\" === null); // Error
+              ^^^");
+  core::print(invalid-expression "pkg/front_end/testcases/coverage/operator_unsupported_test.dart:22:15: Error: The string '!==' isn't a user-definable operator.
+  print(\"foo\" !== null); // Error
+              ^^^");
+}
diff --git a/pkg/front_end/testcases/coverage/operator_unsupported_test.dart.strong.modular.expect b/pkg/front_end/testcases/coverage/operator_unsupported_test.dart.strong.modular.expect
new file mode 100644
index 0000000..fdc699a
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/operator_unsupported_test.dart.strong.modular.expect
@@ -0,0 +1,62 @@
+library unsupported_operators;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/operator_unsupported_test.dart:13:17: Error: The '===' operator is not supported.
+//     print(super === null); // Error
+//                 ^
+//
+// pkg/front_end/testcases/coverage/operator_unsupported_test.dart:14:17: Error: The '!==' operator is not supported.
+//     print(super !== null); // Error
+//                 ^
+//
+// pkg/front_end/testcases/coverage/operator_unsupported_test.dart:21:15: Error: The '===' operator is not supported.
+//   print("foo" === null); // Error
+//               ^
+//
+// pkg/front_end/testcases/coverage/operator_unsupported_test.dart:22:15: Error: The '!==' operator is not supported.
+//   print("foo" !== null); // Error
+//               ^
+//
+// pkg/front_end/testcases/coverage/operator_unsupported_test.dart:13:17: Error: The string '===' isn't a user-definable operator.
+//     print(super === null); // Error
+//                 ^^^
+//
+// pkg/front_end/testcases/coverage/operator_unsupported_test.dart:14:17: Error: The string '!==' isn't a user-definable operator.
+//     print(super !== null); // Error
+//                 ^^^
+//
+// pkg/front_end/testcases/coverage/operator_unsupported_test.dart:21:15: Error: The string '===' isn't a user-definable operator.
+//   print("foo" === null); // Error
+//               ^^^
+//
+// pkg/front_end/testcases/coverage/operator_unsupported_test.dart:22:15: Error: The string '!==' isn't a user-definable operator.
+//   print("foo" !== null); // Error
+//               ^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class C extends core::Object {
+  synthetic constructor •() → self::C
+    : super core::Object::•()
+    ;
+  method m() → dynamic {
+    core::print(invalid-expression "pkg/front_end/testcases/coverage/operator_unsupported_test.dart:13:17: Error: The string '===' isn't a user-definable operator.
+    print(super === null); // Error
+                ^^^");
+    core::print(invalid-expression "pkg/front_end/testcases/coverage/operator_unsupported_test.dart:14:17: Error: The string '!==' isn't a user-definable operator.
+    print(super !== null); // Error
+                ^^^");
+  }
+}
+static method foo() → void {
+  new self::C::•().{self::C::m}(){() → dynamic};
+  new self::C::•().{self::C::m}(){() → dynamic};
+  core::print(invalid-expression "pkg/front_end/testcases/coverage/operator_unsupported_test.dart:21:15: Error: The string '===' isn't a user-definable operator.
+  print(\"foo\" === null); // Error
+              ^^^");
+  core::print(invalid-expression "pkg/front_end/testcases/coverage/operator_unsupported_test.dart:22:15: Error: The string '!==' isn't a user-definable operator.
+  print(\"foo\" !== null); // Error
+              ^^^");
+}
diff --git a/pkg/front_end/testcases/coverage/operator_unsupported_test.dart.strong.outline.expect b/pkg/front_end/testcases/coverage/operator_unsupported_test.dart.strong.outline.expect
new file mode 100644
index 0000000..a51c3e4
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/operator_unsupported_test.dart.strong.outline.expect
@@ -0,0 +1,31 @@
+library unsupported_operators;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/operator_unsupported_test.dart:13:17: Error: The '===' operator is not supported.
+//     print(super === null); // Error
+//                 ^
+//
+// pkg/front_end/testcases/coverage/operator_unsupported_test.dart:14:17: Error: The '!==' operator is not supported.
+//     print(super !== null); // Error
+//                 ^
+//
+// pkg/front_end/testcases/coverage/operator_unsupported_test.dart:21:15: Error: The '===' operator is not supported.
+//   print("foo" === null); // Error
+//               ^
+//
+// pkg/front_end/testcases/coverage/operator_unsupported_test.dart:22:15: Error: The '!==' operator is not supported.
+//   print("foo" !== null); // Error
+//               ^
+//
+import self as self;
+import "dart:core" as core;
+
+class C extends core::Object {
+  synthetic constructor •() → self::C
+    ;
+  method m() → dynamic
+    ;
+}
+static method foo() → void
+  ;
diff --git a/pkg/front_end/testcases/coverage/operator_unsupported_test.dart.strong.transformed.expect b/pkg/front_end/testcases/coverage/operator_unsupported_test.dart.strong.transformed.expect
new file mode 100644
index 0000000..fdc699a
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/operator_unsupported_test.dart.strong.transformed.expect
@@ -0,0 +1,62 @@
+library unsupported_operators;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/operator_unsupported_test.dart:13:17: Error: The '===' operator is not supported.
+//     print(super === null); // Error
+//                 ^
+//
+// pkg/front_end/testcases/coverage/operator_unsupported_test.dart:14:17: Error: The '!==' operator is not supported.
+//     print(super !== null); // Error
+//                 ^
+//
+// pkg/front_end/testcases/coverage/operator_unsupported_test.dart:21:15: Error: The '===' operator is not supported.
+//   print("foo" === null); // Error
+//               ^
+//
+// pkg/front_end/testcases/coverage/operator_unsupported_test.dart:22:15: Error: The '!==' operator is not supported.
+//   print("foo" !== null); // Error
+//               ^
+//
+// pkg/front_end/testcases/coverage/operator_unsupported_test.dart:13:17: Error: The string '===' isn't a user-definable operator.
+//     print(super === null); // Error
+//                 ^^^
+//
+// pkg/front_end/testcases/coverage/operator_unsupported_test.dart:14:17: Error: The string '!==' isn't a user-definable operator.
+//     print(super !== null); // Error
+//                 ^^^
+//
+// pkg/front_end/testcases/coverage/operator_unsupported_test.dart:21:15: Error: The string '===' isn't a user-definable operator.
+//   print("foo" === null); // Error
+//               ^^^
+//
+// pkg/front_end/testcases/coverage/operator_unsupported_test.dart:22:15: Error: The string '!==' isn't a user-definable operator.
+//   print("foo" !== null); // Error
+//               ^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class C extends core::Object {
+  synthetic constructor •() → self::C
+    : super core::Object::•()
+    ;
+  method m() → dynamic {
+    core::print(invalid-expression "pkg/front_end/testcases/coverage/operator_unsupported_test.dart:13:17: Error: The string '===' isn't a user-definable operator.
+    print(super === null); // Error
+                ^^^");
+    core::print(invalid-expression "pkg/front_end/testcases/coverage/operator_unsupported_test.dart:14:17: Error: The string '!==' isn't a user-definable operator.
+    print(super !== null); // Error
+                ^^^");
+  }
+}
+static method foo() → void {
+  new self::C::•().{self::C::m}(){() → dynamic};
+  new self::C::•().{self::C::m}(){() → dynamic};
+  core::print(invalid-expression "pkg/front_end/testcases/coverage/operator_unsupported_test.dart:21:15: Error: The string '===' isn't a user-definable operator.
+  print(\"foo\" === null); // Error
+              ^^^");
+  core::print(invalid-expression "pkg/front_end/testcases/coverage/operator_unsupported_test.dart:22:15: Error: The string '!==' isn't a user-definable operator.
+  print(\"foo\" !== null); // Error
+              ^^^");
+}
diff --git a/pkg/front_end/testcases/coverage/set_literal_test.dart b/pkg/front_end/testcases/coverage/set_literal_test.dart
new file mode 100644
index 0000000..edaf168
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/set_literal_test.dart
@@ -0,0 +1,10 @@
+// Copyright (c) 2024, 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.
+
+// Based on tests/language/set_literals/invalid_set_literal_test.dart
+
+void foo() {
+  var x = <int>{1}; // OK
+  var y = <int>{1: 1}; // Error
+}
\ No newline at end of file
diff --git a/pkg/front_end/testcases/coverage/set_literal_test.dart.strong.expect b/pkg/front_end/testcases/coverage/set_literal_test.dart.strong.expect
new file mode 100644
index 0000000..8ee025c
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/set_literal_test.dart.strong.expect
@@ -0,0 +1,21 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/set_literal_test.dart:9:18: Error: Expected ',' before this.
+//   var y = <int>{1: 1}; // Error
+//                  ^
+//
+import self as self;
+import "dart:core" as core;
+import "dart:collection" as col;
+
+static method foo() → void {
+  core::Set<core::int> x = block {
+    final core::Set<core::int> #t1 = col::LinkedHashSet::•<core::int>();
+    #t1.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
+  } =>#t1;
+  core::Set<core::int> y = block {
+    final core::Set<core::int> #t2 = col::LinkedHashSet::•<core::int>();
+  } =>#t2;
+}
diff --git a/pkg/front_end/testcases/coverage/set_literal_test.dart.strong.modular.expect b/pkg/front_end/testcases/coverage/set_literal_test.dart.strong.modular.expect
new file mode 100644
index 0000000..8ee025c
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/set_literal_test.dart.strong.modular.expect
@@ -0,0 +1,21 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/set_literal_test.dart:9:18: Error: Expected ',' before this.
+//   var y = <int>{1: 1}; // Error
+//                  ^
+//
+import self as self;
+import "dart:core" as core;
+import "dart:collection" as col;
+
+static method foo() → void {
+  core::Set<core::int> x = block {
+    final core::Set<core::int> #t1 = col::LinkedHashSet::•<core::int>();
+    #t1.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
+  } =>#t1;
+  core::Set<core::int> y = block {
+    final core::Set<core::int> #t2 = col::LinkedHashSet::•<core::int>();
+  } =>#t2;
+}
diff --git a/pkg/front_end/testcases/coverage/set_literal_test.dart.strong.outline.expect b/pkg/front_end/testcases/coverage/set_literal_test.dart.strong.outline.expect
new file mode 100644
index 0000000..4a8528a
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/set_literal_test.dart.strong.outline.expect
@@ -0,0 +1,5 @@
+library;
+import self as self;
+
+static method foo() → void
+  ;
diff --git a/pkg/front_end/testcases/coverage/set_literal_test.dart.strong.transformed.expect b/pkg/front_end/testcases/coverage/set_literal_test.dart.strong.transformed.expect
new file mode 100644
index 0000000..3a74cd5
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/set_literal_test.dart.strong.transformed.expect
@@ -0,0 +1,21 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/set_literal_test.dart:9:18: Error: Expected ',' before this.
+//   var y = <int>{1: 1}; // Error
+//                  ^
+//
+import self as self;
+import "dart:core" as core;
+import "dart:collection" as col;
+
+static method foo() → void {
+  core::Set<core::int> x = block {
+    final core::Set<core::int> #t1 = new col::_Set::•<core::int>();
+    #t1.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
+  } =>#t1;
+  core::Set<core::int> y = block {
+    final core::Set<core::int> #t2 = new col::_Set::•<core::int>();
+  } =>#t2;
+}
diff --git a/pkg/front_end/testcases/coverage/set_literal_test.dart.textual_outline.expect b/pkg/front_end/testcases/coverage/set_literal_test.dart.textual_outline.expect
new file mode 100644
index 0000000..85e6cd8
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/set_literal_test.dart.textual_outline.expect
@@ -0,0 +1 @@
+void foo() {}
diff --git a/pkg/front_end/testcases/coverage/set_literal_test.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/coverage/set_literal_test.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..85e6cd8
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/set_literal_test.dart.textual_outline_modelled.expect
@@ -0,0 +1 @@
+void foo() {}
diff --git a/pkg/front_end/testcases/coverage/static2_test.dart b/pkg/front_end/testcases/coverage/static2_test.dart
new file mode 100644
index 0000000..834b0f5
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/static2_test.dart
@@ -0,0 +1,10 @@
+// Copyright (c) 2024, 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.
+
+// Based on tests/language/compile_time_constant/static2_test.dart
+
+class A {
+  final int x;
+  const A.a4(String this.x); // Error
+}
diff --git a/pkg/front_end/testcases/coverage/static2_test.dart.strong.expect b/pkg/front_end/testcases/coverage/static2_test.dart.strong.expect
new file mode 100644
index 0000000..4193e0f
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/static2_test.dart.strong.expect
@@ -0,0 +1,21 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/static2_test.dart:9:26: Error: The type of parameter 'x', 'String' is not a subtype of the corresponding field's type, 'int'.
+// Try changing the type of parameter 'x' to a subtype of 'int'.
+//   const A.a4(String this.x); // Error
+//                          ^
+// pkg/front_end/testcases/coverage/static2_test.dart:8:13: Context: The field that corresponds to the parameter.
+//   final int x;
+//             ^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object /*hasConstConstructor*/  {
+  final field core::int x;
+  const constructor a4(core::String x) → self::A
+    : self::A::x = x, super core::Object::•()
+    ;
+}
diff --git a/pkg/front_end/testcases/coverage/static2_test.dart.strong.modular.expect b/pkg/front_end/testcases/coverage/static2_test.dart.strong.modular.expect
new file mode 100644
index 0000000..4193e0f
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/static2_test.dart.strong.modular.expect
@@ -0,0 +1,21 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/static2_test.dart:9:26: Error: The type of parameter 'x', 'String' is not a subtype of the corresponding field's type, 'int'.
+// Try changing the type of parameter 'x' to a subtype of 'int'.
+//   const A.a4(String this.x); // Error
+//                          ^
+// pkg/front_end/testcases/coverage/static2_test.dart:8:13: Context: The field that corresponds to the parameter.
+//   final int x;
+//             ^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object /*hasConstConstructor*/  {
+  final field core::int x;
+  const constructor a4(core::String x) → self::A
+    : self::A::x = x, super core::Object::•()
+    ;
+}
diff --git a/pkg/front_end/testcases/coverage/static2_test.dart.strong.outline.expect b/pkg/front_end/testcases/coverage/static2_test.dart.strong.outline.expect
new file mode 100644
index 0000000..4193e0f
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/static2_test.dart.strong.outline.expect
@@ -0,0 +1,21 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/static2_test.dart:9:26: Error: The type of parameter 'x', 'String' is not a subtype of the corresponding field's type, 'int'.
+// Try changing the type of parameter 'x' to a subtype of 'int'.
+//   const A.a4(String this.x); // Error
+//                          ^
+// pkg/front_end/testcases/coverage/static2_test.dart:8:13: Context: The field that corresponds to the parameter.
+//   final int x;
+//             ^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object /*hasConstConstructor*/  {
+  final field core::int x;
+  const constructor a4(core::String x) → self::A
+    : self::A::x = x, super core::Object::•()
+    ;
+}
diff --git a/pkg/front_end/testcases/coverage/static2_test.dart.textual_outline.expect b/pkg/front_end/testcases/coverage/static2_test.dart.textual_outline.expect
new file mode 100644
index 0000000..2e6e04d
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/static2_test.dart.textual_outline.expect
@@ -0,0 +1,4 @@
+class A {
+  final int x;
+  const A.a4(String this.x);
+}
diff --git a/pkg/front_end/testcases/coverage/static2_test.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/coverage/static2_test.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..bd2dde9
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/static2_test.dart.textual_outline_modelled.expect
@@ -0,0 +1,4 @@
+class A {
+  const A.a4(String this.x);
+  final int x;
+}
diff --git a/pkg/front_end/testcases/coverage/switch3_test.dart b/pkg/front_end/testcases/coverage/switch3_test.dart
new file mode 100644
index 0000000..2e18686
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/switch3_test.dart
@@ -0,0 +1,18 @@
+// Copyright (c) 2024, 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.
+
+// Based on tests/language/switch/switch3_test.dart
+
+/// Check that 'continue' to switch statement is illegal.
+
+void foo() {
+  var a = 5;
+  var x;
+  bar: switch (a) {
+    case 1: x = 1; break;
+    case 6: x = 2; continue; // Error
+    case 8:  break;
+  }
+  return a;
+}
diff --git a/pkg/front_end/testcases/coverage/switch3_test.dart.strong.expect b/pkg/front_end/testcases/coverage/switch3_test.dart.strong.expect
new file mode 100644
index 0000000..d8a5727
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/switch3_test.dart.strong.expect
@@ -0,0 +1,27 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/switch3_test.dart:14:20: Error: A continue statement in a switch statement must have a label as a target.
+// Try adding a label associated with one of the case clauses to the continue statement.
+//     case 6: x = 2; continue; // Error
+//                    ^^^^^^^^
+//
+// pkg/front_end/testcases/coverage/switch3_test.dart:17:10: Error: Can't return a value from a void function.
+//   return a;
+//          ^
+//
+import self as self;
+import "dart:core" as core;
+
+static method foo() → void {
+  core::int a = 5;
+  dynamic x;
+  invalid-expression "pkg/front_end/testcases/coverage/switch3_test.dart:14:20: Error: A continue statement in a switch statement must have a label as a target.
+Try adding a label associated with one of the case clauses to the continue statement.
+    case 6: x = 2; continue; // Error
+                   ^^^^^^^^";
+  return invalid-expression "pkg/front_end/testcases/coverage/switch3_test.dart:17:10: Error: Can't return a value from a void function.
+  return a;
+         ^" in a;
+}
diff --git a/pkg/front_end/testcases/coverage/switch3_test.dart.strong.modular.expect b/pkg/front_end/testcases/coverage/switch3_test.dart.strong.modular.expect
new file mode 100644
index 0000000..d8a5727
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/switch3_test.dart.strong.modular.expect
@@ -0,0 +1,27 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/switch3_test.dart:14:20: Error: A continue statement in a switch statement must have a label as a target.
+// Try adding a label associated with one of the case clauses to the continue statement.
+//     case 6: x = 2; continue; // Error
+//                    ^^^^^^^^
+//
+// pkg/front_end/testcases/coverage/switch3_test.dart:17:10: Error: Can't return a value from a void function.
+//   return a;
+//          ^
+//
+import self as self;
+import "dart:core" as core;
+
+static method foo() → void {
+  core::int a = 5;
+  dynamic x;
+  invalid-expression "pkg/front_end/testcases/coverage/switch3_test.dart:14:20: Error: A continue statement in a switch statement must have a label as a target.
+Try adding a label associated with one of the case clauses to the continue statement.
+    case 6: x = 2; continue; // Error
+                   ^^^^^^^^";
+  return invalid-expression "pkg/front_end/testcases/coverage/switch3_test.dart:17:10: Error: Can't return a value from a void function.
+  return a;
+         ^" in a;
+}
diff --git a/pkg/front_end/testcases/coverage/switch3_test.dart.strong.outline.expect b/pkg/front_end/testcases/coverage/switch3_test.dart.strong.outline.expect
new file mode 100644
index 0000000..4a8528a
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/switch3_test.dart.strong.outline.expect
@@ -0,0 +1,5 @@
+library;
+import self as self;
+
+static method foo() → void
+  ;
diff --git a/pkg/front_end/testcases/coverage/switch3_test.dart.strong.transformed.expect b/pkg/front_end/testcases/coverage/switch3_test.dart.strong.transformed.expect
new file mode 100644
index 0000000..d8a5727
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/switch3_test.dart.strong.transformed.expect
@@ -0,0 +1,27 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/switch3_test.dart:14:20: Error: A continue statement in a switch statement must have a label as a target.
+// Try adding a label associated with one of the case clauses to the continue statement.
+//     case 6: x = 2; continue; // Error
+//                    ^^^^^^^^
+//
+// pkg/front_end/testcases/coverage/switch3_test.dart:17:10: Error: Can't return a value from a void function.
+//   return a;
+//          ^
+//
+import self as self;
+import "dart:core" as core;
+
+static method foo() → void {
+  core::int a = 5;
+  dynamic x;
+  invalid-expression "pkg/front_end/testcases/coverage/switch3_test.dart:14:20: Error: A continue statement in a switch statement must have a label as a target.
+Try adding a label associated with one of the case clauses to the continue statement.
+    case 6: x = 2; continue; // Error
+                   ^^^^^^^^";
+  return invalid-expression "pkg/front_end/testcases/coverage/switch3_test.dart:17:10: Error: Can't return a value from a void function.
+  return a;
+         ^" in a;
+}
diff --git a/pkg/front_end/testcases/coverage/switch3_test.dart.textual_outline.expect b/pkg/front_end/testcases/coverage/switch3_test.dart.textual_outline.expect
new file mode 100644
index 0000000..85e6cd8
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/switch3_test.dart.textual_outline.expect
@@ -0,0 +1 @@
+void foo() {}
diff --git a/pkg/front_end/testcases/coverage/switch3_test.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/coverage/switch3_test.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..85e6cd8
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/switch3_test.dart.textual_outline_modelled.expect
@@ -0,0 +1 @@
+void foo() {}
diff --git a/pkg/front_end/testcases/coverage/switch4_test.dart b/pkg/front_end/testcases/coverage/switch4_test.dart
new file mode 100644
index 0000000..ea5eabe
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/switch4_test.dart
@@ -0,0 +1,23 @@
+// Copyright (c) 2024, 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.
+
+// Based on tests/language/switch/switch4_test.dart
+
+/// Discover unresolved case labels.
+
+void foo() {
+  var a = 5;
+  var x;
+  switch (a) {
+    case 1:
+      x = 1;
+      continue L; // Error
+    case 6:
+      x = 2;
+      break;
+    case 8:
+      break;
+  }
+  return a;
+}
diff --git a/pkg/front_end/testcases/coverage/switch4_test.dart.strong.expect b/pkg/front_end/testcases/coverage/switch4_test.dart.strong.expect
new file mode 100644
index 0000000..7fcdf2b
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/switch4_test.dart.strong.expect
@@ -0,0 +1,53 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/switch4_test.dart:15:7: Error: Can't find label 'L'.
+// Try defining the label, or correcting the name to match an existing label.
+//       continue L; // Error
+//       ^
+//
+// pkg/front_end/testcases/coverage/switch4_test.dart:22:10: Error: Can't return a value from a void function.
+//   return a;
+//          ^
+//
+import self as self;
+import "dart:core" as core;
+
+static method foo() → void {
+  core::int a = 5;
+  dynamic x;
+  #L1:
+  switch(a) /* core::int */ {
+    #L2:
+    case #C1:
+      {
+        x = 1;
+        invalid-expression "pkg/front_end/testcases/coverage/switch4_test.dart:15:7: Error: Can't find label 'L'.
+Try defining the label, or correcting the name to match an existing label.
+      continue L; // Error
+      ^";
+        break #L1;
+      }
+    #L3:
+    case #C2:
+      {
+        x = 2;
+        break #L1;
+      }
+    #L4:
+    case #C3:
+      {
+        break #L1;
+      }
+  }
+  return invalid-expression "pkg/front_end/testcases/coverage/switch4_test.dart:22:10: Error: Can't return a value from a void function.
+  return a;
+         ^" in a;
+}
+
+constants  {
+  #C1 = 1
+  #C2 = 6
+  #C3 = 8
+}
diff --git a/pkg/front_end/testcases/coverage/switch4_test.dart.strong.modular.expect b/pkg/front_end/testcases/coverage/switch4_test.dart.strong.modular.expect
new file mode 100644
index 0000000..7fcdf2b
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/switch4_test.dart.strong.modular.expect
@@ -0,0 +1,53 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/switch4_test.dart:15:7: Error: Can't find label 'L'.
+// Try defining the label, or correcting the name to match an existing label.
+//       continue L; // Error
+//       ^
+//
+// pkg/front_end/testcases/coverage/switch4_test.dart:22:10: Error: Can't return a value from a void function.
+//   return a;
+//          ^
+//
+import self as self;
+import "dart:core" as core;
+
+static method foo() → void {
+  core::int a = 5;
+  dynamic x;
+  #L1:
+  switch(a) /* core::int */ {
+    #L2:
+    case #C1:
+      {
+        x = 1;
+        invalid-expression "pkg/front_end/testcases/coverage/switch4_test.dart:15:7: Error: Can't find label 'L'.
+Try defining the label, or correcting the name to match an existing label.
+      continue L; // Error
+      ^";
+        break #L1;
+      }
+    #L3:
+    case #C2:
+      {
+        x = 2;
+        break #L1;
+      }
+    #L4:
+    case #C3:
+      {
+        break #L1;
+      }
+  }
+  return invalid-expression "pkg/front_end/testcases/coverage/switch4_test.dart:22:10: Error: Can't return a value from a void function.
+  return a;
+         ^" in a;
+}
+
+constants  {
+  #C1 = 1
+  #C2 = 6
+  #C3 = 8
+}
diff --git a/pkg/front_end/testcases/coverage/switch4_test.dart.strong.outline.expect b/pkg/front_end/testcases/coverage/switch4_test.dart.strong.outline.expect
new file mode 100644
index 0000000..4a8528a
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/switch4_test.dart.strong.outline.expect
@@ -0,0 +1,5 @@
+library;
+import self as self;
+
+static method foo() → void
+  ;
diff --git a/pkg/front_end/testcases/coverage/switch4_test.dart.strong.transformed.expect b/pkg/front_end/testcases/coverage/switch4_test.dart.strong.transformed.expect
new file mode 100644
index 0000000..7fcdf2b
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/switch4_test.dart.strong.transformed.expect
@@ -0,0 +1,53 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/switch4_test.dart:15:7: Error: Can't find label 'L'.
+// Try defining the label, or correcting the name to match an existing label.
+//       continue L; // Error
+//       ^
+//
+// pkg/front_end/testcases/coverage/switch4_test.dart:22:10: Error: Can't return a value from a void function.
+//   return a;
+//          ^
+//
+import self as self;
+import "dart:core" as core;
+
+static method foo() → void {
+  core::int a = 5;
+  dynamic x;
+  #L1:
+  switch(a) /* core::int */ {
+    #L2:
+    case #C1:
+      {
+        x = 1;
+        invalid-expression "pkg/front_end/testcases/coverage/switch4_test.dart:15:7: Error: Can't find label 'L'.
+Try defining the label, or correcting the name to match an existing label.
+      continue L; // Error
+      ^";
+        break #L1;
+      }
+    #L3:
+    case #C2:
+      {
+        x = 2;
+        break #L1;
+      }
+    #L4:
+    case #C3:
+      {
+        break #L1;
+      }
+  }
+  return invalid-expression "pkg/front_end/testcases/coverage/switch4_test.dart:22:10: Error: Can't return a value from a void function.
+  return a;
+         ^" in a;
+}
+
+constants  {
+  #C1 = 1
+  #C2 = 6
+  #C3 = 8
+}
diff --git a/pkg/front_end/testcases/coverage/switch4_test.dart.textual_outline.expect b/pkg/front_end/testcases/coverage/switch4_test.dart.textual_outline.expect
new file mode 100644
index 0000000..85e6cd8
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/switch4_test.dart.textual_outline.expect
@@ -0,0 +1 @@
+void foo() {}
diff --git a/pkg/front_end/testcases/coverage/switch4_test.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/coverage/switch4_test.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..85e6cd8
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/switch4_test.dart.textual_outline_modelled.expect
@@ -0,0 +1 @@
+void foo() {}
diff --git a/pkg/front_end/testcases/coverage/try_catch_syntax_test.dart b/pkg/front_end/testcases/coverage/try_catch_syntax_test.dart
new file mode 100644
index 0000000..6174c72
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/try_catch_syntax_test.dart
@@ -0,0 +1,16 @@
+// Copyright (c) 2024, 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.
+
+// Based on tests/language/exception/try_catch_syntax_test.dart
+
+testIllegalRethrow() {
+  try {
+    rethrow; // Error
+  } catch (e) {}
+
+  try {} catch (e) {
+  } finally {
+    rethrow; // Error
+  }
+}
diff --git a/pkg/front_end/testcases/coverage/try_catch_syntax_test.dart.strong.expect b/pkg/front_end/testcases/coverage/try_catch_syntax_test.dart.strong.expect
new file mode 100644
index 0000000..2239d53
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/try_catch_syntax_test.dart.strong.expect
@@ -0,0 +1,34 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/try_catch_syntax_test.dart:9:5: Error: 'rethrow' can only be used in catch clauses.
+//     rethrow; // Error
+//     ^^^^^^^
+//
+// pkg/front_end/testcases/coverage/try_catch_syntax_test.dart:14:5: Error: 'rethrow' can only be used in catch clauses.
+//     rethrow; // Error
+//     ^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+static method testIllegalRethrow() → dynamic {
+  try {
+    invalid-expression "pkg/front_end/testcases/coverage/try_catch_syntax_test.dart:9:5: Error: 'rethrow' can only be used in catch clauses.
+    rethrow; // Error
+    ^^^^^^^";
+  }
+  on core::Object catch(final core::Object e) {
+  }
+  try
+    try {
+    }
+    on core::Object catch(final core::Object e) {
+    }
+  finally {
+    invalid-expression "pkg/front_end/testcases/coverage/try_catch_syntax_test.dart:14:5: Error: 'rethrow' can only be used in catch clauses.
+    rethrow; // Error
+    ^^^^^^^";
+  }
+}
diff --git a/pkg/front_end/testcases/coverage/try_catch_syntax_test.dart.strong.modular.expect b/pkg/front_end/testcases/coverage/try_catch_syntax_test.dart.strong.modular.expect
new file mode 100644
index 0000000..2239d53
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/try_catch_syntax_test.dart.strong.modular.expect
@@ -0,0 +1,34 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/try_catch_syntax_test.dart:9:5: Error: 'rethrow' can only be used in catch clauses.
+//     rethrow; // Error
+//     ^^^^^^^
+//
+// pkg/front_end/testcases/coverage/try_catch_syntax_test.dart:14:5: Error: 'rethrow' can only be used in catch clauses.
+//     rethrow; // Error
+//     ^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+static method testIllegalRethrow() → dynamic {
+  try {
+    invalid-expression "pkg/front_end/testcases/coverage/try_catch_syntax_test.dart:9:5: Error: 'rethrow' can only be used in catch clauses.
+    rethrow; // Error
+    ^^^^^^^";
+  }
+  on core::Object catch(final core::Object e) {
+  }
+  try
+    try {
+    }
+    on core::Object catch(final core::Object e) {
+    }
+  finally {
+    invalid-expression "pkg/front_end/testcases/coverage/try_catch_syntax_test.dart:14:5: Error: 'rethrow' can only be used in catch clauses.
+    rethrow; // Error
+    ^^^^^^^";
+  }
+}
diff --git a/pkg/front_end/testcases/coverage/try_catch_syntax_test.dart.strong.outline.expect b/pkg/front_end/testcases/coverage/try_catch_syntax_test.dart.strong.outline.expect
new file mode 100644
index 0000000..c0f3a70
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/try_catch_syntax_test.dart.strong.outline.expect
@@ -0,0 +1,5 @@
+library;
+import self as self;
+
+static method testIllegalRethrow() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/coverage/try_catch_syntax_test.dart.strong.transformed.expect b/pkg/front_end/testcases/coverage/try_catch_syntax_test.dart.strong.transformed.expect
new file mode 100644
index 0000000..2239d53
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/try_catch_syntax_test.dart.strong.transformed.expect
@@ -0,0 +1,34 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/try_catch_syntax_test.dart:9:5: Error: 'rethrow' can only be used in catch clauses.
+//     rethrow; // Error
+//     ^^^^^^^
+//
+// pkg/front_end/testcases/coverage/try_catch_syntax_test.dart:14:5: Error: 'rethrow' can only be used in catch clauses.
+//     rethrow; // Error
+//     ^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+static method testIllegalRethrow() → dynamic {
+  try {
+    invalid-expression "pkg/front_end/testcases/coverage/try_catch_syntax_test.dart:9:5: Error: 'rethrow' can only be used in catch clauses.
+    rethrow; // Error
+    ^^^^^^^";
+  }
+  on core::Object catch(final core::Object e) {
+  }
+  try
+    try {
+    }
+    on core::Object catch(final core::Object e) {
+    }
+  finally {
+    invalid-expression "pkg/front_end/testcases/coverage/try_catch_syntax_test.dart:14:5: Error: 'rethrow' can only be used in catch clauses.
+    rethrow; // Error
+    ^^^^^^^";
+  }
+}
diff --git a/pkg/front_end/testcases/coverage/try_catch_syntax_test.dart.textual_outline.expect b/pkg/front_end/testcases/coverage/try_catch_syntax_test.dart.textual_outline.expect
new file mode 100644
index 0000000..4c21567
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/try_catch_syntax_test.dart.textual_outline.expect
@@ -0,0 +1 @@
+testIllegalRethrow() {}
diff --git a/pkg/front_end/testcases/coverage/try_catch_syntax_test.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/coverage/try_catch_syntax_test.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..4c21567
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/try_catch_syntax_test.dart.textual_outline_modelled.expect
@@ -0,0 +1 @@
+testIllegalRethrow() {}
diff --git a/pkg/front_end/testcases/modular.status b/pkg/front_end/testcases/modular.status
index bbb5d39..dfb43cb 100644
--- a/pkg/front_end/testcases/modular.status
+++ b/pkg/front_end/testcases/modular.status
@@ -72,4 +72,4 @@
 nnbd/issue42603: TypeCheckError
 no_such_method_forwarders/mixin_nsm: TypeCheckError
 runtime_checks_new/mixin_forwarding_stub_getter: TypeCheckError
-
+coverage/static2_test: TypeCheckError
diff --git a/pkg/front_end/testcases/outline.status b/pkg/front_end/testcases/outline.status
index 6dd3920..bc42a7e 100644
--- a/pkg/front_end/testcases/outline.status
+++ b/pkg/front_end/testcases/outline.status
@@ -69,3 +69,4 @@
 nnbd_mixed/covariant_from_opt_in: TypeCheckError
 no_such_method_forwarders/mixin_nsm: TypeCheckError
 rasta/native_is_illegal: Pass # Issue 29763
+coverage/static2_test: TypeCheckError
diff --git a/pkg/front_end/testcases/strong.status b/pkg/front_end/testcases/strong.status
index a1234c6..5acbe09 100644
--- a/pkg/front_end/testcases/strong.status
+++ b/pkg/front_end/testcases/strong.status
@@ -109,6 +109,7 @@
 nnbd/platform_optional_parameters/main: SemiFuzzFailure
 
 # UNSORTED ONES:
+coverage/static2_test: TypeCheckError
 constructor_tearoffs/explicit_instantiation: SemiFuzzFailure
 general/bad_import: SemiFuzzCrash # missing end token on import
 general/constants/with_unevaluated_agnostic/various_2: SemiFuzzFailure # Looks similar to https://dart-review.googlesource.com/c/sdk/+/242441
diff --git a/pkg/front_end/testcases/textual_outline.status b/pkg/front_end/testcases/textual_outline.status
index 647cb2b..1090792 100644
--- a/pkg/front_end/testcases/textual_outline.status
+++ b/pkg/front_end/testcases/textual_outline.status
@@ -71,3 +71,7 @@
 rasta/malformed_const_constructor: UnknownChunk # Test has parser errors
 regress/ambiguous_builder_01: UnknownChunk # Test has parser errors
 regress/issue_34850: UnknownChunk # Test has parser errors
+
+coverage/external_test: FormatterCrash
+coverage/metadata_test: FormatterCrash
+coverage/operator_unsupported_test: EmptyOutput
diff --git a/pkg/front_end/testcases/weak.status b/pkg/front_end/testcases/weak.status
index bef3200..d463f7f 100644
--- a/pkg/front_end/testcases/weak.status
+++ b/pkg/front_end/testcases/weak.status
@@ -68,6 +68,7 @@
 general/script_tag_in_part_file: SemiFuzzFailure # `#!/usr/bin/env dart` goes away
 
 # UNSORTED ONES:
+coverage/static2_test: TypeCheckError
 constructor_tearoffs/explicit_instantiation: SemiFuzzFailure
 general/bad_import: SemiFuzzCrash # missing end token on import
 macros/scope_access: SemiFuzzCrash
diff --git a/pkg/front_end/testing.json b/pkg/front_end/testing.json
index af77342..365fb63 100644
--- a/pkg/front_end/testing.json
+++ b/pkg/front_end/testing.json
@@ -93,12 +93,13 @@
         ".crash_dart"
       ],
       "exclude": [
-        "/testcases/.*_part[0-9]*\\.dart$",
         "/testcases/.*_lib[0-9]*\\.dart$",
+        "/testcases/.*_part[0-9]*\\.dart$",
         "/testcases/agnostic/",
         "/testcases/class_modifiers/",
         "/testcases/const_functions/",
         "/testcases/constructor_tearoffs/",
+        "/testcases/coverage/",
         "/testcases/dart2wasm/",
         "/testcases/dartdevc/",
         "/testcases/dartino/",
@@ -110,11 +111,11 @@
         "/testcases/generic_metadata/",
         "/testcases/implicit_getter_calls/",
         "/testcases/incremental/",
-        "/testcases/inference/",
         "/testcases/inference_new/",
         "/testcases/inference_update_1/",
         "/testcases/inference_update_2/",
         "/testcases/inference_update_3/",
+        "/testcases/inference/",
         "/testcases/instantiate_to_bound/",
         "/testcases/late_lowering/",
         "/testcases/late_lowering_sentinel/",
@@ -124,6 +125,7 @@
         "/testcases/no_such_method_forwarders/",
         "/testcases/none/",
         "/testcases/nonfunction_type_aliases/",
+        "/testcases/null_aware_elements/",
         "/testcases/offsets/",
         "/testcases/patterns/",
         "/testcases/rasta/",
@@ -139,8 +141,7 @@
         "/testcases/unified_collections/",
         "/testcases/unscheduled_experiments/",
         "/testcases/variance/",
-        "/testcases/wildcard_variables/",
-	"/testcases/null_aware_elements/"
+        "/testcases/wildcard_variables/"
       ]
     },
     {