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

Unified Diff: pkg/front_end/lib/src/scanner/token.dart

Issue 2887443002: Revert "cleanup unused incremental resolution" (Closed)
Patch Set: 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
« no previous file with comments | « pkg/front_end/lib/src/fasta/scanner/token.dart ('k') | pkg/front_end/test/fasta/bootstrap_test.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/front_end/lib/src/scanner/token.dart
diff --git a/pkg/front_end/lib/src/scanner/token.dart b/pkg/front_end/lib/src/scanner/token.dart
index ca3ea2b47d982f0e80fbc336c4c8349fe4cbfb53..b1be439cb668b22e2b6d2a210236322ecc7acd94 100644
--- a/pkg/front_end/lib/src/scanner/token.dart
+++ b/pkg/front_end/lib/src/scanner/token.dart
@@ -84,6 +84,16 @@ class BeginTokenWithComment extends BeginToken implements TokenWithComment {
_setCommentParent(_precedingComment);
}
+ @override
+ void applyDelta(int delta) {
+ super.applyDelta(delta);
+ Token token = precedingComments;
+ while (token != null) {
+ token.applyDelta(delta);
+ token = token.next;
+ }
+ }
+
@override
Token copy() =>
new BeginTokenWithComment(type, offset, copyComments(precedingComments));
@@ -479,6 +489,16 @@ class KeywordTokenWithComment extends KeywordToken implements TokenWithComment {
_setCommentParent(_precedingComment);
}
+ @override
+ void applyDelta(int delta) {
+ super.applyDelta(delta);
+ Token token = precedingComments;
+ while (token != null) {
+ token.applyDelta(delta);
+ token = token.next;
+ }
+ }
+
@override
Token copy() => new KeywordTokenWithComment(
keyword, offset, copyComments(precedingComments));
@@ -561,6 +581,11 @@ class SimpleToken implements Token {
@override
String get stringValue => type.stringValue;
+ @override
+ void applyDelta(int delta) {
+ offset += delta;
+ }
+
@override
Token copy() => new Token(type, offset);
@@ -678,6 +703,16 @@ class StringTokenWithComment extends StringToken implements TokenWithComment {
_setCommentParent(_precedingComment);
}
+ @override
+ void applyDelta(int delta) {
+ super.applyDelta(delta);
+ Token token = precedingComments;
+ while (token != null) {
+ token.applyDelta(delta);
+ token = token.next;
+ }
+ }
+
@override
Token copy() => new StringTokenWithComment(
type, lexeme, offset, copyComments(precedingComments));
@@ -860,6 +895,11 @@ abstract class Token implements SyntacticEntity {
*/
TokenType get type;
+ /**
+ * Apply (add) the given [delta] to this token's offset.
+ */
+ void applyDelta(int delta);
+
/**
* Return a newly created token that is a copy of this tokens
* including any [preceedingComment] tokens,
« no previous file with comments | « pkg/front_end/lib/src/fasta/scanner/token.dart ('k') | pkg/front_end/test/fasta/bootstrap_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698