Skip to content

Commit bc31ab9

Browse files
scheglovCommit Bot
authored and
Commit Bot
committed
Inline FileState.parse2()
Change-Id: I77a8c317bdf4780a3becb4c47d84fcdadfecbea0 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/250486 Reviewed-by: Samuel Rawlins <[email protected]> Commit-Queue: Konstantin Shcheglov <[email protected]>
1 parent b2f41b6 commit bc31ab9

File tree

2 files changed

+31
-39
lines changed

2 files changed

+31
-39
lines changed

pkg/analyzer/lib/src/dart/analysis/file_state.dart

Lines changed: 30 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ import 'package:analyzer/src/exception/exception.dart';
2929
import 'package:analyzer/src/generated/parser.dart';
3030
import 'package:analyzer/src/generated/source.dart';
3131
import 'package:analyzer/src/generated/utilities_dart.dart';
32-
import 'package:analyzer/src/ignore_comments/ignore_info.dart';
3332
import 'package:analyzer/src/source/source_resource.dart';
3433
import 'package:analyzer/src/summary/api_signature.dart';
3534
import 'package:analyzer/src/summary/package_bundle_reader.dart';
@@ -557,43 +556,6 @@ class FileState {
557556
}
558557
}
559558

560-
/// TODO(scheglov) Remove it when [IgnoreInfo] is stored here.
561-
CompilationUnitImpl parse2(
562-
AnalysisErrorListener errorListener,
563-
String content,
564-
) {
565-
CharSequenceReader reader = CharSequenceReader(content);
566-
Scanner scanner = Scanner(source, reader, errorListener)
567-
..configureFeatures(
568-
featureSetForOverriding: _contextFeatureSet,
569-
featureSet: _contextFeatureSet.restrictToVersion(
570-
packageLanguageVersion,
571-
),
572-
);
573-
Token token = scanner.tokenize(reportScannerErrors: false);
574-
LineInfo lineInfo = LineInfo(scanner.lineStarts);
575-
576-
Parser parser = Parser(
577-
source,
578-
errorListener,
579-
featureSet: scanner.featureSet,
580-
lineInfo: lineInfo,
581-
);
582-
parser.enableOptionalNewAndConst = true;
583-
584-
var unit = parser.parseCompilationUnit(token);
585-
unit.languageVersion = LibraryLanguageVersion(
586-
package: packageLanguageVersion,
587-
override: scanner.overrideVersion,
588-
);
589-
590-
// StringToken uses a static instance of StringCanonicalizer, so we need
591-
// to clear it explicitly once we are done using it for this file.
592-
StringTokenImpl.canonicalizer.clear();
593-
594-
return unit;
595-
}
596-
597559
/// Read the file content and ensure that all of the file properties are
598560
/// consistent with the read content, including API signature.
599561
///
@@ -790,7 +752,36 @@ class FileState {
790752
}
791753

792754
CompilationUnitImpl _parse(AnalysisErrorListener errorListener) {
793-
return parse2(errorListener, content);
755+
CharSequenceReader reader = CharSequenceReader(content);
756+
Scanner scanner = Scanner(source, reader, errorListener)
757+
..configureFeatures(
758+
featureSetForOverriding: _contextFeatureSet,
759+
featureSet: _contextFeatureSet.restrictToVersion(
760+
packageLanguageVersion,
761+
),
762+
);
763+
Token token = scanner.tokenize(reportScannerErrors: false);
764+
LineInfo lineInfo = LineInfo(scanner.lineStarts);
765+
766+
Parser parser = Parser(
767+
source,
768+
errorListener,
769+
featureSet: scanner.featureSet,
770+
lineInfo: lineInfo,
771+
);
772+
parser.enableOptionalNewAndConst = true;
773+
774+
var unit = parser.parseCompilationUnit(token);
775+
unit.languageVersion = LibraryLanguageVersion(
776+
package: packageLanguageVersion,
777+
override: scanner.overrideVersion,
778+
);
779+
780+
// StringToken uses a static instance of StringCanonicalizer, so we need
781+
// to clear it explicitly once we are done using it for this file.
782+
StringTokenImpl.canonicalizer.clear();
783+
784+
return unit;
794785
}
795786

796787
/// TODO(scheglov) write tests

pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -520,6 +520,7 @@ class LibraryAnalyzer {
520520
String content = file.content;
521521
var unit = file.parse(errorListener);
522522

523+
// TODO(scheglov) Store [IgnoreInfo] as unlinked data.
523524
_fileToLineInfo[file] = unit.lineInfo;
524525
_fileToIgnoreInfo[file] = IgnoreInfo.forDart(unit, content);
525526

0 commit comments

Comments
 (0)