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: lib/compiler/implementation/tree/nodes.dart

Issue 10697003: Various token issues fixed in the compiler (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Merged Created 8 years, 6 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: lib/compiler/implementation/tree/nodes.dart
diff --git a/lib/compiler/implementation/tree/nodes.dart b/lib/compiler/implementation/tree/nodes.dart
index fa36ce4cddb9e200eb68fc175d4c662a8f5fed9c..fb38352ce29cc18fbef4b4b457c2517eece8cf7a 100644
--- a/lib/compiler/implementation/tree/nodes.dart
+++ b/lib/compiler/implementation/tree/nodes.dart
@@ -56,9 +56,15 @@ interface Visitor<R> {
}
Token firstBeginToken(Node first, Node second) {
- if (first !== null) return first.getBeginToken();
- if (second !== null) return second.getBeginToken();
- return null;
+ var token = null;
Lasse Reichstein Nielsen 2012/06/27 09:22:16 var -> Token. Style-guide be damned!
+ if (first !== null) {
+ token = first.getBeginToken();
+ }
+ if (token === null && second !== null) {
+ // token might be null even when first is not, e.g. for empty Modifiers.
Lasse Reichstein Nielsen 2012/06/27 09:22:16 Make "token" and "first" stand out here, e.g., by
+ token = second.getBeginToken();
+ }
+ return token;
}
class NodeAssertionFailure implements Exception {
@@ -975,7 +981,11 @@ class VariableDefinitions extends Statement {
}
Token getBeginToken() {
- return firstBeginToken(type, definitions);
+ var token = firstBeginToken(modifiers, type);
+ if (token === null) {
+ token = definitions.getBeginToken();
+ }
+ return token;
}
Token getEndToken() => endToken;

Powered by Google App Engine
This is Rietveld 408576698