| Index: compiler/java/com/google/dart/compiler/parser/DartParser.java
|
| diff --git a/compiler/java/com/google/dart/compiler/parser/DartParser.java b/compiler/java/com/google/dart/compiler/parser/DartParser.java
|
| index 8fb0716a93ab58ef74f8614d319a1b3fcd108005..03b6ac51acd6dddc19b772801603b88df985c811 100644
|
| --- a/compiler/java/com/google/dart/compiler/parser/DartParser.java
|
| +++ b/compiler/java/com/google/dart/compiler/parser/DartParser.java
|
| @@ -1864,7 +1864,8 @@ public class DartParser extends CompletionHooksParserBase {
|
| if (token.isAssignmentOperator()) {
|
| ensureAssignable(result);
|
| consume(token);
|
| - result = done(new DartBinaryExpression(token, result, parseExpression()));
|
| + int tokenOffset = ctx.getTokenLocation().getBegin().getPos();
|
| + result = done(new DartBinaryExpression(token, tokenOffset, result, parseExpression()));
|
| } else {
|
| done(null);
|
| }
|
| @@ -1882,7 +1883,8 @@ public class DartParser extends CompletionHooksParserBase {
|
| DartExpression result = parseExpression();
|
| // Must keep in sync with @Terminals above
|
| while (optional(Token.COMMA)) {
|
| - result = new DartBinaryExpression(Token.COMMA, result, parseExpression());
|
| + int tokenOffset = ctx.getTokenLocation().getBegin().getPos();
|
| + result = new DartBinaryExpression(Token.COMMA, tokenOffset, result, parseExpression());
|
| if (match(Token.COMMA)) {
|
| result = doneWithoutConsuming(result);
|
| }
|
| @@ -1948,6 +1950,7 @@ public class DartParser extends CompletionHooksParserBase {
|
| Position prevPositionStart = ctx.getTokenLocation().getBegin();
|
| Position prevPositionEnd = ctx.getTokenLocation().getEnd();
|
| Token token = next();
|
| + int tokenOffset = ctx.getTokenLocation().getBegin().getPos();
|
| if (lastResult instanceof DartSuperExpression
|
| && (token == Token.AND || token == Token.OR)) {
|
| reportErrorAtPosition(prevPositionStart, prevPositionEnd,
|
| @@ -1975,7 +1978,7 @@ public class DartParser extends CompletionHooksParserBase {
|
| }
|
|
|
| lastResult = right;
|
| - result = doneWithoutConsuming(new DartBinaryExpression(token, result, right));
|
| + result = doneWithoutConsuming(new DartBinaryExpression(token, tokenOffset, result, right));
|
| if (token == Token.IS
|
| || token == Token.AS
|
| || token.isRelationalOperator()
|
|
|