Index: pkg/front_end/lib/src/fasta/scanner/string_scanner.dart |
diff --git a/pkg/front_end/lib/src/fasta/scanner/string_scanner.dart b/pkg/front_end/lib/src/fasta/scanner/string_scanner.dart |
index af35b011fcf60e5618ef3e6f6ef87ce94da9ca3d..44155e93874777a93fc47b371da6866c972f884f 100644 |
--- a/pkg/front_end/lib/src/fasta/scanner/string_scanner.dart |
+++ b/pkg/front_end/lib/src/fasta/scanner/string_scanner.dart |
@@ -70,3 +70,20 @@ class StringScanner extends ArrayBasedScanner { |
bool atEndOfFile() => scanOffset >= string.length - 1; |
} |
+ |
+/** |
+ * Scanner that creates tokens for a part of a larger [String], where the part |
+ * starts at the [baseOffset]. |
+ */ |
+class SubStringScanner extends StringScanner { |
+ final int baseOffset; |
+ |
+ SubStringScanner(this.baseOffset, String string, |
+ {bool includeComments: false}) |
+ : super(string, includeComments: includeComments); |
+ |
+ @override |
+ void beginToken() { |
+ tokenStart = baseOffset + stringOffset; |
+ } |
+} |