Version 2.18.0-257.0.dev

Merge commit '5eb920d40f5c01fcbe38bfaca30c605dcb2f8f0f' into 'dev'
diff --git a/pkg/analyzer/lib/src/dart/analysis/file_state.dart b/pkg/analyzer/lib/src/dart/analysis/file_state.dart
index 6c7347f..f2d1e98 100644
--- a/pkg/analyzer/lib/src/dart/analysis/file_state.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/file_state.dart
@@ -29,7 +29,6 @@
 import 'package:analyzer/src/generated/parser.dart';
 import 'package:analyzer/src/generated/source.dart';
 import 'package:analyzer/src/generated/utilities_dart.dart';
-import 'package:analyzer/src/ignore_comments/ignore_info.dart';
 import 'package:analyzer/src/source/source_resource.dart';
 import 'package:analyzer/src/summary/api_signature.dart';
 import 'package:analyzer/src/summary/package_bundle_reader.dart';
@@ -557,43 +556,6 @@
     }
   }
 
-  /// TODO(scheglov) Remove it when [IgnoreInfo] is stored here.
-  CompilationUnitImpl parse2(
-    AnalysisErrorListener errorListener,
-    String content,
-  ) {
-    CharSequenceReader reader = CharSequenceReader(content);
-    Scanner scanner = Scanner(source, reader, errorListener)
-      ..configureFeatures(
-        featureSetForOverriding: _contextFeatureSet,
-        featureSet: _contextFeatureSet.restrictToVersion(
-          packageLanguageVersion,
-        ),
-      );
-    Token token = scanner.tokenize(reportScannerErrors: false);
-    LineInfo lineInfo = LineInfo(scanner.lineStarts);
-
-    Parser parser = Parser(
-      source,
-      errorListener,
-      featureSet: scanner.featureSet,
-      lineInfo: lineInfo,
-    );
-    parser.enableOptionalNewAndConst = true;
-
-    var unit = parser.parseCompilationUnit(token);
-    unit.languageVersion = LibraryLanguageVersion(
-      package: packageLanguageVersion,
-      override: scanner.overrideVersion,
-    );
-
-    // StringToken uses a static instance of StringCanonicalizer, so we need
-    // to clear it explicitly once we are done using it for this file.
-    StringTokenImpl.canonicalizer.clear();
-
-    return unit;
-  }
-
   /// Read the file content and ensure that all of the file properties are
   /// consistent with the read content, including API signature.
   ///
@@ -790,7 +752,36 @@
   }
 
   CompilationUnitImpl _parse(AnalysisErrorListener errorListener) {
-    return parse2(errorListener, content);
+    CharSequenceReader reader = CharSequenceReader(content);
+    Scanner scanner = Scanner(source, reader, errorListener)
+      ..configureFeatures(
+        featureSetForOverriding: _contextFeatureSet,
+        featureSet: _contextFeatureSet.restrictToVersion(
+          packageLanguageVersion,
+        ),
+      );
+    Token token = scanner.tokenize(reportScannerErrors: false);
+    LineInfo lineInfo = LineInfo(scanner.lineStarts);
+
+    Parser parser = Parser(
+      source,
+      errorListener,
+      featureSet: scanner.featureSet,
+      lineInfo: lineInfo,
+    );
+    parser.enableOptionalNewAndConst = true;
+
+    var unit = parser.parseCompilationUnit(token);
+    unit.languageVersion = LibraryLanguageVersion(
+      package: packageLanguageVersion,
+      override: scanner.overrideVersion,
+    );
+
+    // StringToken uses a static instance of StringCanonicalizer, so we need
+    // to clear it explicitly once we are done using it for this file.
+    StringTokenImpl.canonicalizer.clear();
+
+    return unit;
   }
 
   /// TODO(scheglov) write tests
diff --git a/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart b/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart
index 3289cec..66dd382 100644
--- a/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart
@@ -520,6 +520,7 @@
     String content = file.content;
     var unit = file.parse(errorListener);
 
+    // TODO(scheglov) Store [IgnoreInfo] as unlinked data.
     _fileToLineInfo[file] = unit.lineInfo;
     _fileToIgnoreInfo[file] = IgnoreInfo.forDart(unit, content);
 
diff --git a/tools/VERSION b/tools/VERSION
index a9ba53c..266dba5 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 18
 PATCH 0
-PRERELEASE 256
+PRERELEASE 257
 PRERELEASE_PATCH 0
\ No newline at end of file
diff --git a/tools/bots/test_matrix.json b/tools/bots/test_matrix.json
index be4546f..76f8772 100644
--- a/tools/bots/test_matrix.json
+++ b/tools/bots/test_matrix.json
@@ -3272,7 +3272,7 @@
             "-nanalyzer-unittest-asserts-${mode}-${system}",
             "pkg/analyzer"
           ],
-          "shards": 2,
+          "shards": 4,
           "fileset": "analyzer_unit_tests"
         },
         {
@@ -3281,7 +3281,7 @@
             "-nanalyzer-unittest-asserts-${mode}-${system}",
             "pkg/analysis_server"
           ],
-          "shards": 2,
+          "shards": 4,
           "fileset": "analyzer_unit_tests"
         },
         {
@@ -3290,7 +3290,7 @@
             "-nanalyzer-unittest-asserts-${mode}-${system}",
             "pkg/nnbd_migration"
           ],
-          "shards": 2,
+          "shards": 1,
           "fileset": "analyzer_unit_tests"
         },
         {