[cfe] Remove Env.isNonNullableByDefault
+ a few other references of 'isNonNullableByDefault'
Change-Id: Ifcd6bf5c2cc5dbbca7dda1576248fc4cd59eed5e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/369023
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
diff --git a/pkg/front_end/test/fasta/type_inference/type_constraint_gatherer_nnbd_test.dart b/pkg/front_end/test/fasta/type_inference/type_constraint_gatherer_nnbd_test.dart
index 148cd96..2e13af2 100644
--- a/pkg/front_end/test/fasta/type_inference/type_constraint_gatherer_nnbd_test.dart
+++ b/pkg/front_end/test/fasta/type_inference/type_constraint_gatherer_nnbd_test.dart
@@ -43,7 +43,7 @@
Library get testLibrary => _testLibrary;
void parseTestLibrary(String testLibraryText) {
- env = new Env(testLibraryText, isNonNullableByDefault: true);
+ env = new Env(testLibraryText);
assert(
env.component.libraries.length == 2,
"The tests are supposed to have exactly two libraries: "
diff --git a/pkg/front_end/test/fasta/type_inference/type_constraint_gatherer_test.dart b/pkg/front_end/test/fasta/type_inference/type_constraint_gatherer_test.dart
index 9dff898..d287a0b 100644
--- a/pkg/front_end/test/fasta/type_inference/type_constraint_gatherer_test.dart
+++ b/pkg/front_end/test/fasta/type_inference/type_constraint_gatherer_test.dart
@@ -43,7 +43,7 @@
Library get testLibrary => _testLibrary;
void parseTestLibrary(String testLibraryText) {
- env = new Env(testLibraryText, isNonNullableByDefault: false);
+ env = new Env(testLibraryText);
assert(
env.component.libraries.length == 2,
"The tests are supposed to have exactly two libraries: "
diff --git a/pkg/front_end/test/fasta/type_inference/type_schema_elimination_nnbd_test.dart b/pkg/front_end/test/fasta/type_inference/type_schema_elimination_nnbd_test.dart
index 7abe586..254a1e0 100644
--- a/pkg/front_end/test/fasta/type_inference/type_schema_elimination_nnbd_test.dart
+++ b/pkg/front_end/test/fasta/type_inference/type_schema_elimination_nnbd_test.dart
@@ -18,7 +18,7 @@
@reflectiveTest
class TypeSchemaEliminationTest {
- final Env env = new Env("", isNonNullableByDefault: true);
+ final Env env = new Env("");
final Map<String, DartType Function()> additionalTypes = {
"UNKNOWN": () => new UnknownType()
};
diff --git a/pkg/front_end/test/fasta/type_inference/type_schema_elimination_test.dart b/pkg/front_end/test/fasta/type_inference/type_schema_elimination_test.dart
index 49f3b77..b311699 100644
--- a/pkg/front_end/test/fasta/type_inference/type_schema_elimination_test.dart
+++ b/pkg/front_end/test/fasta/type_inference/type_schema_elimination_test.dart
@@ -18,7 +18,7 @@
@reflectiveTest
class TypeSchemaEliminationTest {
- final Env env = new Env("", isNonNullableByDefault: false);
+ final Env env = new Env("");
final Map<String, DartType Function()> additionalTypes = {
"UNKNOWN": () => new UnknownType()
};
diff --git a/pkg/front_end/test/fasta/type_inference/type_schema_environment_test_base.dart b/pkg/front_end/test/fasta/type_inference/type_schema_environment_test_base.dart
index 1ccc2ae..42d534b 100644
--- a/pkg/front_end/test/fasta/type_inference/type_schema_environment_test_base.dart
+++ b/pkg/front_end/test/fasta/type_inference/type_schema_environment_test_base.dart
@@ -34,8 +34,7 @@
late final OperationsCfe _operations;
void parseTestLibrary(String testLibraryText) {
- typeParserEnvironment =
- new Env(testLibraryText, isNonNullableByDefault: true);
+ typeParserEnvironment = new Env(testLibraryText);
typeSchemaEnvironment = new TypeSchemaEnvironment(
coreTypes, new ClassHierarchy(component, coreTypes));
assert(
diff --git a/pkg/front_end/test/fasta/types/legacy_upper_bound_helper.dart b/pkg/front_end/test/fasta/types/legacy_upper_bound_helper.dart
index efad1cd..d3c2d67 100644
--- a/pkg/front_end/test/fasta/types/legacy_upper_bound_helper.dart
+++ b/pkg/front_end/test/fasta/types/legacy_upper_bound_helper.dart
@@ -18,7 +18,7 @@
late Library testLibrary;
Future<void> parseComponent(String source) {
- env = new parser.Env(source, isNonNullableByDefault: true);
+ env = new parser.Env(source);
assert(
env.component.libraries.length == 2,
"The test component is expected to have exactly two libraries: "
diff --git a/pkg/front_end/testcases/constructor_tearoffs/call_instantiation.dart.strong.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/call_instantiation.dart.strong.transformed.expect
deleted file mode 100644
index 4c7d363..0000000
--- a/pkg/front_end/testcases/constructor_tearoffs/call_instantiation.dart.strong.transformed.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/constructor_tearoffs/call_instantiation.dart:7:33: Error: A value of type 'T Function<T>(T)' can't be assigned to a variable of type 'int Function(int)'.
-// int Function(int) f = funcValue.call; // Disallowed!
-// ^
-//
-import self as self;
-import "dart:core" as core;
-
-static field <T extends core::Object? = dynamic>(T%) → T% funcValue = #C1;
-static field (core::int) → core::int f = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/call_instantiation.dart:7:33: Error: A value of type 'T Function<T>(T)' can't be assigned to a variable of type 'int Function(int)'.
-int Function(int) f = funcValue.call; // Disallowed!
- ^" in self::funcValue.call as{TypeError,ForNonNullableByDefault} (core::int) → core::int;
-static method func<T extends core::Object? = dynamic>(self::func::T% value) → self::func::T%
- return value;
-static method main() → dynamic {}
-
-constants {
- #C1 = static-tearoff self::func
-}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart.strong.transformed.expect
deleted file mode 100644
index 286fbcb..0000000
--- a/pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart.strong.transformed.expect
+++ /dev/null
@@ -1,43 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart:7:13: Error: Expected 'on' instead of this.
-// mixin M0<T> extends Object implements I<T> {}
-// ^^^^^^^
-//
-// pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart:13:7: Error: '_A&Object&M0' doesn't implement 'I<int>' so it can't be used with 'M1<int>'.
-// - 'Object with M0' is from 'pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart'.
-// - 'I' is from 'pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart'.
-// - 'M1' is from 'pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart'.
-// class A extends Object with M0, M1<int> {}
-// ^
-//
-import self as self;
-import "dart:core" as core;
-
-class I<X extends core::Object? = dynamic> extends core::Object {
- synthetic constructor •() → self::I<self::I::X%>
- : super core::Object::•()
- ;
-}
-abstract class M0<T extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
-}
-abstract class M1<T extends core::Object? = dynamic> extends self::I<self::M1::T%> /*isMixinDeclaration*/ {
-}
-abstract class _A&Object&M0 extends core::Object implements self::M0<dynamic> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_A&Object&M0
- : super core::Object::•()
- ;
-}
-abstract class _A&Object&M0&M1 extends self::_A&Object&M0 implements self::M1<core::int> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_A&Object&M0&M1
- : super self::_A&Object&M0::•()
- ;
-}
-class A extends self::_A&Object&M0&M1 {
- synthetic constructor •() → self::A
- : super self::_A&Object&M0&M1::•()
- ;
-}
-static method main() → dynamic {}
diff --git a/pkg/kernel/lib/testing/type_parser_environment.dart b/pkg/kernel/lib/testing/type_parser_environment.dart
index f4aacf3..877fca2 100644
--- a/pkg/kernel/lib/testing/type_parser_environment.dart
+++ b/pkg/kernel/lib/testing/type_parser_environment.dart
@@ -78,9 +78,7 @@
late TypeParserEnvironment _libraryEnvironment;
- final bool isNonNullableByDefault;
-
- Env(String source, {required this.isNonNullableByDefault}) {
+ Env(String source) {
Uri libraryUri = Uri.parse('memory:main.dart');
Uri coreUri = Uri.parse("dart:core");
TypeParserEnvironment coreEnvironment =
diff --git a/pkg/kernel/lib/type_environment.dart b/pkg/kernel/lib/type_environment.dart
index e2a70d7..c3db30d 100644
--- a/pkg/kernel/lib/type_environment.dart
+++ b/pkg/kernel/lib/type_environment.dart
@@ -88,8 +88,6 @@
DartType? futureType =
getTypeAsInstanceOf(resolved, coreTypes.futureClass, coreTypes);
if (futureType != null) {
- // TODO(johnniwinther): The two implementations are inconsistent wrt.
- // how [isNonNullableByDefault] is treated.
return futureType.withDeclaredNullability(resolved.declaredNullability);
}
} else if (resolved is FutureOrType) {
@@ -905,9 +903,6 @@
final TypeEnvironment typeEnvironment;
/// The library in which the static type is computed.
- ///
- /// The `library.isNonNullableByDefault` property is used to determine the
- /// nullabilities of the static types.
final Library _library;
/// The static type of a `this` expression.
diff --git a/pkg/kernel/test/binary/library_flags_test.dart b/pkg/kernel/test/binary/library_flags_test.dart
index 3671bbc..4855bfa 100644
--- a/pkg/kernel/test/binary/library_flags_test.dart
+++ b/pkg/kernel/test/binary/library_flags_test.dart
@@ -32,29 +32,25 @@
int combination = 0;
for (bool isSynthetic in [true, false]) {
- for (bool isNonNullableByDefault in [true, false]) {
- for (NonNullableByDefaultCompiledMode nonNullableByDefaultCompiledMode
- in [
- NonNullableByDefaultCompiledMode.Weak,
- NonNullableByDefaultCompiledMode.Strong,
- NonNullableByDefaultCompiledMode.Agnostic,
- ]) {
- combination++;
- print("Checking combination #$combination ("
- "isSynthetic: $isSynthetic; "
- "isNonNullableByDefault: $isNonNullableByDefault; "
- "nonNullableByDefaultCompiledMode:"
- " $nonNullableByDefaultCompiledMode");
- Uri uri = Uri.parse("foo://bar.dart");
- Library lib = new Library(uri, fileUri: uri);
- setSynthetic(lib, isSynthetic);
- setNonNullableByDefaultCompiledMode(
- lib, nonNullableByDefaultCompiledMode);
- Library lib2 = libRoundTrip(lib);
- verifySynthetic(lib2, isSynthetic);
- verifyNonNullableByDefaultCompiledMode(
- lib2, nonNullableByDefaultCompiledMode);
- }
+ for (NonNullableByDefaultCompiledMode nonNullableByDefaultCompiledMode in [
+ NonNullableByDefaultCompiledMode.Weak,
+ NonNullableByDefaultCompiledMode.Strong,
+ NonNullableByDefaultCompiledMode.Agnostic,
+ ]) {
+ combination++;
+ print("Checking combination #$combination ("
+ "isSynthetic: $isSynthetic; "
+ "nonNullableByDefaultCompiledMode:"
+ " $nonNullableByDefaultCompiledMode");
+ Uri uri = Uri.parse("foo://bar.dart");
+ Library lib = new Library(uri, fileUri: uri);
+ setSynthetic(lib, isSynthetic);
+ setNonNullableByDefaultCompiledMode(
+ lib, nonNullableByDefaultCompiledMode);
+ Library lib2 = libRoundTrip(lib);
+ verifySynthetic(lib2, isSynthetic);
+ verifyNonNullableByDefaultCompiledMode(
+ lib2, nonNullableByDefaultCompiledMode);
}
}
diff --git a/pkg/kernel/test/dart_type_equivalence_test.dart b/pkg/kernel/test/dart_type_equivalence_test.dart
index 8e8f5da..369b3dd 100644
--- a/pkg/kernel/test/dart_type_equivalence_test.dart
+++ b/pkg/kernel/test/dart_type_equivalence_test.dart
@@ -185,9 +185,8 @@
bool equateTopTypes = false,
bool ignoreAllNullabilities = false,
bool ignoreTopLevelNullability = false}) {
- Env env =
- new Env("typedef Typedef<T> () -> T;\n", isNonNullableByDefault: true)
- ..extendWithTypeParameters(typeParameters);
+ Env env = new Env("typedef Typedef<T> () -> T;\n")
+ ..extendWithTypeParameters(typeParameters);
DartType t1 = env.parseType(type1);
DartType t2 = env.parseType(type2);
@@ -225,9 +224,8 @@
bool equateTopTypes = false,
bool ignoreAllNullabilities = false,
bool ignoreTopLevelNullability = false}) {
- Env env =
- new Env("typedef Typedef<T> () -> T;\n", isNonNullableByDefault: true)
- ..extendWithTypeParameters(typeParameters);
+ Env env = new Env("typedef Typedef<T> () -> T;\n")
+ ..extendWithTypeParameters(typeParameters);
DartType t1 = env.parseType(type1);
DartType t2 = env.parseType(type2);
diff --git a/pkg/kernel/test/extension_type_erasure_test.dart b/pkg/kernel/test/extension_type_erasure_test.dart
index 3841952..03503a5 100644
--- a/pkg/kernel/test/extension_type_erasure_test.dart
+++ b/pkg/kernel/test/extension_type_erasure_test.dart
@@ -58,7 +58,7 @@
extension type ET4<T>(T it);
extension type ET5(int? it);
extension type ET6<T>(T? it);
-''', isNonNullableByDefault: true);
+''');
data.forEach((String input, String output) {
DartType inputType = env.parseType(input);
DartType expectedOutputType = env.parseType(output);
diff --git a/pkg/kernel/test/flatten_test.dart b/pkg/kernel/test/flatten_test.dart
index d7c92a0..9950653 100644
--- a/pkg/kernel/test/flatten_test.dart
+++ b/pkg/kernel/test/flatten_test.dart
@@ -66,7 +66,7 @@
}
void main() {
- Env env = new Env('', isNonNullableByDefault: true);
+ Env env = new Env('');
ClassHierarchy classHierarchy =
new ClassHierarchy(env.component, env.coreTypes);
TypeEnvironment typeEnvironment =
diff --git a/pkg/kernel/test/future_value_type_test.dart b/pkg/kernel/test/future_value_type_test.dart
index 3127bba..61c75d9 100644
--- a/pkg/kernel/test/future_value_type_test.dart
+++ b/pkg/kernel/test/future_value_type_test.dart
@@ -68,7 +68,7 @@
};
void main() {
- Env env = new Env('', isNonNullableByDefault: true)
+ Env env = new Env('')
..extendWithTypeParameters('X,'
'X_extends_FutureInt extends Future<int>,'
'X_extends_FutureOrInt extends FutureOr<int>');
diff --git a/pkg/kernel/test/legacy_erasure_test.dart b/pkg/kernel/test/legacy_erasure_test.dart
index 9dcd4cd..3831067 100644
--- a/pkg/kernel/test/legacy_erasure_test.dart
+++ b/pkg/kernel/test/legacy_erasure_test.dart
@@ -54,7 +54,7 @@
};
void main() {
- Env env = new Env('', isNonNullableByDefault: true);
+ Env env = new Env('');
data.forEach((String input, String output) {
DartType inputType = env.parseType(input);
DartType expectedOutputType = env.parseType(output);
diff --git a/pkg/kernel/test/nnbd_top_merge_test.dart b/pkg/kernel/test/nnbd_top_merge_test.dart
index 9f0bc71..0a2fe3a 100644
--- a/pkg/kernel/test/nnbd_top_merge_test.dart
+++ b/pkg/kernel/test/nnbd_top_merge_test.dart
@@ -122,7 +122,7 @@
};
void main() {
- Env env = new Env('', isNonNullableByDefault: true);
+ Env env = new Env('');
data.forEach((String input, dynamic output) {
List<String> parts = input.split(' vs ');
DartType aType = env.parseType(parts[0]);
diff --git a/pkg/kernel/test/non_null_test.dart b/pkg/kernel/test/non_null_test.dart
index 67d2b6f..54b865a 100644
--- a/pkg/kernel/test/non_null_test.dart
+++ b/pkg/kernel/test/non_null_test.dart
@@ -78,7 +78,7 @@
};
void main() {
- Env env = new Env('', isNonNullableByDefault: true)
+ Env env = new Env('')
..extendWithTypeParameters('X,'
'X_extends_Object extends Object,'
'X_extends_dynamic extends dynamic,'
diff --git a/pkg/kernel/test/norm_test.dart b/pkg/kernel/test/norm_test.dart
index d6bde05..8d27e77 100644
--- a/pkg/kernel/test/norm_test.dart
+++ b/pkg/kernel/test/norm_test.dart
@@ -157,8 +157,7 @@
}
void check(String input, String output, [String typeParameters = '']) {
- Env env = new Env('', isNonNullableByDefault: true)
- ..extendWithTypeParameters(typeParameters);
+ Env env = new Env('')..extendWithTypeParameters(typeParameters);
DartType inputType = env.parseType(input);
DartType expectedOutputType = env.parseType(output);
DartType actualOutputType = norm(env.coreTypes, inputType);