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

Unified Diff: pkg/compiler/lib/src/parser/element_listener.dart

Issue 2644843006: Use packages dart_parser, dart_scanner, and compiler_util. (Closed)
Patch Set: Created 3 years, 11 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/compiler/lib/src/parser/element_listener.dart
diff --git a/pkg/compiler/lib/src/parser/element_listener.dart b/pkg/compiler/lib/src/parser/element_listener.dart
index 5c058ee73318ec6827dc3b4f96811f6d2f68c51e..bc2101ec38175bff85b601ecc3ec55d6cfb72062 100644
--- a/pkg/compiler/lib/src/parser/element_listener.dart
+++ b/pkg/compiler/lib/src/parser/element_listener.dart
@@ -22,14 +22,15 @@ import '../elements/modelx.dart'
import '../id_generator.dart';
import '../native/native.dart' as native;
import '../string_validator.dart' show StringValidator;
-import '../tokens/keyword.dart' show Keyword;
-import '../tokens/precedence_constants.dart' as Precedence show BAD_INPUT_INFO;
-import '../tokens/token.dart'
- show BeginGroupToken, ErrorToken, KeywordToken, Token;
-import '../tokens/token_constants.dart' as Tokens show EOF_TOKEN;
+import 'package:dart_scanner/dart_scanner.dart'
+ show Keyword, BeginGroupToken, ErrorToken, KeywordToken, Token;
+import 'package:dart_scanner/dart_scanner.dart' as Tokens show EOF_TOKEN;
+import 'package:dart_scanner/src/precedence.dart' as Precedence show
+ BAD_INPUT_INFO;
import '../tree/tree.dart';
import '../util/util.dart' show Link, LinkBuilder;
-import 'listener.dart' show closeBraceFor, Listener, ParserError, VERBOSE;
+import 'package:dart_parser/dart_parser.dart' show
+ closeBraceFor, Listener, ParserError;
import 'partial_elements.dart'
show
PartialClassElement,
@@ -39,6 +40,8 @@ import 'partial_elements.dart'
PartialMetadataAnnotation,
PartialTypedefElement;
+const bool VERBOSE = false;
+
/// Options used for scanning.
///
/// Use this to conditionally support special tokens.
@@ -233,7 +236,8 @@ class ElementListener extends Listener {
void endTopLevelDeclaration(Token token) {
if (!metadata.isEmpty) {
MetadataAnnotationX first = metadata.first;
- recoverableError(first.beginToken, 'Metadata not supported here.');
+ recoverableError(reporter.spanFromToken(first.beginToken),
+ 'Metadata not supported here.');
metadata.clear();
}
}
@@ -603,7 +607,8 @@ class ElementListener extends Listener {
return next;
}
- void recoverableError(Spannable node, String message) {
+ // TODO(ahe): XXX
ahe 2017/01/20 16:50:34 I'll remove the XXX comments in a separate CL. Giv
+ void recoverableError(/* Spannable */ node, String message) {
// TODO(johnniwinther): Make recoverable errors non-fatal.
reportFatalError(node, message);
}
@@ -737,14 +742,22 @@ class ElementListener extends Listener {
/// Don't call this method. Should only be used as a last resort when there
/// is no feasible way to recover from a parser error.
- void reportFatalError(Spannable spannable, String message) {
+ // TODO(ahe): XXX
+ void reportFatalError(/* Spannable */ spannable, String message) {
reportError(spannable, MessageKind.GENERIC, {'text': message});
// Some parse errors are infeasible to recover from, so we throw an error.
- throw new ParserError(message);
+ throw new ParserError(spannable, null, {'text': message}); // TODO(ahe): XXX
+ }
+
+ // TODO(ahe): XXX
+ @override
+ void reportError(token, kind, [Map arguments = const {}]) {
+ super.reportError(token, kind, arguments);
}
+ // TODO(ahe): XXX
@override
- void reportErrorHelper(Spannable spannable, MessageKind errorCode,
+ void reportErrorHelper(/* Spannable */ spannable, /* MessageKind */ errorCode,
[Map arguments = const {}]) {
if (currentMemberHasParseError) return; // Error already reported.
if (suppressParseErrors) return;
@@ -753,4 +766,9 @@ class ElementListener extends Listener {
}
reporter.reportErrorMessage(spannable, errorCode, arguments);
}
+
+ void reportErrorMessageToken(Token token, MessageKind errorCode,
+ [Map arguments = const {}]) {
+ reportErrorHelper(reporter.spanFromToken(token), errorCode, arguments);
+ }
}

Powered by Google App Engine
This is Rietveld 408576698