Index: pkg/fasta/lib/src/source/diet_listener.dart |
diff --git a/pkg/fasta/lib/src/source/diet_listener.dart b/pkg/fasta/lib/src/source/diet_listener.dart |
index 688590e71e4709adee6501381c45001408f5e17b..84fdf0d17acc0962bc6f6f9313a6f0fb63449fe5 100644 |
--- a/pkg/fasta/lib/src/source/diet_listener.dart |
+++ b/pkg/fasta/lib/src/source/diet_listener.dart |
@@ -71,6 +71,7 @@ class DietListener extends StackListener { |
: library = library, |
memberScope = library.scope; |
+ @override |
Uri get uri => library.uri; |
void discard(int n) { |
@@ -79,62 +80,81 @@ class DietListener extends StackListener { |
} |
} |
+ @override |
void endMetadataStar(int count, bool forParameter) { |
debugEvent("MetadataStar"); |
} |
+ @override |
void endMetadata(Token beginToken, Token periodBeforeName, Token endToken) { |
debugEvent("Metadata"); |
popIfNotNull(periodBeforeName); |
discard(1); |
} |
+ @override |
void endPartOf(Token partKeyword, Token semicolon) { |
debugEvent("PartOf"); |
discard(1); |
} |
+ @override |
void handleNoArguments(Token token) { |
debugEvent("NoArguments"); |
} |
+ @override |
void handleModifiers(int count) { |
debugEvent("Modifiers"); |
} |
+ @override |
void handleNoTypeArguments(Token token) { |
debugEvent("NoTypeArguments"); |
} |
+ @override |
void handleNoType(Token token) { |
debugEvent("NoType"); |
} |
+ @override |
void endType(Token beginToken, Token endToken) { |
debugEvent("Type"); |
discard(1); |
} |
+ @override |
void endTypeList(int count) { |
debugEvent("TypeList"); |
} |
+ @override |
void endMixinApplication() { |
debugEvent("MixinApplication"); |
} |
+ @override |
void endTypeArguments(int count, Token beginToken, Token endToken) { |
debugEvent("TypeArguments"); |
} |
+ @override |
void endFieldInitializer(Token assignmentOperator) { |
debugEvent("FieldInitializer"); |
} |
+ @override |
+ void handleNoFieldInitializer(Token token) { |
+ debugEvent("NoFieldInitializer"); |
+ } |
+ |
+ @override |
void handleNoTypeVariables(Token token) { |
debugEvent("NoTypeVariables"); |
} |
+ @override |
void endFormalParameters(int count, Token beginToken, Token endToken) { |
debugEvent("FormalParameters"); |
assert(count == 0); // Count is always 0 as the diet parser skips formals. |
@@ -145,6 +165,7 @@ class DietListener extends StackListener { |
push(beginToken); |
} |
+ @override |
void handleNoFormalParameters(Token token) { |
debugEvent("NoFormalParameters"); |
if (identical(peek(), "-")) { |
@@ -154,12 +175,14 @@ class DietListener extends StackListener { |
push(token); |
} |
+ @override |
void endFunctionTypeAlias(Token typedefKeyword, Token endToken) { |
debugEvent("FunctionTypeAlias"); |
discard(2); // Name + endToken. |
checkEmpty(); |
} |
+ @override |
void endFields(int count, Token beginToken, Token endToken) { |
debugEvent("Fields"); |
List<String> names = popList(count); |
@@ -167,10 +190,12 @@ class DietListener extends StackListener { |
buildFields(beginToken, false, builder.isInstanceMember); |
} |
+ @override |
void handleAsyncModifier(Token asyncToken, Token startToken) { |
debugEvent("AsyncModifier"); |
} |
+ @override |
void endTopLevelMethod(Token beginToken, Token getOrSet, Token endToken) { |
debugEvent("TopLevelMethod"); |
Token bodyToken = pop(); |
@@ -179,28 +204,34 @@ class DietListener extends StackListener { |
buildFunctionBody(bodyToken, lookupBuilder(beginToken, getOrSet, name)); |
} |
+ @override |
void handleNoFunctionBody(Token token) { |
debugEvent("NoFunctionBody"); |
} |
+ @override |
void endTopLevelFields(int count, Token beginToken, Token endToken) { |
debugEvent("TopLevelFields"); |
discard(count); |
buildFields(beginToken, true, false); |
} |
+ @override |
void handleVoidKeyword(Token token) { |
debugEvent("VoidKeyword"); |
} |
+ @override |
void handleNoInitializers() { |
debugEvent("NoInitializers"); |
} |
+ @override |
void endInitializers(int count, Token beginToken, Token endToken) { |
debugEvent("Initializers"); |
} |
+ @override |
void handleQualified(Token period) { |
debugEvent("handleQualified"); |
// TODO(ahe): Shared with outline_builder.dart. |
@@ -209,92 +240,112 @@ class DietListener extends StackListener { |
push("$receiver.$name"); |
} |
+ @override |
void endLibraryName(Token libraryKeyword, Token semicolon) { |
debugEvent("endLibraryName"); |
discard(1); |
} |
+ @override |
void beginLiteralString(Token token) { |
debugEvent("beginLiteralString"); |
} |
+ @override |
void endLiteralString(int interpolationCount) { |
debugEvent("endLiteralString"); |
discard(interpolationCount); |
} |
+ @override |
void handleStringJuxtaposition(int literalCount) { |
debugEvent("StringJuxtaposition"); |
} |
+ @override |
void endDottedName(int count, Token firstIdentifier) { |
debugEvent("DottedName"); |
discard(count); |
} |
+ @override |
void endConditionalUri(Token ifKeyword, Token equalitySign) { |
debugEvent("ConditionalUri"); |
} |
+ @override |
void endConditionalUris(int count) { |
debugEvent("ConditionalUris"); |
} |
+ @override |
void handleOperatorName(Token operatorKeyword, Token token) { |
debugEvent("OperatorName"); |
push(token.stringValue); |
} |
+ @override |
void endIdentifierList(int count) { |
debugEvent("IdentifierList"); |
discard(count); |
} |
+ @override |
void endShow(Token showKeyword) { |
debugEvent("Show"); |
} |
+ @override |
void endHide(Token hideKeyword) { |
debugEvent("Hide"); |
} |
+ @override |
void endCombinators(int count) { |
debugEvent("Combinators"); |
} |
+ @override |
void endImport(Token importKeyword, Token DeferredKeyword, Token asKeyword, |
Token semicolon) { |
debugEvent("Import"); |
popIfNotNull(asKeyword); |
} |
+ @override |
void endExport(Token exportKeyword, Token semicolon) { |
debugEvent("Export"); |
} |
+ @override |
void endPart(Token partKeyword, Token semicolon) { |
debugEvent("Part"); |
} |
+ @override |
void endTypeVariable(Token token, Token extendsOrSuper) { |
debugEvent("TypeVariable"); |
discard(1); |
} |
+ @override |
void endTypeVariables(int count, Token beginToken, Token endToken) { |
debugEvent("TypeVariables"); |
} |
+ @override |
void handleModifier(Token token) { |
debugEvent("Modifier"); |
} |
+ @override |
void endConstructorReference( |
Token start, Token periodBeforeName, Token endToken) { |
debugEvent("ConstructorReference"); |
popIfNotNull(periodBeforeName); |
} |
+ @override |
void endFactoryMethod(Token beginToken, Token endToken) { |
debugEvent("FactoryMethod"); |
BeginGroupToken bodyToken = pop(); |
@@ -306,11 +357,13 @@ class DietListener extends StackListener { |
buildFunctionBody(bodyToken, lookupBuilder(beginToken, null, name)); |
} |
+ @override |
void endRedirectingFactoryBody(Token beginToken, Token endToken) { |
debugEvent("RedirectingFactoryBody"); |
discard(1); // ConstructorReference. |
} |
+ @override |
void endMethod(Token getOrSet, Token beginToken, Token endToken) { |
debugEvent("Method"); |
Token bodyToken = pop(); |
@@ -354,11 +407,13 @@ class DietListener extends StackListener { |
token, isTopLevel); |
} |
+ @override |
void endMember() { |
debugEvent("Member"); |
checkEmpty(); |
} |
+ @override |
void beginClassBody(Token token) { |
debugEvent("beginClassBody"); |
String name = pop(); |
@@ -368,6 +423,7 @@ class DietListener extends StackListener { |
memberScope = currentClass.computeInstanceScope(memberScope); |
} |
+ @override |
void endClassBody(int memberCount, Token beginToken, Token endToken) { |
debugEvent("ClassBody"); |
currentClass = null; |
@@ -375,12 +431,14 @@ class DietListener extends StackListener { |
memberScope = library.scope; |
} |
+ @override |
void endClassDeclaration(int interfacesCount, Token beginToken, |
Token extendsKeyword, Token implementsKeyword, Token endToken) { |
debugEvent("ClassDeclaration"); |
checkEmpty(); |
} |
+ @override |
void endEnum(Token enumKeyword, Token endBrace, int count) { |
debugEvent("Enum"); |
discard(count); |
@@ -388,6 +446,7 @@ class DietListener extends StackListener { |
checkEmpty(); |
} |
+ @override |
void endNamedMixinApplication( |
Token classKeyword, Token implementsKeyword, Token endToken) { |
debugEvent("NamedMixinApplication"); |
@@ -464,6 +523,7 @@ class DietListener extends StackListener { |
return builder; |
} |
+ @override |
void debugEvent(String name) { |
// print(" ${stack.join('\n ')}"); |
// print(name); |