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

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

Issue 2651563003: Add @override annotation on listeners. (Closed)
Patch Set: Also add @override to member_listener.dart. 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 | « pkg/compiler/lib/src/parser/member_listener.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 a312b0752ce3e112b95f529239155a34e7a8ad83..1e2e6c6a186d72504f06c05fac5ee19c9ee36d37 100644
--- a/pkg/compiler/lib/src/parser/node_listener.dart
+++ b/pkg/compiler/lib/src/parser/node_listener.dart
@@ -20,14 +20,17 @@ class NodeListener extends ElementListener {
CompilationUnitElement element)
: super(scannerOptions, reporter, element, null);
+ @override
void addLibraryTag(LibraryTag tag) {
pushNode(tag);
}
+ @override
void addPartOfTag(PartOf tag) {
pushNode(tag);
}
+ @override
void endLibraryName(Token libraryKeyword, Token semicolon) {
Expression name = popNode();
pushNode(new LibraryName(
@@ -38,6 +41,7 @@ class NodeListener extends ElementListener {
null));
}
+ @override
void endImport(Token importKeyword, Token deferredKeyword, Token asKeyword,
Token semicolon) {
NodeList combinators = popNode();
@@ -56,6 +60,7 @@ class NodeListener extends ElementListener {
isDeferred: deferredKeyword != null));
}
+ @override
void endExport(Token exportKeyword, Token semicolon) {
NodeList combinators = popNode();
NodeList conditionalUris = popNode();
@@ -70,6 +75,7 @@ class NodeListener extends ElementListener {
null));
}
+ @override
void endPart(Token partKeyword, Token semicolon) {
StringNode uri = popLiteralString();
pushNode(new Part(
@@ -80,6 +86,7 @@ class NodeListener extends ElementListener {
null));
}
+ @override
void endPartOf(Token partKeyword, Token semicolon) {
Expression name = popNode(); // name
pushNode(new PartOf(
@@ -90,6 +97,7 @@ class NodeListener extends ElementListener {
null));
}
+ @override
void endClassDeclaration(int interfacesCount, Token beginToken,
Token extendsKeyword, Token implementsKeyword, Token endToken) {
NodeList body = popNode();
@@ -103,6 +111,7 @@ class NodeListener extends ElementListener {
interfaces, beginToken, extendsKeyword, body, endToken));
}
+ @override
void endTopLevelDeclaration(Token token) {
// TODO(sigmund): consider moving metadata into each declaration
// element instead.
@@ -112,10 +121,12 @@ class NodeListener extends ElementListener {
super.endTopLevelDeclaration(token);
}
+ @override
void endCompilationUnit(int count, Token token) {
pushNode(makeNodeList(count, null, null, '\n'));
}
+ @override
void endFunctionTypeAlias(Token typedefKeyword, Token endToken) {
NodeList formals = popNode();
NodeList typeParameters = popNode();
@@ -125,6 +136,7 @@ class NodeListener extends ElementListener {
returnType, name, typeParameters, formals, typedefKeyword, endToken));
}
+ @override
void endNamedMixinApplication(
Token classKeyword, Token implementsKeyword, Token endToken) {
NodeList interfaces = (implementsKeyword != null) ? popNode() : null;
@@ -136,16 +148,19 @@ class NodeListener extends ElementListener {
mixinApplication, interfaces, classKeyword, endToken));
}
+ @override
void endEnum(Token enumKeyword, Token endBrace, int count) {
NodeList names = makeNodeList(count, enumKeyword.next.next, endBrace, ",");
Identifier name = popNode();
pushNode(new Enum(enumKeyword, name, names));
}
+ @override
void endClassBody(int memberCount, Token beginToken, Token endToken) {
pushNode(makeNodeList(memberCount, beginToken, endToken, null));
}
+ @override
void endTopLevelFields(int count, Token beginToken, Token endToken) {
NodeList variables = makeNodeList(count, null, endToken, ",");
TypeAnnotation type = popNode();
@@ -153,6 +168,7 @@ class NodeListener extends ElementListener {
pushNode(new VariableDefinitions(type, modifiers, variables));
}
+ @override
void endTopLevelMethod(Token beginToken, Token getOrSet, Token endToken) {
Statement body = popNode();
AsyncModifier asyncModifier = popNode();
@@ -165,6 +181,7 @@ class NodeListener extends ElementListener {
modifiers, null, getOrSet, asyncModifier));
}
+ @override
void endFormalParameter(Token thisKeyword) {
Expression name = popNode();
if (thisKeyword != null) {
@@ -182,22 +199,27 @@ class NodeListener extends ElementListener {
metadata, type, modifiers, new NodeList.singleton(name)));
}
+ @override
void endFormalParameters(int count, Token beginToken, Token endToken) {
pushNode(makeNodeList(count, beginToken, endToken, ","));
}
+ @override
void handleNoFormalParameters(Token token) {
pushNode(null);
}
+ @override
void endArguments(int count, Token beginToken, Token endToken) {
pushNode(makeNodeList(count, beginToken, endToken, ","));
}
+ @override
void handleNoArguments(Token token) {
pushNode(null);
}
+ @override
void endConstructorReference(
Token start, Token periodBeforeName, Token endToken) {
Identifier name = null;
@@ -229,21 +251,25 @@ class NodeListener extends ElementListener {
pushNode(constructor);
}
+ @override
void endRedirectingFactoryBody(Token beginToken, Token endToken) {
pushNode(new RedirectingFactoryBody(beginToken, endToken, popNode()));
}
+ @override
void endReturnStatement(
bool hasExpression, Token beginToken, Token endToken) {
Expression expression = hasExpression ? popNode() : null;
pushNode(new Return(beginToken, endToken, expression));
}
+ @override
void endYieldStatement(Token yieldToken, Token starToken, Token endToken) {
Expression expression = popNode();
pushNode(new Yield(yieldToken, starToken, expression, endToken));
}
+ @override
void endExpressionStatement(Token token) {
pushNode(new ExpressionStatement(popNode(), token));
}
@@ -253,6 +279,7 @@ class NodeListener extends ElementListener {
"'${token.value}': ${errorInformation}");
}
+ @override
Token expectedFunctionBody(Token token) {
if (identical(token.stringValue, 'native')) {
return native.handleNativeFunctionBody(this, token);
@@ -266,6 +293,7 @@ class NodeListener extends ElementListener {
return skipToEof(token);
}
+ @override
Token expectedClassBody(Token token) {
if (token is ErrorToken) {
reportErrorToken(token);
@@ -277,27 +305,33 @@ class NodeListener extends ElementListener {
}
}
+ @override
void handleLiteralInt(Token token) {
pushNode(new LiteralInt(token, (t, e) => handleOnError(t, e)));
}
+ @override
void handleLiteralDouble(Token token) {
pushNode(new LiteralDouble(token, (t, e) => handleOnError(t, e)));
}
+ @override
void handleLiteralBool(Token token) {
pushNode(new LiteralBool(token, (t, e) => handleOnError(t, e)));
}
+ @override
void handleLiteralNull(Token token) {
pushNode(new LiteralNull(token));
}
+ @override
void endLiteralSymbol(Token hashToken, int identifierCount) {
NodeList identifiers = makeNodeList(identifierCount, null, null, '.');
pushNode(new LiteralSymbol(hashToken, identifiers));
}
+ @override
void handleBinaryExpression(Token token) {
Node argument = popNode();
Node receiver = popNode();
@@ -331,14 +365,17 @@ class NodeListener extends ElementListener {
}
}
+ @override
void beginCascade(Token token) {
pushNode(new CascadeReceiver(popNode(), token));
}
+ @override
void endCascade() {
pushNode(new Cascade(popNode()));
}
+ @override
void handleAsOperator(Token operator, Token endToken) {
TypeAnnotation type = popNode();
Expression expression = popNode();
@@ -346,6 +383,7 @@ class NodeListener extends ElementListener {
pushNode(new Send(expression, new Operator(operator), arguments));
}
+ @override
void handleAssignmentExpression(Token token) {
Node arg = popNode();
Node node = popNode();
@@ -373,6 +411,7 @@ class NodeListener extends ElementListener {
reportFatalError(node, 'Not assignable.');
}
+ @override
void handleConditionalExpression(Token question, Token colon) {
Node elseExpression = popNode();
Node thenExpression = popNode();
@@ -381,6 +420,7 @@ class NodeListener extends ElementListener {
condition, thenExpression, elseExpression, question, colon));
}
+ @override
void endSend(Token token) {
NodeList arguments = popNode();
NodeList typeArguments = popNode();
@@ -389,6 +429,7 @@ class NodeListener extends ElementListener {
pushNode(new Send(null, selector, arguments, typeArguments));
}
+ @override
void endFunctionBody(int count, Token beginToken, Token endToken) {
if (count == 0 && beginToken == null) {
pushNode(new EmptyStatement(endToken));
@@ -397,6 +438,7 @@ class NodeListener extends ElementListener {
}
}
+ @override
void handleAsyncModifier(Token asyncToken, Token starToken) {
if (asyncToken != null) {
pushNode(new AsyncModifier(asyncToken, starToken));
@@ -405,14 +447,17 @@ class NodeListener extends ElementListener {
}
}
+ @override
void skippedFunctionBody(Token token) {
pushNode(new Block(new NodeList.empty()));
}
+ @override
void handleNoFunctionBody(Token token) {
pushNode(new EmptyStatement(token));
}
+ @override
void endFunction(Token getOrSet, Token endToken) {
Statement body = popNode();
AsyncModifier asyncModifier = popNode();
@@ -427,10 +472,12 @@ class NodeListener extends ElementListener {
modifiers, initializers, getOrSet, asyncModifier));
}
+ @override
void endFunctionDeclaration(Token endToken) {
pushNode(new FunctionDeclaration(popNode()));
}
+ @override
void endVariablesDeclaration(int count, Token endToken) {
// TODO(ahe): Pick one name for this concept, either
// VariablesDeclaration or VariableDefinitions.
@@ -440,6 +487,7 @@ class NodeListener extends ElementListener {
pushNode(new VariableDefinitions(type, modifiers, variables));
}
+ @override
void endInitializer(Token assignmentOperator) {
Expression initializer = popNode();
NodeList arguments =
@@ -449,6 +497,7 @@ class NodeListener extends ElementListener {
pushNode(new SendSet(null, name, op, arguments));
}
+ @override
void endIfStatement(Token ifToken, Token elseToken) {
Statement elsePart = (elseToken == null) ? null : popNode();
Statement thenPart = popNode();
@@ -456,6 +505,7 @@ class NodeListener extends ElementListener {
pushNode(new If(condition, thenPart, elsePart, ifToken, elseToken));
}
+ @override
void endForStatement(
int updateExpressionCount, Token beginToken, Token endToken) {
Statement body = popNode();
@@ -465,10 +515,12 @@ class NodeListener extends ElementListener {
pushNode(new For(initializer, condition, updates, body, beginToken));
}
+ @override
void handleNoExpression(Token token) {
pushNode(null);
}
+ @override
void endDoWhileStatement(
Token doKeyword, Token whileKeyword, Token endToken) {
Expression condition = popNode();
@@ -476,26 +528,31 @@ class NodeListener extends ElementListener {
pushNode(new DoWhile(body, condition, doKeyword, whileKeyword, endToken));
}
+ @override
void endWhileStatement(Token whileKeyword, Token endToken) {
Statement body = popNode();
Expression condition = popNode();
pushNode(new While(condition, body, whileKeyword));
}
+ @override
void endBlock(int count, Token beginToken, Token endToken) {
pushNode(new Block(makeNodeList(count, beginToken, endToken, null)));
}
+ @override
void endThrowExpression(Token throwToken, Token endToken) {
Expression expression = popNode();
pushNode(new Throw(expression, throwToken, endToken));
}
+ @override
void endAwaitExpression(Token awaitToken, Token endToken) {
Expression expression = popNode();
pushNode(new Await(awaitToken, expression));
}
+ @override
void endRethrowStatement(Token throwToken, Token endToken) {
pushNode(new Rethrow(throwToken, endToken));
if (identical(throwToken.stringValue, 'throw')) {
@@ -505,14 +562,17 @@ class NodeListener extends ElementListener {
}
}
+ @override
void handleUnaryPrefixExpression(Token token) {
pushNode(new Send.prefix(popNode(), new Operator(token)));
}
+ @override
void handleSuperExpression(Token token) {
pushNode(new Identifier(token));
}
+ @override
void handleThisExpression(Token token) {
pushNode(new Identifier(token));
}
@@ -540,22 +600,27 @@ class NodeListener extends ElementListener {
}
}
+ @override
void handleUnaryPostfixAssignmentExpression(Token token) {
handleUnaryAssignmentExpression(token, false);
}
+ @override
void handleUnaryPrefixAssignmentExpression(Token token) {
handleUnaryAssignmentExpression(token, true);
}
+ @override
void endInitializers(int count, Token beginToken, Token endToken) {
pushNode(makeNodeList(count, beginToken, null, ','));
}
+ @override
void handleNoInitializers() {
pushNode(null);
}
+ @override
void endMember() {
// TODO(sigmund): consider moving metadata into each declaration
// element instead.
@@ -565,6 +630,7 @@ class NodeListener extends ElementListener {
super.endMember();
}
+ @override
void endFields(int count, Token beginToken, Token endToken) {
NodeList variables = makeNodeList(count, null, endToken, ",");
TypeAnnotation type = popNode();
@@ -572,6 +638,7 @@ class NodeListener extends ElementListener {
pushNode(new VariableDefinitions(type, modifiers, variables));
}
+ @override
void endMethod(Token getOrSet, Token beginToken, Token endToken) {
Statement body = popNode();
AsyncModifier asyncModifier = popNode();
@@ -585,6 +652,7 @@ class NodeListener extends ElementListener {
returnType, modifiers, initializers, getOrSet, asyncModifier));
}
+ @override
void handleLiteralMap(
int count, Token beginToken, Token constKeyword, Token endToken) {
NodeList entries = makeNodeList(count, beginToken, endToken, ',');
@@ -592,18 +660,21 @@ class NodeListener extends ElementListener {
pushNode(new LiteralMap(typeArguments, entries, constKeyword));
}
+ @override
void endLiteralMapEntry(Token colon, Token endToken) {
Expression value = popNode();
Expression key = popNode();
pushNode(new LiteralMapEntry(key, colon, value));
}
+ @override
void handleLiteralList(
int count, Token beginToken, Token constKeyword, Token endToken) {
NodeList elements = makeNodeList(count, beginToken, endToken, ',');
pushNode(new LiteralList(popNode(), elements, constKeyword));
}
+ @override
void handleIndexedExpression(
Token openSquareBracket, Token closeSquareBracket) {
NodeList arguments =
@@ -615,37 +686,44 @@ class NodeListener extends ElementListener {
pushNode(new Send(receiver, selector, arguments));
}
+ @override
void handleNewExpression(Token token) {
NodeList arguments = popNode();
Node name = popNode();
pushNode(new NewExpression(token, new Send(null, name, arguments)));
}
+ @override
void handleConstExpression(Token token) {
// [token] carries the 'const' information.
handleNewExpression(token);
}
+ @override
void handleOperator(Token token) {
pushNode(new Operator(token));
}
+ @override
void handleOperatorName(Token operatorKeyword, Token token) {
Operator op = new Operator(token);
pushNode(new Send(new Identifier(operatorKeyword), op, null));
}
+ @override
void handleNamedArgument(Token colon) {
Expression expression = popNode();
Identifier name = popNode();
pushNode(new NamedArgument(name, colon, expression));
}
+ @override
void endOptionalFormalParameters(
int count, Token beginToken, Token endToken) {
pushNode(makeNodeList(count, beginToken, endToken, ','));
}
+ @override
void handleFunctionTypedFormalParameter(Token endToken) {
NodeList formals = popNode();
NodeList typeVariables = popNode();
@@ -656,6 +734,7 @@ class NodeListener extends ElementListener {
returnType, Modifiers.EMPTY, null, null, null));
}
+ @override
void handleValuedFormalParameter(Token equals, Token token) {
Expression defaultValue = popNode();
Expression parameterName = popNode();
@@ -663,6 +742,7 @@ class NodeListener extends ElementListener {
new NodeList.singleton(defaultValue)));
}
+ @override
void endTryStatement(int catchCount, Token tryKeyword, Token finallyKeyword) {
Block finallyBlock = null;
if (finallyKeyword != null) {
@@ -674,10 +754,12 @@ class NodeListener extends ElementListener {
tryBlock, catchBlocks, finallyBlock, tryKeyword, finallyKeyword));
}
+ @override
void handleCaseMatch(Token caseKeyword, Token colon) {
pushNode(new CaseMatch(caseKeyword, popNode(), colon));
}
+ @override
void handleCatchBlock(Token onKeyword, Token catchKeyword) {
Block block = popNode();
NodeList formals = catchKeyword != null ? popNode() : null;
@@ -685,12 +767,14 @@ class NodeListener extends ElementListener {
pushNode(new CatchBlock(type, formals, block, onKeyword, catchKeyword));
}
+ @override
void endSwitchStatement(Token switchKeyword, Token endToken) {
NodeList cases = popNode();
ParenthesizedExpression expression = popNode();
pushNode(new SwitchStatement(expression, cases, switchKeyword));
}
+ @override
void endSwitchBlock(int caseCount, Token beginToken, Token endToken) {
Link<Node> caseNodes = const Link<Node>();
while (caseCount > 0) {
@@ -701,6 +785,7 @@ class NodeListener extends ElementListener {
pushNode(new NodeList(beginToken, caseNodes, endToken, null));
}
+ @override
void handleSwitchCase(int labelCount, int caseCount, Token defaultKeyword,
int statementCount, Token firstToken, Token endToken) {
NodeList statements = makeNodeList(statementCount, null, null, null);
@@ -710,6 +795,7 @@ class NodeListener extends ElementListener {
new SwitchCase(labelsAndCases, defaultKeyword, statements, firstToken));
}
+ @override
void handleBreakStatement(
bool hasTarget, Token breakKeyword, Token endToken) {
Identifier target = null;
@@ -719,6 +805,7 @@ class NodeListener extends ElementListener {
pushNode(new BreakStatement(target, breakKeyword, endToken));
}
+ @override
void handleContinueStatement(
bool hasTarget, Token continueKeyword, Token endToken) {
Identifier target = null;
@@ -728,10 +815,12 @@ class NodeListener extends ElementListener {
pushNode(new ContinueStatement(target, continueKeyword, endToken));
}
+ @override
void handleEmptyStatement(Token token) {
pushNode(new EmptyStatement(token));
}
+ @override
void endFactoryMethod(Token beginToken, Token endToken) {
super.endFactoryMethod(beginToken, endToken);
Statement body = popNode();
@@ -762,6 +851,7 @@ class NodeListener extends ElementListener {
name, null, formals, body, null, modifiers, null, null, asyncModifier));
}
+ @override
void endForIn(
Token awaitToken, Token forToken, Token inKeyword, Token endToken) {
Statement body = popNode();
@@ -776,6 +866,7 @@ class NodeListener extends ElementListener {
}
}
+ @override
void endMetadataStar(int count, bool forParameter) {
if (0 == count) {
pushNode(null);
@@ -784,6 +875,7 @@ class NodeListener extends ElementListener {
}
}
+ @override
void endMetadata(Token beginToken, Token periodBeforeName, Token endToken) {
NodeList arguments = popNode();
if (arguments == null) {
@@ -820,6 +912,7 @@ class NodeListener extends ElementListener {
}
}
+ @override
void handleAssertStatement(
Token assertKeyword, Token commaToken, Token semicolonToken) {
Node message;
@@ -831,6 +924,7 @@ class NodeListener extends ElementListener {
pushNode(new Assert(assertKeyword, condition, message, semicolonToken));
}
+ @override
void endUnnamedFunction(Token token) {
Statement body = popNode();
AsyncModifier asyncModifier = popNode();
@@ -840,6 +934,7 @@ class NodeListener extends ElementListener {
Modifiers.EMPTY, null, null, asyncModifier));
}
+ @override
void handleIsOperator(Token operator, Token not, Token endToken) {
TypeAnnotation type = popNode();
Expression expression = popNode();
@@ -854,17 +949,20 @@ class NodeListener extends ElementListener {
pushNode(new Send(expression, new Operator(operator), arguments));
}
+ @override
void handleLabel(Token colon) {
Identifier name = popNode();
pushNode(new Label(name, colon));
}
+ @override
void endLabeledStatement(int labelCount) {
Statement statement = popNode();
NodeList labels = makeNodeList(labelCount, null, null, null);
pushNode(new LabeledStatement(labels, statement));
}
+ @override
void log(message) {
reporter.log(message);
}
« no previous file with comments | « pkg/compiler/lib/src/parser/member_listener.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698