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

Unified Diff: pkg/front_end/lib/src/fasta/scanner/abstract_scanner.dart

Issue 2910583002: improve fasta interpolation recovery (Closed)
Patch Set: remove unnecessary label Created 3 years, 7 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/front_end/lib/src/fasta/scanner/abstract_scanner.dart
diff --git a/pkg/front_end/lib/src/fasta/scanner/abstract_scanner.dart b/pkg/front_end/lib/src/fasta/scanner/abstract_scanner.dart
index caa605435ef76a6a5385ee2356e575be9d438b31..d4a97e0f255a561ece55c8425760c39f873f68e4 100644
--- a/pkg/front_end/lib/src/fasta/scanner/abstract_scanner.dart
+++ b/pkg/front_end/lib/src/fasta/scanner/abstract_scanner.dart
@@ -222,6 +222,9 @@ abstract class AbstractScanner implements Scanner {
/** Documentation in subclass [ArrayBasedScanner]. */
void discardOpenLt();
+ /** Documentation in subclass [ArrayBasedScanner]. */
+ void discardInterpolation();
+
/// Return true when at EOF.
bool atEndOfFile();
@@ -1051,7 +1054,11 @@ abstract class AbstractScanner implements Scanner {
while (!identical(next, $EOF) && !identical(next, $STX)) {
next = bigSwitch(next);
}
- if (identical(next, $EOF)) return next;
+ if (identical(next, $EOF)) {
+ beginToken();
+ discardInterpolation();
+ return next;
+ }
next = advance(); // Move past the $STX.
beginToken(); // The string interpolation suffix starts here.
return next;

Powered by Google App Engine
This is Rietveld 408576698