cleanup StringScanner references
Change-Id: Ic75305c7a76860c5b96032d4f8c8fff695006f22
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106004
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
diff --git a/pkg/analyzer/tool/summary/generate.dart b/pkg/analyzer/tool/summary/generate.dart
index d27a4d8..2e0a224 100644
--- a/pkg/analyzer/tool/summary/generate.dart
+++ b/pkg/analyzer/tool/summary/generate.dart
@@ -19,7 +19,7 @@
import 'dart:io';
import 'package:analysis_tool/tools.dart';
-import 'package:front_end/src/fasta/scanner/string_scanner.dart';
+import 'package:front_end/src/fasta/scanner.dart';
import 'package:front_end/src/scanner/token.dart' show Token;
import 'idl_model.dart' as idlModel;
@@ -648,8 +648,7 @@
String idlText =
idlFile.readAsStringSync().replaceAll(new RegExp('\r\n?'), '\n');
// Extract a description of the IDL and make sure it is valid.
- var scanner = new StringScanner(idlText, includeComments: true);
- var startingToken = scanner.tokenize();
+ var startingToken = scanString(idlText, includeComments: true).tokens;
var listener = new MiniAstBuilder();
var parser = new MiniAstParser(listener);
parser.parseUnit(startingToken);
diff --git a/pkg/front_end/test/precedence_info_test.dart b/pkg/front_end/test/precedence_info_test.dart
index 169f67c..80fd8a4 100644
--- a/pkg/front_end/test/precedence_info_test.dart
+++ b/pkg/front_end/test/precedence_info_test.dart
@@ -2,9 +2,9 @@
// 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:front_end/src/fasta/scanner.dart';
import 'package:front_end/src/fasta/scanner/abstract_scanner.dart'
show AbstractScanner;
-import 'package:front_end/src/fasta/scanner/string_scanner.dart';
import 'package:front_end/src/fasta/scanner/token.dart' as fasta;
import 'package:front_end/src/scanner/token.dart';
import 'package:test/test.dart';
@@ -22,8 +22,10 @@
void assertInfo(check(String source, Token token)) {
void assertLexeme(String source) {
if (source == null || source.isEmpty) return;
- var scanner = new StringScanner(source, includeComments: true);
- var token = scanner.tokenize();
+ var token = scanString(source, includeComments: true).tokens;
+ while (token is ErrorToken) {
+ token = token.next;
+ }
check(source, token);
}
@@ -288,9 +290,8 @@
void test_name() {
void assertName(String source, String name, {int offset: 0}) {
if (source == null || source.isEmpty) return;
- var scanner = new StringScanner(source, includeComments: true);
- var token = scanner.tokenize();
- while (token.offset < offset) {
+ var token = scanString(source, includeComments: true).tokens;
+ while (token is ErrorToken || token.offset < offset) {
token = token.next;
}
expect(token.type.name, name,
@@ -388,8 +389,10 @@
};
precedenceTable.forEach((precedence, lexemes) {
for (String source in lexemes) {
- var scanner = new StringScanner(source, includeComments: true);
- var token = scanner.tokenize();
+ var token = scanString(source, includeComments: true).tokens;
+ while (token is ErrorToken) {
+ token = token.next;
+ }
expect(token.type.precedence, precedence, reason: source);
}
});
@@ -397,8 +400,7 @@
void test_type() {
void assertLexeme(String source, TokenType tt) {
- var scanner = new StringScanner(source, includeComments: true);
- var token = scanner.tokenize();
+ var token = scanString(source, includeComments: true).tokens;
expect(token.type, same(tt), reason: source);
}
diff --git a/pkg/front_end/test/token_test.dart b/pkg/front_end/test/token_test.dart
index fa62c06..dda8af0 100644
--- a/pkg/front_end/test/token_test.dart
+++ b/pkg/front_end/test/token_test.dart
@@ -2,8 +2,8 @@
// 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:front_end/src/fasta/scanner.dart' show ScannerConfiguration;
-import 'package:front_end/src/fasta/scanner/string_scanner.dart';
+import 'package:front_end/src/fasta/scanner.dart'
+ show ScannerConfiguration, scanString;
import 'package:front_end/src/scanner/token.dart';
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
@@ -32,8 +32,7 @@
}
}
''';
- var scanner = new StringScanner(source, includeComments: true);
- Token token = scanner.tokenize();
+ Token token = scanString(source, includeComments: true).tokens;
Token nextComment() {
while (!token.isEof) {
@@ -66,8 +65,7 @@
}
void test_isSynthetic() {
- var scanner = new StringScanner('/* 1 */ foo', includeComments: true);
- var token = scanner.tokenize();
+ var token = scanString('/* 1 */ foo', includeComments: true).tokens;
expect(token.isSynthetic, false);
expect(token.precedingComments.isSynthetic, false);
expect(token.previous.isSynthetic, true);
@@ -76,8 +74,7 @@
}
void test_matchesAny() {
- var scanner = new StringScanner('true', includeComments: true);
- var token = scanner.tokenize();
+ var token = scanString('true', includeComments: true).tokens;
expect(token.matchesAny([Keyword.TRUE]), true);
expect(token.matchesAny([TokenType.AMPERSAND, Keyword.TRUE]), true);
expect(token.matchesAny([TokenType.AMPERSAND]), false);
@@ -127,10 +124,10 @@
]);
for (Keyword keyword in Keyword.values) {
var isModifier = modifierKeywords.contains(keyword);
- var scanner = new StringScanner(keyword.lexeme,
- configuration: ScannerConfiguration.nonNullable,
- includeComments: true);
- Token token = scanner.tokenize();
+ Token token = scanString(keyword.lexeme,
+ configuration: ScannerConfiguration.nonNullable,
+ includeComments: true)
+ .tokens;
expect(token.isModifier, isModifier, reason: keyword.name);
if (isModifier) {
expect(token.isTopLevelKeyword, isFalse, reason: keyword.name);
@@ -152,8 +149,7 @@
]);
for (Keyword keyword in Keyword.values) {
var isTopLevelKeyword = topLevelKeywords.contains(keyword);
- var scanner = new StringScanner(keyword.lexeme, includeComments: true);
- Token token = scanner.tokenize();
+ Token token = scanString(keyword.lexeme, includeComments: true).tokens;
expect(token.isTopLevelKeyword, isTopLevelKeyword, reason: keyword.name);
if (isTopLevelKeyword) {
expect(token.isModifier, isFalse, reason: keyword.name);
@@ -191,8 +187,7 @@
}
void test_value() {
- var scanner = new StringScanner('true & "home"', includeComments: true);
- var token = scanner.tokenize();
+ var token = scanString('true & "home"', includeComments: true).tokens;
// Keywords
expect(token.lexeme, 'true');
expect(token.value(), Keyword.TRUE);