Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(675)

Unified Diff: pkg/dart_scanner/lib/src/string_scanner.dart

Issue 2644843006: Use packages dart_parser, dart_scanner, and compiler_util. (Closed)
Patch Set: Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: pkg/dart_scanner/lib/src/string_scanner.dart
diff --git a/pkg/compiler/lib/src/scanner/string_scanner.dart b/pkg/dart_scanner/lib/src/string_scanner.dart
similarity index 60%
rename from pkg/compiler/lib/src/scanner/string_scanner.dart
rename to pkg/dart_scanner/lib/src/string_scanner.dart
index 7e1f995d8252332cbf1e5213ee1197536aa1dbb4..d69d6737588f9ec0dcaa7376da046ccfafd44171 100644
--- a/pkg/compiler/lib/src/scanner/string_scanner.dart
+++ b/pkg/dart_scanner/lib/src/string_scanner.dart
@@ -4,10 +4,15 @@
library dart2js.scanner.string;
-import '../io/source_file.dart' show SourceFile;
-import '../tokens/precedence.dart' show PrecedenceInfo;
-import '../tokens/token.dart' show StringToken, Token;
-import 'array_based_scanner.dart' show ArrayBasedScanner;
+import 'array_based_scanner.dart' show
+ ArrayBasedScanner;
+
+import 'precedence.dart' show
+ PrecedenceInfo;
+
+import 'token.dart' show
+ StringToken,
+ Token;
/**
* Scanner that reads from a String and creates tokens that points to
@@ -20,22 +25,15 @@ class StringScanner extends ArrayBasedScanner {
/** The current offset in [string]. */
int scanOffset = -1;
- StringScanner(SourceFile file, {bool includeComments: false})
- : string = file.slowText(),
- super(file, includeComments) {
- ensureZeroTermination();
- }
-
- StringScanner.fromString(this.string, {bool includeComments: false})
- : super(null, includeComments) {
- ensureZeroTermination();
- }
+ StringScanner(String string, {bool includeComments: false})
+ : string = ensureZeroTermination(string),
+ super(includeComments);
- void ensureZeroTermination() {
- if (string.isEmpty || string.codeUnitAt(string.length - 1) != 0) {
- // TODO(lry): abort instead of copying the array, or warn?
- string = string + '\x00';
- }
+ static String ensureZeroTermination(String string) {
+ return (string.isEmpty || string.codeUnitAt(string.length - 1) != 0)
+ // TODO(lry): abort instead of copying the array, or warn?
+ ? string + '\x00'
+ : string;
}
int advance() => string.codeUnitAt(++scanOffset);
« pkg/compiler/lib/src/resolution/enum_creator.dart ('K') | « pkg/dart_scanner/lib/dart_scanner.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698