Remove named argument `nnbd` from summary testing methods.

These tests now use the FeatureSet mechanism to opt in and out of NNBD.

Change-Id: Id836833d4479e396e8db2b3646d28da339ed5674
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101076
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
diff --git a/pkg/analyzer/lib/src/summary/summarize_ast.dart b/pkg/analyzer/lib/src/summary/summarize_ast.dart
index 464c4a7..b50d8cd 100644
--- a/pkg/analyzer/lib/src/summary/summarize_ast.dart
+++ b/pkg/analyzer/lib/src/summary/summarize_ast.dart
@@ -2,6 +2,7 @@
 // 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.
 
+import 'package:analyzer/dart/analysis/features.dart';
 import 'package:analyzer/dart/ast/ast.dart';
 import 'package:analyzer/dart/ast/token.dart';
 import 'package:analyzer/dart/ast/visitor.dart';
@@ -17,8 +18,9 @@
 /// [serializeInferrableFields] indicates whether field initializers and closure
 /// bodies should be serialized to facilitate type inference.
 UnlinkedUnitBuilder serializeAstUnlinked(CompilationUnit compilationUnit,
-    {bool serializeInferrableFields: true, bool nnbd: false}) {
-  return new _SummarizeAstVisitor(serializeInferrableFields, nnbd)
+    {bool serializeInferrableFields: true}) {
+  return new _SummarizeAstVisitor(serializeInferrableFields,
+          compilationUnit.featureSet.isEnabled(Feature.non_nullable))
       .serializeCompilationUnit(compilationUnit);
 }
 
diff --git a/pkg/analyzer/test/src/summary/summary_common.dart b/pkg/analyzer/test/src/summary/summary_common.dart
index 2523cdd..2d41129 100644
--- a/pkg/analyzer/test/src/summary/summary_common.dart
+++ b/pkg/analyzer/test/src/summary/summary_common.dart
@@ -83,6 +83,8 @@
   /// Get access to the linked defining compilation unit.
   LinkedUnit get definingUnit => linked.units[0];
 
+  FeatureSet get disableNnbd => FeatureSet.forTesting(sdkVersion: '2.2.2');
+
   FeatureSet get enableNnbd =>
       FeatureSet.forTesting(additionalFeatures: [Feature.non_nullable]);
 
@@ -723,25 +725,20 @@
   /// declaration needs to refer to types that are not available in core, those
   /// types may be declared in [otherDeclarations].
   EntityRef serializeTypeText(String text,
-      {String otherDeclarations: '',
-      bool allowErrors: false,
-      bool nnbd: false}) {
+      {String otherDeclarations: '', bool allowErrors: false}) {
     return serializeVariableText('$otherDeclarations\n$text v;',
-            allowErrors: allowErrors, nnbd: nnbd)
+            allowErrors: allowErrors)
         .type;
   }
 
   /// Serialize the given library [text] and return the summary of the variable
   /// with the given [variableName].
   UnlinkedVariable serializeVariableText(String text,
-      {String variableName: 'v',
-      bool allowErrors: false,
-      bool nnbd: false,
-      imports: ''}) {
+      {String variableName: 'v', bool allowErrors: false, imports: ''}) {
     if (imports.isNotEmpty && !imports.endsWith('\n')) {
       imports += '\n';
     }
-    serializeLibraryText('$imports$text', allowErrors: allowErrors, nnbd: nnbd);
+    serializeLibraryText('$imports$text', allowErrors: allowErrors);
     return findVariable(variableName, failIfAbsent: true);
   }
 
@@ -1933,8 +1930,9 @@
   }
 
   test_constExpr_function_type_arg_nullability_suffix_none() {
-    var variable = serializeVariableText('const v = const <void Function()>[];',
-        nnbd: true);
+    featureSet = enableNnbd;
+    var variable =
+        serializeVariableText('const v = const <void Function()>[];');
     assertUnlinkedConst(
         variable.initializer.bodyExpr, 'const <void Function()>[]', operators: [
       UnlinkedExprOperation.makeTypedList
@@ -1947,9 +1945,9 @@
   }
 
   test_constExpr_function_type_arg_nullability_suffix_question() {
-    var variable = serializeVariableText(
-        'const v = const <void Function()?>[];',
-        nnbd: true);
+    featureSet = enableNnbd;
+    var variable =
+        serializeVariableText('const v = const <void Function()?>[];');
     assertUnlinkedConst(
         variable.initializer.bodyExpr, 'const <void Function()?>[]',
         operators: [
@@ -1965,8 +1963,9 @@
   }
 
   test_constExpr_function_type_arg_nullability_suffix_star() {
-    var variable = serializeVariableText('const v = const <void Function()>[];',
-        nnbd: false);
+    featureSet = disableNnbd;
+    var variable =
+        serializeVariableText('const v = const <void Function()>[];');
     assertUnlinkedConst(
         variable.initializer.bodyExpr, 'const <void Function()>[]',
         operators: [
@@ -4096,8 +4095,8 @@
   }
 
   test_constExpr_type_arg_nullability_suffix_none() {
-    var variable =
-        serializeVariableText('const v = const <int>[];', nnbd: true);
+    featureSet = enableNnbd;
+    var variable = serializeVariableText('const v = const <int>[];');
     assertUnlinkedConst(variable.initializer.bodyExpr, 'const <int>[]',
         operators: [
           UnlinkedExprOperation.makeTypedList
@@ -4113,8 +4112,8 @@
   }
 
   test_constExpr_type_arg_nullability_suffix_question() {
-    var variable =
-        serializeVariableText('const v = const <int?>[];', nnbd: true);
+    featureSet = enableNnbd;
+    var variable = serializeVariableText('const v = const <int?>[];');
     assertUnlinkedConst(variable.initializer.bodyExpr, 'const <int?>[]',
         operators: [
           UnlinkedExprOperation.makeTypedList
@@ -4130,8 +4129,8 @@
   }
 
   test_constExpr_type_arg_nullability_suffix_star() {
-    var variable =
-        serializeVariableText('const v = const <int>[];', nnbd: false);
+    featureSet = disableNnbd;
+    var variable = serializeVariableText('const v = const <int>[];');
     assertUnlinkedConst(variable.initializer.bodyExpr, 'const <int>[]',
         operators: [
           UnlinkedExprOperation.makeTypedList
@@ -4147,7 +4146,8 @@
   }
 
   test_constExpr_type_nullability_suffix_none() {
-    var variable = serializeVariableText('const v = int;', nnbd: true);
+    featureSet = enableNnbd;
+    var variable = serializeVariableText('const v = int;');
     assertUnlinkedConst(variable.initializer.bodyExpr, 'int', operators: [
       UnlinkedExprOperation.pushReference
     ], referenceValidators: [
@@ -4168,7 +4168,8 @@
   }
 
   test_constExpr_type_nullability_suffix_star() {
-    var variable = serializeVariableText('const v = int;', nnbd: false);
+    featureSet = disableNnbd;
+    var variable = serializeVariableText('const v = int;');
     assertUnlinkedConst(variable.initializer.bodyExpr, 'int', operators: [
       UnlinkedExprOperation.pushReference
     ], referenceValidators: [
@@ -4179,8 +4180,9 @@
   }
 
   test_constExpr_type_prefixed_nullability_suffix_none() {
+    featureSet = enableNnbd;
     var variable = serializeVariableText('const v = core.int;',
-        imports: 'import "dart:core" as core;', nnbd: true);
+        imports: 'import "dart:core" as core;');
     assertUnlinkedConst(variable.initializer.bodyExpr, 'core.int', operators: [
       UnlinkedExprOperation.pushReference
     ], referenceValidators: [
@@ -4204,8 +4206,9 @@
   }
 
   test_constExpr_type_prefixed_nullability_suffix_star() {
+    featureSet = disableNnbd;
     var variable = serializeVariableText('const v = core.int;',
-        imports: 'import "dart:core" as core;', nnbd: false);
+        imports: 'import "dart:core" as core;');
     assertUnlinkedConst(variable.initializer.bodyExpr, 'core.int', operators: [
       UnlinkedExprOperation.pushReference
     ], referenceValidators: [
@@ -8864,19 +8867,22 @@
   }
 
   test_function_type_nullability_suffix_none() {
-    EntityRef typeRef = serializeTypeText('void Function()', nnbd: true);
+    featureSet = enableNnbd;
+    EntityRef typeRef = serializeTypeText('void Function()');
     expect(typeRef.entityKind, EntityRefKind.genericFunctionType);
     expect(typeRef.nullabilitySuffix, EntityRefNullabilitySuffix.none);
   }
 
   test_function_type_nullability_suffix_question() {
-    EntityRef typeRef = serializeTypeText('void Function()?', nnbd: true);
+    featureSet = enableNnbd;
+    EntityRef typeRef = serializeTypeText('void Function()?');
     expect(typeRef.entityKind, EntityRefKind.genericFunctionType);
     expect(typeRef.nullabilitySuffix, EntityRefNullabilitySuffix.question);
   }
 
   test_function_type_nullability_suffix_star() {
-    EntityRef typeRef = serializeTypeText('void Function()', nnbd: false);
+    featureSet = disableNnbd;
+    EntityRef typeRef = serializeTypeText('void Function()');
     expect(typeRef.entityKind, EntityRefKind.genericFunctionType);
     expect(
         typeRef.nullabilitySuffix, EntityRefNullabilitySuffix.starOrIrrelevant);
@@ -10960,19 +10966,22 @@
   }
 
   test_type_nullability_suffix_none() {
-    EntityRef typeRef = serializeTypeText('int', nnbd: true);
+    featureSet = enableNnbd;
+    EntityRef typeRef = serializeTypeText('int');
     checkTypeRef(typeRef, 'dart:core', 'int',
         nullabilitySuffix: EntityRefNullabilitySuffix.none);
   }
 
   test_type_nullability_suffix_question() {
-    EntityRef typeRef = serializeTypeText('int?', nnbd: true);
+    featureSet = enableNnbd;
+    EntityRef typeRef = serializeTypeText('int?');
     checkTypeRef(typeRef, 'dart:core', 'int',
         nullabilitySuffix: EntityRefNullabilitySuffix.question);
   }
 
   test_type_nullability_suffix_star() {
-    EntityRef typeRef = serializeTypeText('int', nnbd: false);
+    featureSet = disableNnbd;
+    EntityRef typeRef = serializeTypeText('int');
     checkTypeRef(typeRef, 'dart:core', 'int',
         nullabilitySuffix: EntityRefNullabilitySuffix.starOrIrrelevant);
   }
diff --git a/pkg/analyzer/test/src/summary/test_strategies.dart b/pkg/analyzer/test/src/summary/test_strategies.dart
index a6879c6..9c286c5 100644
--- a/pkg/analyzer/test/src/summary/test_strategies.dart
+++ b/pkg/analyzer/test/src/summary/test_strategies.dart
@@ -356,8 +356,7 @@
 
   /// Serialize the given library [text], then deserialize it and store its
   /// summary in [lib].
-  void serializeLibraryText(String text,
-      {bool allowErrors: false, bool nnbd: false});
+  void serializeLibraryText(String text, {bool allowErrors: false});
 }
 
 /// Implementation of [SummaryBlackBoxTestStrategy] that drives summary
@@ -369,9 +368,8 @@
   bool get skipFullyLinkedData => true;
 
   @override
-  void serializeLibraryText(String text,
-      {bool allowErrors: false, bool nnbd: false}) {
-    super.serializeLibraryText(text, allowErrors: allowErrors, nnbd: nnbd);
+  void serializeLibraryText(String text, {bool allowErrors: false}) {
+    super.serializeLibraryText(text, allowErrors: allowErrors);
 
     UnlinkedUnit getPart(String absoluteUri) {
       return _linkerInputs.getUnit(absoluteUri);
@@ -568,16 +566,15 @@
     return assembler.assemble();
   }
 
-  UnlinkedUnitBuilder createUnlinkedSummary(Uri uri, String text,
-          {bool nnbd: false}) =>
-      serializeAstUnlinked(parseText(text, featureSet), nnbd: nnbd);
+  UnlinkedUnitBuilder createUnlinkedSummary(Uri uri, String text) =>
+      serializeAstUnlinked(parseText(text, featureSet));
 
   _LinkerInputs _createLinkerInputs(String text,
-      {String path: '/test.dart', String uri, bool nnbd: false}) {
+      {String path: '/test.dart', String uri}) {
     uri ??= absUri(path);
     Uri testDartUri = Uri.parse(uri);
     UnlinkedUnitBuilder unlinkedDefiningUnit =
-        createUnlinkedSummary(testDartUri, text, nnbd: nnbd);
+        createUnlinkedSummary(testDartUri, text);
     _filesToLink.uriToUnit[testDartUri.toString()] = unlinkedDefiningUnit;
     _LinkerInputs linkerInputs = new _LinkerInputs(
         _allowMissingFiles,
@@ -618,10 +615,9 @@
   bool get containsNonConstExprs => true;
 
   @override
-  void serializeLibraryText(String text,
-      {bool allowErrors: false, bool nnbd: false}) {
+  void serializeLibraryText(String text, {bool allowErrors: false}) {
     Map<String, UnlinkedUnitBuilder> uriToUnit = this._filesToLink.uriToUnit;
-    _linkerInputs = _createLinkerInputs(text, nnbd: nnbd);
+    _linkerInputs = _createLinkerInputs(text);
     linked = link(
         _linkerInputs.linkedLibraries,
         _linkerInputs.getDependency,