[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;