| 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);
|
|
|