[CFE] Increase test coverage 04

Change-Id: I38d3e1f1405d2ca47af55f20c129a5e747fb651c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/379621
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@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 a8bcb62..ea60b62 100644
--- a/pkg/front_end/lib/src/kernel/body_builder.dart
+++ b/pkg/front_end/lib/src/kernel/body_builder.dart
@@ -6434,13 +6434,9 @@
                   buildProblem(message.messageObject, nameToken.charOffset,
                       nameToken.lexeme.length));
             case TypeAliasBuilder():
-            // Coverage-ignore(suite): Not run.
             case NominalVariableBuilder():
-            // Coverage-ignore(suite): Not run.
             case StructuralVariableBuilder():
-            // Coverage-ignore(suite): Not run.
             case ExtensionBuilder():
-            // Coverage-ignore(suite): Not run.
             case BuiltinTypeDeclarationBuilder():
             // Coverage-ignore(suite): Not run.
             // TODO(johnniwinther): How should we handle this case?
diff --git a/pkg/front_end/lib/src/source/source_loader.dart b/pkg/front_end/lib/src/source/source_loader.dart
index f07121a..4873789 100644
--- a/pkg/front_end/lib/src/source/source_loader.dart
+++ b/pkg/front_end/lib/src/source/source_loader.dart
@@ -590,7 +590,6 @@
     _checkForDartCore(uri, libraryBuilder, compilationUnit);
 
     if (target.backendTarget.mayDefineRestrictedType(originImportUri)) {
-      // Coverage-ignore-block(suite): Not run.
       libraryBuilder.mayImplementRestrictedTypes = true;
     }
     if (uri.isScheme("dart") && originImportUri.isScheme("dart")) {
diff --git a/pkg/front_end/test/coverage_suite_expected.dart b/pkg/front_end/test/coverage_suite_expected.dart
index 54be01c..a1f1139 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: 7073,
+    hitCount: 7077,
     missCount: 0,
   ),
   // 100.0%.
@@ -851,7 +851,7 @@
   ),
   // 100.0%.
   "package:front_end/src/source/source_loader.dart": (
-    hitCount: 1859,
+    hitCount: 1861,
     missCount: 0,
   ),
   // 100.0%.
@@ -946,7 +946,7 @@
   ),
   // 100.0%.
   "package:front_end/src/type_inference/type_constraint_gatherer.dart": (
-    hitCount: 459,
+    hitCount: 457,
     missCount: 0,
   ),
   // 100.0%.
@@ -956,7 +956,7 @@
   ),
   // 100.0%.
   "package:front_end/src/type_inference/type_inference_engine.dart": (
-    hitCount: 493,
+    hitCount: 489,
     missCount: 0,
   ),
   // 100.0%.
diff --git a/pkg/front_end/testcases/coverage/generic_usage_void_error_test.dart b/pkg/front_end/testcases/coverage/generic_usage_void_error_test.dart
new file mode 100644
index 0000000..a8fa947
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/generic_usage_void_error_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/nonfunction_type_aliases/generic_usage_void_error_test.dart
+
+// Introduce an aliased type.
+
+typedef T<X> = void;
+
+// Use the aliased type.
+
+abstract class C {
+  final T<Null> v7;
+
+  C(): v7 = T(); // Error
+}
diff --git a/pkg/front_end/testcases/coverage/generic_usage_void_error_test.dart.strong.expect b/pkg/front_end/testcases/coverage/generic_usage_void_error_test.dart.strong.expect
new file mode 100644
index 0000000..d70be77
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/generic_usage_void_error_test.dart.strong.expect
@@ -0,0 +1,20 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/generic_usage_void_error_test.dart:17:13: Error: Couldn't find constructor 'T'.
+//   C(): v7 = T(); // Error
+//             ^
+//
+import self as self;
+import "dart:core" as core;
+
+typedef T<unrelated X extends core::Object? = dynamic> = void;
+abstract class C extends core::Object {
+  final field void v7;
+  constructor •() → self::C
+    : self::C::v7 = invalid-expression "pkg/front_end/testcases/coverage/generic_usage_void_error_test.dart:17:13: Error: Couldn't find constructor 'T'.
+  C(): v7 = T(); // Error
+            ^", super core::Object::•()
+    ;
+}
diff --git a/pkg/front_end/testcases/coverage/generic_usage_void_error_test.dart.strong.modular.expect b/pkg/front_end/testcases/coverage/generic_usage_void_error_test.dart.strong.modular.expect
new file mode 100644
index 0000000..d70be77
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/generic_usage_void_error_test.dart.strong.modular.expect
@@ -0,0 +1,20 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/generic_usage_void_error_test.dart:17:13: Error: Couldn't find constructor 'T'.
+//   C(): v7 = T(); // Error
+//             ^
+//
+import self as self;
+import "dart:core" as core;
+
+typedef T<unrelated X extends core::Object? = dynamic> = void;
+abstract class C extends core::Object {
+  final field void v7;
+  constructor •() → self::C
+    : self::C::v7 = invalid-expression "pkg/front_end/testcases/coverage/generic_usage_void_error_test.dart:17:13: Error: Couldn't find constructor 'T'.
+  C(): v7 = T(); // Error
+            ^", super core::Object::•()
+    ;
+}
diff --git a/pkg/front_end/testcases/coverage/generic_usage_void_error_test.dart.strong.outline.expect b/pkg/front_end/testcases/coverage/generic_usage_void_error_test.dart.strong.outline.expect
new file mode 100644
index 0000000..486f7d4
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/generic_usage_void_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> = void;
+abstract class C extends core::Object {
+  final field void v7;
+  constructor •() → self::C
+    ;
+}
diff --git a/pkg/front_end/testcases/coverage/generic_usage_void_error_test.dart.strong.transformed.expect b/pkg/front_end/testcases/coverage/generic_usage_void_error_test.dart.strong.transformed.expect
new file mode 100644
index 0000000..d70be77
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/generic_usage_void_error_test.dart.strong.transformed.expect
@@ -0,0 +1,20 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/coverage/generic_usage_void_error_test.dart:17:13: Error: Couldn't find constructor 'T'.
+//   C(): v7 = T(); // Error
+//             ^
+//
+import self as self;
+import "dart:core" as core;
+
+typedef T<unrelated X extends core::Object? = dynamic> = void;
+abstract class C extends core::Object {
+  final field void v7;
+  constructor •() → self::C
+    : self::C::v7 = invalid-expression "pkg/front_end/testcases/coverage/generic_usage_void_error_test.dart:17:13: Error: Couldn't find constructor 'T'.
+  C(): v7 = T(); // Error
+            ^", super core::Object::•()
+    ;
+}
diff --git a/pkg/front_end/testcases/coverage/generic_usage_void_error_test.dart.textual_outline.expect b/pkg/front_end/testcases/coverage/generic_usage_void_error_test.dart.textual_outline.expect
new file mode 100644
index 0000000..a56f8ec
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/generic_usage_void_error_test.dart.textual_outline.expect
@@ -0,0 +1,6 @@
+typedef T<X> = void;
+
+abstract class C {
+  final T<Null> v7;
+  C() : v7 = T();
+}
diff --git a/pkg/front_end/testcases/coverage/generic_usage_void_error_test.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/coverage/generic_usage_void_error_test.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..f57994a
--- /dev/null
+++ b/pkg/front_end/testcases/coverage/generic_usage_void_error_test.dart.textual_outline_modelled.expect
@@ -0,0 +1,6 @@
+abstract class C {
+  C() : v7 = T();
+  final T<Null> v7;
+}
+
+typedef T<X> = void;