| Index: pkg/compiler/lib/src/parser/node_listener.dart
 | 
| diff --git a/pkg/compiler/lib/src/parser/node_listener.dart b/pkg/compiler/lib/src/parser/node_listener.dart
 | 
| index 4dc325cef5becfcb281cae7f5dc8aaa55653dc84..0bc168bec94423e635ed1c314f1e052136e74068 100644
 | 
| --- a/pkg/compiler/lib/src/parser/node_listener.dart
 | 
| +++ b/pkg/compiler/lib/src/parser/node_listener.dart
 | 
| @@ -7,8 +7,10 @@ library dart2js.parser.node_listener;
 | 
|  import '../common.dart';
 | 
|  import '../elements/elements.dart' show CompilationUnitElement;
 | 
|  import '../native/native.dart' as native;
 | 
| -import '../tokens/precedence_constants.dart' as Precedence show INDEX_INFO;
 | 
| -import '../tokens/token.dart' show ErrorToken, StringToken, Token;
 | 
| +import 'package:dart_scanner/src/precedence.dart' as Precedence show
 | 
| +    INDEX_INFO;
 | 
| +import 'package:dart_scanner/dart_scanner.dart' show
 | 
| +    ErrorToken, StringToken, Token;
 | 
|  import '../tree/tree.dart';
 | 
|  import '../util/util.dart' show Link;
 | 
|  import 'element_listener.dart' show ElementListener, ScannerOptions;
 | 
| @@ -248,7 +250,8 @@ class NodeListener extends ElementListener {
 | 
|    }
 | 
|  
 | 
|    void handleOnError(Token token, var errorInformation) {
 | 
| -    reporter.internalError(token, "'${token.value}': ${errorInformation}");
 | 
| +    reporter.internalError(reporter.spanFromToken(token),
 | 
| +        "'${token.value}': ${errorInformation}");
 | 
|    }
 | 
|  
 | 
|    Token expectedFunctionBody(Token token) {
 | 
| @@ -319,11 +322,12 @@ class NodeListener extends ElementListener {
 | 
|        pushNode(new Send(receiver, new Operator(token), arguments));
 | 
|      }
 | 
|      if (identical(tokenString, '===')) {
 | 
| -      reporter.reportErrorMessage(token, MessageKind.UNSUPPORTED_EQ_EQ_EQ,
 | 
| -          {'lhs': receiver, 'rhs': argument});
 | 
| +      reporter.reportErrorMessage(reporter.spanFromToken(token),
 | 
| +          MessageKind.UNSUPPORTED_EQ_EQ_EQ, {'lhs': receiver, 'rhs': argument});
 | 
|      }
 | 
|      if (identical(tokenString, '!==')) {
 | 
| -      reporter.reportErrorMessage(token, MessageKind.UNSUPPORTED_BANG_EQ_EQ,
 | 
| +      reporter.reportErrorMessage(reporter.spanFromToken(token),
 | 
| +          MessageKind.UNSUPPORTED_BANG_EQ_EQ,
 | 
|            {'lhs': receiver, 'rhs': argument});
 | 
|      }
 | 
|    }
 | 
| @@ -497,7 +501,8 @@ class NodeListener extends ElementListener {
 | 
|      pushNode(new Rethrow(throwToken, endToken));
 | 
|      if (identical(throwToken.stringValue, 'throw')) {
 | 
|        reporter.reportErrorMessage(
 | 
| -          throwToken, MessageKind.MISSING_EXPRESSION_IN_THROW);
 | 
| +          reporter.spanFromToken(throwToken),
 | 
| +          MessageKind.MISSING_EXPRESSION_IN_THROW);
 | 
|      }
 | 
|    }
 | 
|  
 | 
| 
 |