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

Unified Diff: pkg/dart_parser/lib/src/listener.dart

Issue 2645513002: Document parser event names. (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
« no previous file with comments | « no previous file | pkg/fasta/lib/src/kernel/body_builder.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/dart_parser/lib/src/listener.dart
diff --git a/pkg/dart_parser/lib/src/listener.dart b/pkg/dart_parser/lib/src/listener.dart
index f09a25139f62eff22bb701683c5fe8f50e44c598..3cb9b44afb001f5642e5247d3ae5fc56ab9ed832 100644
--- a/pkg/dart_parser/lib/src/listener.dart
+++ b/pkg/dart_parser/lib/src/listener.dart
@@ -20,10 +20,10 @@ import 'package:dart_scanner/src/token.dart' show
import 'error_kind.dart' show
ErrorKind;
-/**
- * A parser event listener that does nothing except throw exceptions
- * on parser errors.
- */
+/// A parser event listener that does nothing except throw exceptions
+/// on parser errors.
+///
+/// Events are methods that begin with one of: `begin`, `end`, or `handle`.
class Listener {
final List<ParserError> recoverableErrors = <ParserError>[];
@@ -214,6 +214,7 @@ class Listener {
logEvent("NoFunctionBody");
}
+ // TODO(ahe): Rename to `handleFunctionBodySkipped`.
void skippedFunctionBody(Token token) {}
void beginFunctionName(Token token) {}
@@ -739,6 +740,7 @@ class Listener {
logEvent("YieldStatement");
}
+ // TODO(ahe): Rename to `handleUnexpected`.
Token expected(String string, Token token) {
if (token is ErrorToken) {
reportErrorToken(token);
@@ -748,6 +750,7 @@ class Listener {
return skipToEof(token);
}
+ // TODO(ahe): Move away from this class.
Token synthesizeIdentifier(Token token) {
Token synthesizedToken = new StringToken.fromString(
IDENTIFIER_INFO, '?', token.charOffset);
@@ -755,6 +758,7 @@ class Listener {
return synthesizedToken;
}
+ // TODO(ahe): Rename to `handleIdentifierExpected`.
Token expectedIdentifier(Token token) {
if (token is ErrorToken) {
reportErrorToken(token);
@@ -764,6 +768,7 @@ class Listener {
return skipToEof(token);
}
+ // TODO(ahe): Rename to `handleTypeExpected`.
Token expectedType(Token token) {
if (token is ErrorToken) {
reportErrorToken(token);
@@ -773,6 +778,7 @@ class Listener {
return skipToEof(token);
}
+ // TODO(ahe): Rename to `handleExpressionExpected`.
Token expectedExpression(Token token) {
if (token is ErrorToken) {
reportErrorToken(token);
@@ -782,6 +788,7 @@ class Listener {
return skipToEof(token);
}
+ // TODO(ahe): Merge with `handleUnexpected` (nee `expected`).
Token unexpected(Token token) {
if (token is ErrorToken) {
reportErrorToken(token);
@@ -791,6 +798,7 @@ class Listener {
return skipToEof(token);
}
+ // TODO(ahe): Rename to `handleBlockToSkipExpected`.
Token expectedBlockToSkip(Token token) {
if (token is ErrorToken) {
reportErrorToken(token);
@@ -800,6 +808,7 @@ class Listener {
return skipToEof(token);
}
+ // TODO(ahe): Rename to `handleFunctionBodyExpected`.
Token expectedFunctionBody(Token token) {
if (token is ErrorToken) {
reportErrorToken(token);
@@ -809,6 +818,7 @@ class Listener {
return skipToEof(token);
}
+ // TODO(ahe): Rename to `handleClassBodyExpected`.
Token expectedClassBody(Token token) {
if (token is ErrorToken) {
reportErrorToken(token);
@@ -818,6 +828,7 @@ class Listener {
return skipToEof(token);
}
+ // TODO(ahe): Rename to `handleClassBodyToSkipExpected`.
Token expectedClassBodyToSkip(Token token) {
if (token is ErrorToken) {
reportErrorToken(token);
@@ -827,6 +838,7 @@ class Listener {
return skipToEof(token);
}
+ // TODO(ahe): Rename to `handleDeclarationExpected`.
Token expectedDeclaration(Token token) {
if (token is ErrorToken) {
reportErrorToken(token);
@@ -836,6 +848,7 @@ class Listener {
return skipToEof(token);
}
+ // TODO(ahe): Rename to `handleUnmatched`.
Token unmatched(Token token) {
if (token is ErrorToken) {
reportErrorToken(token);
@@ -845,17 +858,20 @@ class Listener {
return skipToEof(token);
}
- skipToEof(Token token) {
+ // TODO(ahe): Move away from this class.
+ Token skipToEof(Token token) {
while (!identical(token.info, EOF_INFO)) {
token = token.next;
}
return token;
}
+ // TODO(ahe): Merge with `handleError` (nee `reportError`).
void error(String message, Token token) {
throw new ParserError(token, ErrorKind.UNSPECIFIED, {'text': message});
}
+ // TODO(ahe): Rename to `handleError`.
void reportError(Token token, ErrorKind kind, [Map arguments = const {}]) {
if (token is ErrorToken) {
reportErrorToken(token);
@@ -864,10 +880,12 @@ class Listener {
}
}
+ // TODO(ahe): Move away from this class.
void reportErrorHelper(Token token, ErrorKind kind, Map arguments) {
recoverableErrors.add(new ParserError(token, kind, arguments));
}
+ // TODO(ahe): Move away from this class.
void reportErrorToken(ErrorToken token) {
if (token is BadInputToken) {
String hex = token.character.toRadixString(16);
« no previous file with comments | « no previous file | pkg/fasta/lib/src/kernel/body_builder.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698