blob: ca400957504635ee40db7bc4ae45a195821fc42c [file] [log] [blame]
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'package:_fe_analyzer_shared/src/parser/assert.dart';
import 'package:_fe_analyzer_shared/src/parser/block_kind.dart';
import 'package:_fe_analyzer_shared/src/parser/declaration_kind.dart';
import 'package:_fe_analyzer_shared/src/parser/formal_parameter_kind.dart';
import 'package:_fe_analyzer_shared/src/parser/identifier_context.dart';
import 'package:_fe_analyzer_shared/src/parser/listener.dart';
import 'package:_fe_analyzer_shared/src/parser/member_kind.dart';
import 'package:_fe_analyzer_shared/src/scanner/error_token.dart';
import 'package:_fe_analyzer_shared/src/scanner/token.dart';
import 'package:front_end/src/fasta/messages.dart';
// THIS FILE IS AUTO GENERATED BY 'test/parser_test_listener_creator.dart'
// Run this command to update it:
// 'dart pkg/front_end/test/parser_test_listener_creator.dart'
class ParserTestListener implements Listener {
int indent = 0;
final StringBuffer sb = new StringBuffer();
final bool trace;
ParserTestListener(this.trace);
String createTrace() {
List<String> traceLines = StackTrace.current.toString().split("\n");
for (int i = 0; i < traceLines.length; i++) {
// Find first one that's not any of the denylisted ones.
String line = traceLines[i];
if (line.contains("parser_test_listener.dart:") ||
line.contains("parser_suite.dart:")) continue;
return line.substring(line.indexOf("(") + 1, line.lastIndexOf(")"));
}
return "N/A";
}
void doPrint(String s) {
String outString = s;
if (trace) outString += " (${createTrace()})";
if (outString != "") {
sb.writeln((" " * indent) + outString);
} else {
sb.writeln("");
}
}
bool checkEof(Token token) {
if (token.isEof) {
doPrint("// WARNING: Reporting at eof for $token.");
return true;
}
Token? next = token.next;
while (next != null && next.offset == token.offset && !next.isEof) {
next = next.next;
}
if (next != null && next.offset == token.offset && next.isEof) {
doPrint("// WARNING: Reporting at the eof offset for $token.");
return true;
}
return false;
}
void seen(Token? token) {}
Uri? get uri => null;
void logEvent(String name) {
doPrint('logEvent(' '$name)');
}
void beginArguments(Token token) {
seen(token);
doPrint('beginArguments(' '$token)');
indent++;
}
void endArguments(int count, Token beginToken, Token endToken) {
indent--;
seen(beginToken);
seen(endToken);
doPrint('endArguments(' '$count, ' '$beginToken, ' '$endToken)');
}
void handleAsyncModifier(Token? asyncToken, Token? starToken) {
seen(asyncToken);
seen(starToken);
doPrint('handleAsyncModifier(' '$asyncToken, ' '$starToken)');
}
void beginAwaitExpression(Token token) {
seen(token);
doPrint('beginAwaitExpression(' '$token)');
indent++;
}
void endAwaitExpression(Token beginToken, Token endToken) {
indent--;
seen(beginToken);
seen(endToken);
doPrint('endAwaitExpression(' '$beginToken, ' '$endToken)');
}
void endInvalidAwaitExpression(
Token beginToken, Token endToken, MessageCode errorCode) {
indent--;
seen(beginToken);
seen(endToken);
doPrint('endInvalidAwaitExpression('
'$beginToken, '
'$endToken, '
'$errorCode)');
}
void beginBlock(Token token, BlockKind blockKind) {
seen(token);
doPrint('beginBlock(' '$token, ' '$blockKind)');
indent++;
}
void endBlock(
int count, Token beginToken, Token endToken, BlockKind blockKind) {
indent--;
seen(beginToken);
seen(endToken);
doPrint('endBlock(' '$count, ' '$beginToken, ' '$endToken, ' '$blockKind)');
}
void handleInvalidTopLevelBlock(Token token) {
seen(token);
doPrint('handleInvalidTopLevelBlock(' '$token)');
}
void beginCascade(Token token) {
seen(token);
doPrint('beginCascade(' '$token)');
indent++;
}
void endCascade() {
indent--;
doPrint('endCascade()');
}
void beginCaseExpression(Token caseKeyword) {
seen(caseKeyword);
doPrint('beginCaseExpression(' '$caseKeyword)');
indent++;
}
void endCaseExpression(Token colon) {
indent--;
seen(colon);
doPrint('endCaseExpression(' '$colon)');
}
void beginClassOrMixinBody(DeclarationKind kind, Token token) {
seen(token);
doPrint('beginClassOrMixinBody(' '$kind, ' '$token)');
indent++;
}
void endClassOrMixinBody(
DeclarationKind kind, int memberCount, Token beginToken, Token endToken) {
indent--;
seen(beginToken);
seen(endToken);
doPrint('endClassOrMixinBody('
'$kind, '
'$memberCount, '
'$beginToken, '
'$endToken)');
}
void beginClassOrNamedMixinApplicationPrelude(Token token) {
seen(token);
doPrint('beginClassOrNamedMixinApplicationPrelude(' '$token)');
indent++;
}
void beginClassDeclaration(Token begin, Token? abstractToken, Token name) {
seen(begin);
seen(abstractToken);
seen(name);
doPrint('beginClassDeclaration(' '$begin, ' '$abstractToken, ' '$name)');
indent++;
}
void handleClassExtends(Token? extendsKeyword, int typeCount) {
seen(extendsKeyword);
doPrint('handleClassExtends(' '$extendsKeyword, ' '$typeCount)');
}
void handleClassOrMixinImplements(
Token? implementsKeyword, int interfacesCount) {
seen(implementsKeyword);
doPrint('handleClassOrMixinImplements('
'$implementsKeyword, '
'$interfacesCount)');
}
void handleClassHeader(Token begin, Token classKeyword, Token? nativeToken) {
seen(begin);
seen(classKeyword);
seen(nativeToken);
doPrint('handleClassHeader(' '$begin, ' '$classKeyword, ' '$nativeToken)');
}
void handleRecoverClassHeader() {
doPrint('handleRecoverClassHeader()');
}
void endClassDeclaration(Token beginToken, Token endToken) {
indent--;
seen(beginToken);
seen(endToken);
doPrint('endClassDeclaration(' '$beginToken, ' '$endToken)');
}
void beginMixinDeclaration(Token mixinKeyword, Token name) {
seen(mixinKeyword);
seen(name);
doPrint('beginMixinDeclaration(' '$mixinKeyword, ' '$name)');
indent++;
}
void handleMixinOn(Token? onKeyword, int typeCount) {
seen(onKeyword);
doPrint('handleMixinOn(' '$onKeyword, ' '$typeCount)');
}
void handleMixinHeader(Token mixinKeyword) {
seen(mixinKeyword);
doPrint('handleMixinHeader(' '$mixinKeyword)');
}
void handleRecoverMixinHeader() {
doPrint('handleRecoverMixinHeader()');
}
void endMixinDeclaration(Token mixinKeyword, Token endToken) {
indent--;
seen(mixinKeyword);
seen(endToken);
doPrint('endMixinDeclaration(' '$mixinKeyword, ' '$endToken)');
}
void beginUncategorizedTopLevelDeclaration(Token token) {
seen(token);
doPrint('beginUncategorizedTopLevelDeclaration(' '$token)');
indent++;
}
void beginExtensionDeclarationPrelude(Token extensionKeyword) {
seen(extensionKeyword);
doPrint('beginExtensionDeclarationPrelude(' '$extensionKeyword)');
indent++;
}
void beginExtensionDeclaration(Token extensionKeyword, Token? name) {
seen(extensionKeyword);
seen(name);
doPrint('beginExtensionDeclaration(' '$extensionKeyword, ' '$name)');
indent++;
}
void endExtensionDeclaration(
Token extensionKeyword, Token onKeyword, Token endToken) {
indent--;
seen(extensionKeyword);
seen(onKeyword);
seen(endToken);
doPrint('endExtensionDeclaration('
'$extensionKeyword, '
'$onKeyword, '
'$endToken)');
}
void beginCombinators(Token token) {
seen(token);
doPrint('beginCombinators(' '$token)');
indent++;
}
void endCombinators(int count) {
indent--;
doPrint('endCombinators(' '$count)');
}
void beginCompilationUnit(Token token) {
seen(token);
doPrint('beginCompilationUnit(' '$token)');
indent++;
}
void handleDirectivesOnly() {
doPrint('handleDirectivesOnly()');
}
void endCompilationUnit(int count, Token token) {
indent--;
seen(token);
doPrint('endCompilationUnit(' '$count, ' '$token)');
}
void beginConstLiteral(Token token) {
seen(token);
doPrint('beginConstLiteral(' '$token)');
indent++;
}
void endConstLiteral(Token token) {
indent--;
seen(token);
doPrint('endConstLiteral(' '$token)');
}
void beginConstructorReference(Token start) {
seen(start);
doPrint('beginConstructorReference(' '$start)');
indent++;
}
void endConstructorReference(
Token start, Token? periodBeforeName, Token endToken) {
indent--;
seen(start);
seen(periodBeforeName);
seen(endToken);
doPrint('endConstructorReference('
'$start, '
'$periodBeforeName, '
'$endToken)');
}
void beginDoWhileStatement(Token token) {
seen(token);
doPrint('beginDoWhileStatement(' '$token)');
indent++;
}
void endDoWhileStatement(
Token doKeyword, Token whileKeyword, Token endToken) {
indent--;
seen(doKeyword);
seen(whileKeyword);
seen(endToken);
doPrint(
'endDoWhileStatement(' '$doKeyword, ' '$whileKeyword, ' '$endToken)');
}
void beginDoWhileStatementBody(Token token) {
seen(token);
doPrint('beginDoWhileStatementBody(' '$token)');
indent++;
}
void endDoWhileStatementBody(Token token) {
indent--;
seen(token);
doPrint('endDoWhileStatementBody(' '$token)');
}
void beginWhileStatementBody(Token token) {
seen(token);
doPrint('beginWhileStatementBody(' '$token)');
indent++;
}
void endWhileStatementBody(Token token) {
indent--;
seen(token);
doPrint('endWhileStatementBody(' '$token)');
}
void beginEnum(Token enumKeyword) {
seen(enumKeyword);
doPrint('beginEnum(' '$enumKeyword)');
indent++;
}
void endEnum(Token enumKeyword, Token leftBrace, int count) {
indent--;
seen(enumKeyword);
seen(leftBrace);
doPrint('endEnum(' '$enumKeyword, ' '$leftBrace, ' '$count)');
}
void beginExport(Token token) {
seen(token);
doPrint('beginExport(' '$token)');
indent++;
}
void endExport(Token exportKeyword, Token semicolon) {
indent--;
seen(exportKeyword);
seen(semicolon);
doPrint('endExport(' '$exportKeyword, ' '$semicolon)');
}
void handleExtraneousExpression(Token token, Message message) {
seen(token);
doPrint('handleExtraneousExpression(' '$token, ' '$message)');
}
void handleExpressionStatement(Token token) {
seen(token);
doPrint('handleExpressionStatement(' '$token)');
}
void beginFactoryMethod(
Token lastConsumed, Token? externalToken, Token? constToken) {
seen(lastConsumed);
seen(externalToken);
seen(constToken);
doPrint('beginFactoryMethod('
'$lastConsumed, '
'$externalToken, '
'$constToken)');
indent++;
}
void endClassFactoryMethod(
Token beginToken, Token factoryKeyword, Token endToken) {
indent--;
seen(beginToken);
seen(factoryKeyword);
seen(endToken);
doPrint('endClassFactoryMethod('
'$beginToken, '
'$factoryKeyword, '
'$endToken)');
}
void endMixinFactoryMethod(
Token beginToken, Token factoryKeyword, Token endToken) {
indent--;
seen(beginToken);
seen(factoryKeyword);
seen(endToken);
doPrint('endMixinFactoryMethod('
'$beginToken, '
'$factoryKeyword, '
'$endToken)');
}
void endExtensionFactoryMethod(
Token beginToken, Token factoryKeyword, Token endToken) {
indent--;
seen(beginToken);
seen(factoryKeyword);
seen(endToken);
doPrint('endExtensionFactoryMethod('
'$beginToken, '
'$factoryKeyword, '
'$endToken)');
}
void beginFormalParameter(Token token, MemberKind kind, Token? requiredToken,
Token? covariantToken, Token? varFinalOrConst) {
seen(token);
seen(requiredToken);
seen(covariantToken);
seen(varFinalOrConst);
doPrint('beginFormalParameter('
'$token, '
'$kind, '
'$requiredToken, '
'$covariantToken, '
'$varFinalOrConst)');
indent++;
}
void endFormalParameter(
Token? thisKeyword,
Token? periodAfterThis,
Token nameToken,
Token? initializerStart,
Token? initializerEnd,
FormalParameterKind kind,
MemberKind memberKind) {
indent--;
seen(thisKeyword);
seen(periodAfterThis);
seen(nameToken);
seen(initializerStart);
seen(initializerEnd);
doPrint('endFormalParameter('
'$thisKeyword, '
'$periodAfterThis, '
'$nameToken, '
'$initializerStart, '
'$initializerEnd, '
'$kind, '
'$memberKind)');
}
void handleNoFormalParameters(Token token, MemberKind kind) {
seen(token);
doPrint('handleNoFormalParameters(' '$token, ' '$kind)');
}
void beginFormalParameters(Token token, MemberKind kind) {
seen(token);
doPrint('beginFormalParameters(' '$token, ' '$kind)');
indent++;
}
void endFormalParameters(
int count, Token beginToken, Token endToken, MemberKind kind) {
indent--;
seen(beginToken);
seen(endToken);
doPrint('endFormalParameters('
'$count, '
'$beginToken, '
'$endToken, '
'$kind)');
}
void endClassFields(
Token? abstractToken,
Token? externalToken,
Token? staticToken,
Token? covariantToken,
Token? lateToken,
Token? varFinalOrConst,
int count,
Token beginToken,
Token endToken) {
indent--;
seen(abstractToken);
seen(externalToken);
seen(staticToken);
seen(covariantToken);
seen(lateToken);
seen(varFinalOrConst);
seen(beginToken);
seen(endToken);
doPrint('endClassFields('
'$abstractToken, '
'$externalToken, '
'$staticToken, '
'$covariantToken, '
'$lateToken, '
'$varFinalOrConst, '
'$count, '
'$beginToken, '
'$endToken)');
}
void endMixinFields(
Token? abstractToken,
Token? externalToken,
Token? staticToken,
Token? covariantToken,
Token? lateToken,
Token? varFinalOrConst,
int count,
Token beginToken,
Token endToken) {
indent--;
seen(abstractToken);
seen(externalToken);
seen(staticToken);
seen(covariantToken);
seen(lateToken);
seen(varFinalOrConst);
seen(beginToken);
seen(endToken);
doPrint('endMixinFields('
'$abstractToken, '
'$externalToken, '
'$staticToken, '
'$covariantToken, '
'$lateToken, '
'$varFinalOrConst, '
'$count, '
'$beginToken, '
'$endToken)');
}
void endExtensionFields(
Token? abstractToken,
Token? externalToken,
Token? staticToken,
Token? covariantToken,
Token? lateToken,
Token? varFinalOrConst,
int count,
Token beginToken,
Token endToken) {
indent--;
seen(abstractToken);
seen(externalToken);
seen(staticToken);
seen(covariantToken);
seen(lateToken);
seen(varFinalOrConst);
seen(beginToken);
seen(endToken);
doPrint('endExtensionFields('
'$abstractToken, '
'$externalToken, '
'$staticToken, '
'$covariantToken, '
'$lateToken, '
'$varFinalOrConst, '
'$count, '
'$beginToken, '
'$endToken)');
}
void handleForInitializerEmptyStatement(Token token) {
seen(token);
doPrint('handleForInitializerEmptyStatement(' '$token)');
}
void handleForInitializerExpressionStatement(Token token, bool forIn) {
seen(token);
doPrint('handleForInitializerExpressionStatement(' '$token, ' '$forIn)');
}
void handleForInitializerLocalVariableDeclaration(Token token, bool forIn) {
seen(token);
doPrint(
'handleForInitializerLocalVariableDeclaration(' '$token, ' '$forIn)');
}
void beginForStatement(Token token) {
seen(token);
doPrint('beginForStatement(' '$token)');
indent++;
}
void handleForLoopParts(Token forKeyword, Token leftParen,
Token leftSeparator, int updateExpressionCount) {
seen(forKeyword);
seen(leftParen);
seen(leftSeparator);
doPrint('handleForLoopParts('
'$forKeyword, '
'$leftParen, '
'$leftSeparator, '
'$updateExpressionCount)');
}
void endForStatement(Token endToken) {
indent--;
seen(endToken);
doPrint('endForStatement(' '$endToken)');
}
void beginForStatementBody(Token token) {
seen(token);
doPrint('beginForStatementBody(' '$token)');
indent++;
}
void endForStatementBody(Token token) {
indent--;
seen(token);
doPrint('endForStatementBody(' '$token)');
}
void handleForInLoopParts(Token? awaitToken, Token forToken,
Token leftParenthesis, Token inKeyword) {
seen(awaitToken);
seen(forToken);
seen(leftParenthesis);
seen(inKeyword);
doPrint('handleForInLoopParts('
'$awaitToken, '
'$forToken, '
'$leftParenthesis, '
'$inKeyword)');
}
void endForIn(Token endToken) {
indent--;
seen(endToken);
doPrint('endForIn(' '$endToken)');
}
void beginForInExpression(Token token) {
seen(token);
doPrint('beginForInExpression(' '$token)');
indent++;
}
void endForInExpression(Token token) {
indent--;
seen(token);
doPrint('endForInExpression(' '$token)');
}
void beginForInBody(Token token) {
seen(token);
doPrint('beginForInBody(' '$token)');
indent++;
}
void endForInBody(Token token) {
indent--;
seen(token);
doPrint('endForInBody(' '$token)');
}
void beginNamedFunctionExpression(Token token) {
seen(token);
doPrint('beginNamedFunctionExpression(' '$token)');
indent++;
}
void endNamedFunctionExpression(Token endToken) {
indent--;
seen(endToken);
doPrint('endNamedFunctionExpression(' '$endToken)');
}
void beginLocalFunctionDeclaration(Token token) {
seen(token);
doPrint('beginLocalFunctionDeclaration(' '$token)');
indent++;
}
void endLocalFunctionDeclaration(Token endToken) {
indent--;
seen(endToken);
doPrint('endLocalFunctionDeclaration(' '$endToken)');
}
void beginBlockFunctionBody(Token token) {
seen(token);
doPrint('beginBlockFunctionBody(' '$token)');
indent++;
}
void endBlockFunctionBody(int count, Token beginToken, Token endToken) {
indent--;
seen(beginToken);
seen(endToken);
doPrint('endBlockFunctionBody(' '$count, ' '$beginToken, ' '$endToken)');
}
void handleNoFunctionBody(Token token) {
seen(token);
doPrint('handleNoFunctionBody(' '$token)');
}
void handleFunctionBodySkipped(Token token, bool isExpressionBody) {
seen(token);
doPrint('handleFunctionBodySkipped(' '$token, ' '$isExpressionBody)');
}
void beginFunctionName(Token token) {
seen(token);
doPrint('beginFunctionName(' '$token)');
indent++;
}
void endFunctionName(Token beginToken, Token token) {
indent--;
seen(beginToken);
seen(token);
doPrint('endFunctionName(' '$beginToken, ' '$token)');
}
void beginFunctionTypeAlias(Token token) {
seen(token);
doPrint('beginFunctionTypeAlias(' '$token)');
indent++;
}
void endFunctionTypeAlias(
Token typedefKeyword, Token? equals, Token endToken) {
indent--;
seen(typedefKeyword);
seen(equals);
seen(endToken);
doPrint(
'endFunctionTypeAlias(' '$typedefKeyword, ' '$equals, ' '$endToken)');
}
void handleClassWithClause(Token withKeyword) {
seen(withKeyword);
doPrint('handleClassWithClause(' '$withKeyword)');
}
void handleClassNoWithClause() {
doPrint('handleClassNoWithClause()');
}
void beginNamedMixinApplication(
Token begin, Token? abstractToken, Token name) {
seen(begin);
seen(abstractToken);
seen(name);
doPrint(
'beginNamedMixinApplication(' '$begin, ' '$abstractToken, ' '$name)');
indent++;
}
void handleNamedMixinApplicationWithClause(Token withKeyword) {
seen(withKeyword);
doPrint('handleNamedMixinApplicationWithClause(' '$withKeyword)');
}
void endNamedMixinApplication(Token begin, Token classKeyword, Token equals,
Token? implementsKeyword, Token endToken) {
indent--;
seen(begin);
seen(classKeyword);
seen(equals);
seen(implementsKeyword);
seen(endToken);
doPrint('endNamedMixinApplication('
'$begin, '
'$classKeyword, '
'$equals, '
'$implementsKeyword, '
'$endToken)');
}
void beginHide(Token hideKeyword) {
seen(hideKeyword);
doPrint('beginHide(' '$hideKeyword)');
indent++;
}
void endHide(Token hideKeyword) {
indent--;
seen(hideKeyword);
doPrint('endHide(' '$hideKeyword)');
}
void handleIdentifierList(int count) {
doPrint('handleIdentifierList(' '$count)');
}
void beginTypeList(Token token) {
seen(token);
doPrint('beginTypeList(' '$token)');
indent++;
}
void endTypeList(int count) {
indent--;
doPrint('endTypeList(' '$count)');
}
void beginIfStatement(Token token) {
seen(token);
doPrint('beginIfStatement(' '$token)');
indent++;
}
void endIfStatement(Token ifToken, Token? elseToken) {
indent--;
seen(ifToken);
seen(elseToken);
doPrint('endIfStatement(' '$ifToken, ' '$elseToken)');
}
void beginThenStatement(Token token) {
seen(token);
doPrint('beginThenStatement(' '$token)');
indent++;
}
void endThenStatement(Token token) {
indent--;
seen(token);
doPrint('endThenStatement(' '$token)');
}
void beginElseStatement(Token token) {
seen(token);
doPrint('beginElseStatement(' '$token)');
indent++;
}
void endElseStatement(Token token) {
indent--;
seen(token);
doPrint('endElseStatement(' '$token)');
}
void beginImport(Token importKeyword) {
seen(importKeyword);
doPrint('beginImport(' '$importKeyword)');
indent++;
}
void handleImportPrefix(Token? deferredKeyword, Token? asKeyword) {
seen(deferredKeyword);
seen(asKeyword);
doPrint('handleImportPrefix(' '$deferredKeyword, ' '$asKeyword)');
}
void endImport(Token importKeyword, Token? semicolon) {
indent--;
seen(importKeyword);
seen(semicolon);
doPrint('endImport(' '$importKeyword, ' '$semicolon)');
}
void handleRecoverImport(Token? semicolon) {
seen(semicolon);
doPrint('handleRecoverImport(' '$semicolon)');
}
void beginConditionalUris(Token token) {
seen(token);
doPrint('beginConditionalUris(' '$token)');
indent++;
}
void endConditionalUris(int count) {
indent--;
doPrint('endConditionalUris(' '$count)');
}
void beginConditionalUri(Token ifKeyword) {
seen(ifKeyword);
doPrint('beginConditionalUri(' '$ifKeyword)');
indent++;
}
void endConditionalUri(Token ifKeyword, Token leftParen, Token? equalSign) {
indent--;
seen(ifKeyword);
seen(leftParen);
seen(equalSign);
doPrint('endConditionalUri(' '$ifKeyword, ' '$leftParen, ' '$equalSign)');
}
void handleDottedName(int count, Token firstIdentifier) {
seen(firstIdentifier);
doPrint('handleDottedName(' '$count, ' '$firstIdentifier)');
}
void beginImplicitCreationExpression(Token token) {
seen(token);
doPrint('beginImplicitCreationExpression(' '$token)');
indent++;
}
void endImplicitCreationExpression(Token token) {
indent--;
seen(token);
doPrint('endImplicitCreationExpression(' '$token)');
}
void beginInitializedIdentifier(Token token) {
seen(token);
doPrint('beginInitializedIdentifier(' '$token)');
indent++;
}
void endInitializedIdentifier(Token nameToken) {
indent--;
seen(nameToken);
doPrint('endInitializedIdentifier(' '$nameToken)');
}
void beginFieldInitializer(Token token) {
seen(token);
doPrint('beginFieldInitializer(' '$token)');
indent++;
}
void endFieldInitializer(Token assignment, Token token) {
indent--;
seen(assignment);
seen(token);
doPrint('endFieldInitializer(' '$assignment, ' '$token)');
}
void handleNoFieldInitializer(Token token) {
seen(token);
doPrint('handleNoFieldInitializer(' '$token)');
}
void beginVariableInitializer(Token token) {
seen(token);
doPrint('beginVariableInitializer(' '$token)');
indent++;
}
void endVariableInitializer(Token assignmentOperator) {
indent--;
seen(assignmentOperator);
doPrint('endVariableInitializer(' '$assignmentOperator)');
}
void handleNoVariableInitializer(Token token) {
seen(token);
doPrint('handleNoVariableInitializer(' '$token)');
}
void beginInitializer(Token token) {
seen(token);
doPrint('beginInitializer(' '$token)');
indent++;
}
void endInitializer(Token token) {
indent--;
seen(token);
doPrint('endInitializer(' '$token)');
}
void beginInitializers(Token token) {
seen(token);
doPrint('beginInitializers(' '$token)');
indent++;
}
void endInitializers(int count, Token beginToken, Token endToken) {
indent--;
seen(beginToken);
seen(endToken);
doPrint('endInitializers(' '$count, ' '$beginToken, ' '$endToken)');
}
void handleNoInitializers() {
doPrint('handleNoInitializers()');
}
void handleInvalidExpression(Token token) {
seen(token);
doPrint('handleInvalidExpression(' '$token)');
}
void handleInvalidFunctionBody(Token token) {
seen(token);
doPrint('handleInvalidFunctionBody(' '$token)');
}
void handleInvalidTypeReference(Token token) {
seen(token);
doPrint('handleInvalidTypeReference(' '$token)');
}
void handleLabel(Token token) {
seen(token);
doPrint('handleLabel(' '$token)');
}
void beginLabeledStatement(Token token, int labelCount) {
seen(token);
doPrint('beginLabeledStatement(' '$token, ' '$labelCount)');
indent++;
}
void endLabeledStatement(int labelCount) {
indent--;
doPrint('endLabeledStatement(' '$labelCount)');
}
void beginLibraryName(Token token) {
seen(token);
doPrint('beginLibraryName(' '$token)');
indent++;
}
void endLibraryName(Token libraryKeyword, Token semicolon) {
indent--;
seen(libraryKeyword);
seen(semicolon);
doPrint('endLibraryName(' '$libraryKeyword, ' '$semicolon)');
}
void handleLiteralMapEntry(Token colon, Token endToken) {
seen(colon);
seen(endToken);
doPrint('handleLiteralMapEntry(' '$colon, ' '$endToken)');
}
void beginLiteralString(Token token) {
seen(token);
doPrint('beginLiteralString(' '$token)');
indent++;
}
void handleInterpolationExpression(Token leftBracket, Token? rightBracket) {
seen(leftBracket);
seen(rightBracket);
doPrint('handleInterpolationExpression(' '$leftBracket, ' '$rightBracket)');
}
void endLiteralString(int interpolationCount, Token endToken) {
indent--;
seen(endToken);
doPrint('endLiteralString(' '$interpolationCount, ' '$endToken)');
}
void handleStringJuxtaposition(Token startToken, int literalCount) {
seen(startToken);
doPrint('handleStringJuxtaposition(' '$startToken, ' '$literalCount)');
}
void beginMember() {
doPrint('beginMember()');
indent++;
}
void handleInvalidMember(Token endToken) {
seen(endToken);
doPrint('handleInvalidMember(' '$endToken)');
}
void endMember() {
indent--;
doPrint('endMember()');
}
void beginMethod(
Token? externalToken,
Token? staticToken,
Token? covariantToken,
Token? varFinalOrConst,
Token? getOrSet,
Token name) {
seen(externalToken);
seen(staticToken);
seen(covariantToken);
seen(varFinalOrConst);
seen(getOrSet);
seen(name);
doPrint('beginMethod('
'$externalToken, '
'$staticToken, '
'$covariantToken, '
'$varFinalOrConst, '
'$getOrSet, '
'$name)');
indent++;
}
void endClassMethod(Token? getOrSet, Token beginToken, Token beginParam,
Token? beginInitializers, Token endToken) {
indent--;
seen(getOrSet);
seen(beginToken);
seen(beginParam);
seen(beginInitializers);
seen(endToken);
doPrint('endClassMethod('
'$getOrSet, '
'$beginToken, '
'$beginParam, '
'$beginInitializers, '
'$endToken)');
}
void endMixinMethod(Token? getOrSet, Token beginToken, Token beginParam,
Token? beginInitializers, Token endToken) {
indent--;
seen(getOrSet);
seen(beginToken);
seen(beginParam);
seen(beginInitializers);
seen(endToken);
doPrint('endMixinMethod('
'$getOrSet, '
'$beginToken, '
'$beginParam, '
'$beginInitializers, '
'$endToken)');
}
void endExtensionMethod(Token? getOrSet, Token beginToken, Token beginParam,
Token? beginInitializers, Token endToken) {
indent--;
seen(getOrSet);
seen(beginToken);
seen(beginParam);
seen(beginInitializers);
seen(endToken);
doPrint('endExtensionMethod('
'$getOrSet, '
'$beginToken, '
'$beginParam, '
'$beginInitializers, '
'$endToken)');
}
void endClassConstructor(Token? getOrSet, Token beginToken, Token beginParam,
Token? beginInitializers, Token endToken) {
indent--;
seen(getOrSet);
seen(beginToken);
seen(beginParam);
seen(beginInitializers);
seen(endToken);
doPrint('endClassConstructor('
'$getOrSet, '
'$beginToken, '
'$beginParam, '
'$beginInitializers, '
'$endToken)');
}
void endMixinConstructor(Token? getOrSet, Token beginToken, Token beginParam,
Token? beginInitializers, Token endToken) {
indent--;
seen(getOrSet);
seen(beginToken);
seen(beginParam);
seen(beginInitializers);
seen(endToken);
doPrint('endMixinConstructor('
'$getOrSet, '
'$beginToken, '
'$beginParam, '
'$beginInitializers, '
'$endToken)');
}
void endExtensionConstructor(Token? getOrSet, Token beginToken,
Token beginParam, Token? beginInitializers, Token endToken) {
indent--;
seen(getOrSet);
seen(beginToken);
seen(beginParam);
seen(beginInitializers);
seen(endToken);
doPrint('endExtensionConstructor('
'$getOrSet, '
'$beginToken, '
'$beginParam, '
'$beginInitializers, '
'$endToken)');
}
void beginMetadataStar(Token token) {
seen(token);
doPrint('beginMetadataStar(' '$token)');
indent++;
}
void endMetadataStar(int count) {
indent--;
doPrint('endMetadataStar(' '$count)');
}
void beginMetadata(Token token) {
seen(token);
doPrint('beginMetadata(' '$token)');
indent++;
}
void endMetadata(Token beginToken, Token? periodBeforeName, Token endToken) {
indent--;
seen(beginToken);
seen(periodBeforeName);
seen(endToken);
doPrint('endMetadata(' '$beginToken, ' '$periodBeforeName, ' '$endToken)');
}
void beginOptionalFormalParameters(Token token) {
seen(token);
doPrint('beginOptionalFormalParameters(' '$token)');
indent++;
}
void endOptionalFormalParameters(
int count, Token beginToken, Token endToken) {
indent--;
seen(beginToken);
seen(endToken);
doPrint(
'endOptionalFormalParameters(' '$count, ' '$beginToken, ' '$endToken)');
}
void beginPart(Token token) {
seen(token);
doPrint('beginPart(' '$token)');
indent++;
}
void endPart(Token partKeyword, Token semicolon) {
indent--;
seen(partKeyword);
seen(semicolon);
doPrint('endPart(' '$partKeyword, ' '$semicolon)');
}
void beginPartOf(Token token) {
seen(token);
doPrint('beginPartOf(' '$token)');
indent++;
}
void endPartOf(
Token partKeyword, Token ofKeyword, Token semicolon, bool hasName) {
indent--;
seen(partKeyword);
seen(ofKeyword);
seen(semicolon);
doPrint('endPartOf('
'$partKeyword, '
'$ofKeyword, '
'$semicolon, '
'$hasName)');
}
void beginRedirectingFactoryBody(Token token) {
seen(token);
doPrint('beginRedirectingFactoryBody(' '$token)');
indent++;
}
void endRedirectingFactoryBody(Token beginToken, Token endToken) {
indent--;
seen(beginToken);
seen(endToken);
doPrint('endRedirectingFactoryBody(' '$beginToken, ' '$endToken)');
}
void beginReturnStatement(Token token) {
seen(token);
doPrint('beginReturnStatement(' '$token)');
indent++;
}
void handleNativeFunctionBody(Token nativeToken, Token semicolon) {
seen(nativeToken);
seen(semicolon);
doPrint('handleNativeFunctionBody(' '$nativeToken, ' '$semicolon)');
}
void handleNativeFunctionBodyIgnored(Token nativeToken, Token semicolon) {
seen(nativeToken);
seen(semicolon);
doPrint('handleNativeFunctionBodyIgnored(' '$nativeToken, ' '$semicolon)');
}
void handleNativeFunctionBodySkipped(Token nativeToken, Token semicolon) {
seen(nativeToken);
seen(semicolon);
doPrint('handleNativeFunctionBodySkipped(' '$nativeToken, ' '$semicolon)');
}
void handleEmptyFunctionBody(Token semicolon) {
seen(semicolon);
doPrint('handleEmptyFunctionBody(' '$semicolon)');
}
void handleExpressionFunctionBody(Token arrowToken, Token? endToken) {
seen(arrowToken);
seen(endToken);
doPrint('handleExpressionFunctionBody(' '$arrowToken, ' '$endToken)');
}
void endReturnStatement(
bool hasExpression, Token beginToken, Token endToken) {
indent--;
seen(beginToken);
seen(endToken);
doPrint(
'endReturnStatement(' '$hasExpression, ' '$beginToken, ' '$endToken)');
}
void handleSend(Token beginToken, Token endToken) {
seen(beginToken);
seen(endToken);
doPrint('handleSend(' '$beginToken, ' '$endToken)');
}
void beginShow(Token showKeyword) {
seen(showKeyword);
doPrint('beginShow(' '$showKeyword)');
indent++;
}
void endShow(Token showKeyword) {
indent--;
seen(showKeyword);
doPrint('endShow(' '$showKeyword)');
}
void beginSwitchStatement(Token token) {
seen(token);
doPrint('beginSwitchStatement(' '$token)');
indent++;
}
void endSwitchStatement(Token switchKeyword, Token endToken) {
indent--;
seen(switchKeyword);
seen(endToken);
doPrint('endSwitchStatement(' '$switchKeyword, ' '$endToken)');
}
void beginSwitchBlock(Token token) {
seen(token);
doPrint('beginSwitchBlock(' '$token)');
indent++;
}
void endSwitchBlock(int caseCount, Token beginToken, Token endToken) {
indent--;
seen(beginToken);
seen(endToken);
doPrint('endSwitchBlock(' '$caseCount, ' '$beginToken, ' '$endToken)');
}
void beginLiteralSymbol(Token token) {
seen(token);
doPrint('beginLiteralSymbol(' '$token)');
indent++;
}
void endLiteralSymbol(Token hashToken, int identifierCount) {
indent--;
seen(hashToken);
doPrint('endLiteralSymbol(' '$hashToken, ' '$identifierCount)');
}
void handleThrowExpression(Token throwToken, Token endToken) {
seen(throwToken);
seen(endToken);
doPrint('handleThrowExpression(' '$throwToken, ' '$endToken)');
}
void beginRethrowStatement(Token token) {
seen(token);
doPrint('beginRethrowStatement(' '$token)');
indent++;
}
void endRethrowStatement(Token rethrowToken, Token endToken) {
indent--;
seen(rethrowToken);
seen(endToken);
doPrint('endRethrowStatement(' '$rethrowToken, ' '$endToken)');
}
void endTopLevelDeclaration(Token nextToken) {
indent--;
seen(nextToken);
doPrint('endTopLevelDeclaration(' '$nextToken)');
}
void handleInvalidTopLevelDeclaration(Token endToken) {
seen(endToken);
doPrint('handleInvalidTopLevelDeclaration(' '$endToken)');
}
void beginTopLevelMember(Token token) {
seen(token);
doPrint('beginTopLevelMember(' '$token)');
indent++;
}
void beginFields(Token lastConsumed) {
seen(lastConsumed);
doPrint('beginFields(' '$lastConsumed)');
indent++;
}
void endTopLevelFields(
Token? externalToken,
Token? staticToken,
Token? covariantToken,
Token? lateToken,
Token? varFinalOrConst,
int count,
Token beginToken,
Token endToken) {
indent--;
seen(externalToken);
seen(staticToken);
seen(covariantToken);
seen(lateToken);
seen(varFinalOrConst);
seen(beginToken);
seen(endToken);
doPrint('endTopLevelFields('
'$externalToken, '
'$staticToken, '
'$covariantToken, '
'$lateToken, '
'$varFinalOrConst, '
'$count, '
'$beginToken, '
'$endToken)');
}
void beginTopLevelMethod(Token lastConsumed, Token? externalToken) {
seen(lastConsumed);
seen(externalToken);
doPrint('beginTopLevelMethod(' '$lastConsumed, ' '$externalToken)');
indent++;
}
void endTopLevelMethod(Token beginToken, Token? getOrSet, Token endToken) {
indent--;
seen(beginToken);
seen(getOrSet);
seen(endToken);
doPrint('endTopLevelMethod(' '$beginToken, ' '$getOrSet, ' '$endToken)');
}
void beginTryStatement(Token token) {
seen(token);
doPrint('beginTryStatement(' '$token)');
indent++;
}
void handleCaseMatch(Token caseKeyword, Token colon) {
seen(caseKeyword);
seen(colon);
doPrint('handleCaseMatch(' '$caseKeyword, ' '$colon)');
}
void beginCatchClause(Token token) {
seen(token);
doPrint('beginCatchClause(' '$token)');
indent++;
}
void endCatchClause(Token token) {
indent--;
seen(token);
doPrint('endCatchClause(' '$token)');
}
void handleCatchBlock(Token? onKeyword, Token? catchKeyword, Token? comma) {
seen(onKeyword);
seen(catchKeyword);
seen(comma);
doPrint('handleCatchBlock(' '$onKeyword, ' '$catchKeyword, ' '$comma)');
}
void handleFinallyBlock(Token finallyKeyword) {
seen(finallyKeyword);
doPrint('handleFinallyBlock(' '$finallyKeyword)');
}
void endTryStatement(
int catchCount, Token tryKeyword, Token? finallyKeyword) {
indent--;
seen(tryKeyword);
seen(finallyKeyword);
doPrint(
'endTryStatement(' '$catchCount, ' '$tryKeyword, ' '$finallyKeyword)');
}
void handleType(Token beginToken, Token? questionMark) {
seen(beginToken);
seen(questionMark);
doPrint('handleType(' '$beginToken, ' '$questionMark)');
}
void handleNonNullAssertExpression(Token bang) {
seen(bang);
doPrint('handleNonNullAssertExpression(' '$bang)');
}
void handleNoName(Token token) {
seen(token);
doPrint('handleNoName(' '$token)');
}
void beginFunctionType(Token beginToken) {
seen(beginToken);
doPrint('beginFunctionType(' '$beginToken)');
indent++;
}
void endFunctionType(Token functionToken, Token? questionMark) {
indent--;
seen(functionToken);
seen(questionMark);
doPrint('endFunctionType(' '$functionToken, ' '$questionMark)');
}
void beginTypeArguments(Token token) {
seen(token);
doPrint('beginTypeArguments(' '$token)');
indent++;
}
void endTypeArguments(int count, Token beginToken, Token endToken) {
indent--;
seen(beginToken);
seen(endToken);
doPrint('endTypeArguments(' '$count, ' '$beginToken, ' '$endToken)');
}
void handleInvalidTypeArguments(Token token) {
seen(token);
doPrint('handleInvalidTypeArguments(' '$token)');
}
void handleNoTypeArguments(Token token) {
seen(token);
doPrint('handleNoTypeArguments(' '$token)');
}
void beginTypeVariable(Token token) {
seen(token);
doPrint('beginTypeVariable(' '$token)');
indent++;
}
void handleTypeVariablesDefined(Token token, int count) {
seen(token);
doPrint('handleTypeVariablesDefined(' '$token, ' '$count)');
}
void endTypeVariable(
Token token, int index, Token? extendsOrSuper, Token? variance) {
indent--;
seen(token);
seen(extendsOrSuper);
seen(variance);
doPrint('endTypeVariable('
'$token, '
'$index, '
'$extendsOrSuper, '
'$variance)');
}
void beginTypeVariables(Token token) {
seen(token);
doPrint('beginTypeVariables(' '$token)');
indent++;
}
void endTypeVariables(Token beginToken, Token endToken) {
indent--;
seen(beginToken);
seen(endToken);
doPrint('endTypeVariables(' '$beginToken, ' '$endToken)');
}
void reportVarianceModifierNotEnabled(Token? variance) {
seen(variance);
doPrint('reportVarianceModifierNotEnabled(' '$variance)');
}
void beginFunctionExpression(Token token) {
seen(token);
doPrint('beginFunctionExpression(' '$token)');
indent++;
}
void endFunctionExpression(Token beginToken, Token token) {
indent--;
seen(beginToken);
seen(token);
doPrint('endFunctionExpression(' '$beginToken, ' '$token)');
}
void beginVariablesDeclaration(
Token token, Token? lateToken, Token? varFinalOrConst) {
seen(token);
seen(lateToken);
seen(varFinalOrConst);
doPrint('beginVariablesDeclaration('
'$token, '
'$lateToken, '
'$varFinalOrConst)');
indent++;
}
void endVariablesDeclaration(int count, Token? endToken) {
indent--;
seen(endToken);
doPrint('endVariablesDeclaration(' '$count, ' '$endToken)');
}
void beginWhileStatement(Token token) {
seen(token);
doPrint('beginWhileStatement(' '$token)');
indent++;
}
void endWhileStatement(Token whileKeyword, Token endToken) {
indent--;
seen(whileKeyword);
seen(endToken);
doPrint('endWhileStatement(' '$whileKeyword, ' '$endToken)');
}
void beginAsOperatorType(Token operator) {
seen(operator);
doPrint('beginAsOperatorType(' '$operator)');
indent++;
}
void endAsOperatorType(Token operator) {
indent--;
seen(operator);
doPrint('endAsOperatorType(' '$operator)');
}
void handleAsOperator(Token operator) {
seen(operator);
doPrint('handleAsOperator(' '$operator)');
}
void handleAssignmentExpression(Token token) {
seen(token);
doPrint('handleAssignmentExpression(' '$token)');
}
void beginBinaryExpression(Token token) {
seen(token);
doPrint('beginBinaryExpression(' '$token)');
indent++;
}
void endBinaryExpression(Token token) {
indent--;
seen(token);
doPrint('endBinaryExpression(' '$token)');
}
void handleEndingBinaryExpression(Token token) {
seen(token);
doPrint('handleEndingBinaryExpression(' '$token)');
}
void beginConditionalExpression(Token question) {
seen(question);
doPrint('beginConditionalExpression(' '$question)');
indent++;
}
void handleConditionalExpressionColon() {
doPrint('handleConditionalExpressionColon()');
}
void endConditionalExpression(Token question, Token colon) {
indent--;
seen(question);
seen(colon);
doPrint('endConditionalExpression(' '$question, ' '$colon)');
}
void beginConstExpression(Token constKeyword) {
seen(constKeyword);
doPrint('beginConstExpression(' '$constKeyword)');
indent++;
}
void endConstExpression(Token token) {
indent--;
seen(token);
doPrint('endConstExpression(' '$token)');
}
void handleConstFactory(Token constKeyword) {
seen(constKeyword);
doPrint('handleConstFactory(' '$constKeyword)');
}
void beginForControlFlow(Token? awaitToken, Token forToken) {
seen(awaitToken);
seen(forToken);
doPrint('beginForControlFlow(' '$awaitToken, ' '$forToken)');
indent++;
}
void endForControlFlow(Token token) {
indent--;
seen(token);
doPrint('endForControlFlow(' '$token)');
}
void endForInControlFlow(Token token) {
indent--;
seen(token);
doPrint('endForInControlFlow(' '$token)');
}
void beginIfControlFlow(Token ifToken) {
seen(ifToken);
doPrint('beginIfControlFlow(' '$ifToken)');
indent++;
}
void handleThenControlFlow(Token token) {
seen(token);
doPrint('handleThenControlFlow(' '$token)');
}
void handleElseControlFlow(Token elseToken) {
seen(elseToken);
doPrint('handleElseControlFlow(' '$elseToken)');
}
void endIfControlFlow(Token token) {
indent--;
seen(token);
doPrint('endIfControlFlow(' '$token)');
}
void endIfElseControlFlow(Token token) {
indent--;
seen(token);
doPrint('endIfElseControlFlow(' '$token)');
}
void handleSpreadExpression(Token spreadToken) {
seen(spreadToken);
doPrint('handleSpreadExpression(' '$spreadToken)');
}
void beginFunctionTypedFormalParameter(Token token) {
seen(token);
doPrint('beginFunctionTypedFormalParameter(' '$token)');
indent++;
}
void endFunctionTypedFormalParameter(Token nameToken, Token? question) {
indent--;
seen(nameToken);
seen(question);
doPrint('endFunctionTypedFormalParameter(' '$nameToken, ' '$question)');
}
void handleIdentifier(Token token, IdentifierContext context) {
seen(token);
doPrint('handleIdentifier(' '$token, ' '$context)');
}
void handleIndexedExpression(
Token? question, Token openSquareBracket, Token closeSquareBracket) {
seen(question);
seen(openSquareBracket);
seen(closeSquareBracket);
doPrint('handleIndexedExpression('
'$question, '
'$openSquareBracket, '
'$closeSquareBracket)');
}
void beginIsOperatorType(Token operator) {
seen(operator);
doPrint('beginIsOperatorType(' '$operator)');
indent++;
}
void endIsOperatorType(Token operator) {
indent--;
seen(operator);
doPrint('endIsOperatorType(' '$operator)');
}
void handleIsOperator(Token isOperator, Token? not) {
seen(isOperator);
seen(not);
doPrint('handleIsOperator(' '$isOperator, ' '$not)');
}
void handleLiteralBool(Token token) {
seen(token);
doPrint('handleLiteralBool(' '$token)');
}
void handleBreakStatement(
bool hasTarget, Token breakKeyword, Token endToken) {
seen(breakKeyword);
seen(endToken);
doPrint(
'handleBreakStatement(' '$hasTarget, ' '$breakKeyword, ' '$endToken)');
}
void handleContinueStatement(
bool hasTarget, Token continueKeyword, Token endToken) {
seen(continueKeyword);
seen(endToken);
doPrint('handleContinueStatement('
'$hasTarget, '
'$continueKeyword, '
'$endToken)');
}
void handleEmptyStatement(Token token) {
seen(token);
doPrint('handleEmptyStatement(' '$token)');
}
void beginAssert(Token assertKeyword, Assert kind) {
seen(assertKeyword);
doPrint('beginAssert(' '$assertKeyword, ' '$kind)');
indent++;
}
void endAssert(Token assertKeyword, Assert kind, Token leftParenthesis,
Token? commaToken, Token semicolonToken) {
indent--;
seen(assertKeyword);
seen(leftParenthesis);
seen(commaToken);
seen(semicolonToken);
doPrint('endAssert('
'$assertKeyword, '
'$kind, '
'$leftParenthesis, '
'$commaToken, '
'$semicolonToken)');
}
void handleLiteralDouble(Token token) {
seen(token);
doPrint('handleLiteralDouble(' '$token)');
}
void handleLiteralInt(Token token) {
seen(token);
doPrint('handleLiteralInt(' '$token)');
}
void handleLiteralList(
int count, Token leftBracket, Token? constKeyword, Token rightBracket) {
seen(leftBracket);
seen(constKeyword);
seen(rightBracket);
doPrint('handleLiteralList('
'$count, '
'$leftBracket, '
'$constKeyword, '
'$rightBracket)');
}
void handleLiteralSetOrMap(
int count,
Token leftBrace,
Token? constKeyword,
Token rightBrace,
bool hasSetEntry,
) {
seen(leftBrace);
seen(constKeyword);
seen(rightBrace);
doPrint('handleLiteralSetOrMap('
'$count, '
'$leftBrace, '
'$constKeyword, '
'$rightBrace, '
'$hasSetEntry)');
}
void handleLiteralNull(Token token) {
seen(token);
doPrint('handleLiteralNull(' '$token)');
}
void handleNativeClause(Token nativeToken, bool hasName) {
seen(nativeToken);
doPrint('handleNativeClause(' '$nativeToken, ' '$hasName)');
}
void handleNamedArgument(Token colon) {
seen(colon);
doPrint('handleNamedArgument(' '$colon)');
}
void beginNewExpression(Token token) {
seen(token);
doPrint('beginNewExpression(' '$token)');
indent++;
}
void endNewExpression(Token token) {
indent--;
seen(token);
doPrint('endNewExpression(' '$token)');
}
void handleNoArguments(Token token) {
seen(token);
doPrint('handleNoArguments(' '$token)');
}
void handleNoConstructorReferenceContinuationAfterTypeArguments(Token token) {
seen(token);
doPrint('handleNoConstructorReferenceContinuationAfterTypeArguments('
'$token)');
}
void handleNoType(Token lastConsumed) {
seen(lastConsumed);
doPrint('handleNoType(' '$lastConsumed)');
}
void handleNoTypeVariables(Token token) {
seen(token);
doPrint('handleNoTypeVariables(' '$token)');
}
void handleOperator(Token token) {
seen(token);
doPrint('handleOperator(' '$token)');
}
void handleSymbolVoid(Token token) {
seen(token);
doPrint('handleSymbolVoid(' '$token)');
}
void handleOperatorName(Token operatorKeyword, Token token) {
seen(operatorKeyword);
seen(token);
doPrint('handleOperatorName(' '$operatorKeyword, ' '$token)');
}
void handleInvalidOperatorName(Token operatorKeyword, Token token) {
seen(operatorKeyword);
seen(token);
doPrint('handleInvalidOperatorName(' '$operatorKeyword, ' '$token)');
}
void handleParenthesizedCondition(Token token) {
seen(token);
doPrint('handleParenthesizedCondition(' '$token)');
}
void handleParenthesizedExpression(Token token) {
seen(token);
doPrint('handleParenthesizedExpression(' '$token)');
}
void handleQualified(Token period) {
seen(period);
doPrint('handleQualified(' '$period)');
}
void handleStringPart(Token token) {
seen(token);
doPrint('handleStringPart(' '$token)');
}
void handleSuperExpression(Token token, IdentifierContext context) {
seen(token);
doPrint('handleSuperExpression(' '$token, ' '$context)');
}
void beginSwitchCase(int labelCount, int expressionCount, Token firstToken) {
seen(firstToken);
doPrint(
'beginSwitchCase(' '$labelCount, ' '$expressionCount, ' '$firstToken)');
indent++;
}
void endSwitchCase(
int labelCount,
int expressionCount,
Token? defaultKeyword,
Token? colonAfterDefault,
int statementCount,
Token firstToken,
Token endToken) {
indent--;
seen(defaultKeyword);
seen(colonAfterDefault);
seen(firstToken);
seen(endToken);
doPrint('endSwitchCase('
'$labelCount, '
'$expressionCount, '
'$defaultKeyword, '
'$colonAfterDefault, '
'$statementCount, '
'$firstToken, '
'$endToken)');
}
void handleThisExpression(Token token, IdentifierContext context) {
seen(token);
doPrint('handleThisExpression(' '$token, ' '$context)');
}
void handleUnaryPostfixAssignmentExpression(Token token) {
seen(token);
doPrint('handleUnaryPostfixAssignmentExpression(' '$token)');
}
void handleUnaryPrefixExpression(Token token) {
seen(token);
doPrint('handleUnaryPrefixExpression(' '$token)');
}
void handleUnaryPrefixAssignmentExpression(Token token) {
seen(token);
doPrint('handleUnaryPrefixAssignmentExpression(' '$token)');
}
void beginFormalParameterDefaultValueExpression() {
doPrint('beginFormalParameterDefaultValueExpression()');
indent++;
}
void endFormalParameterDefaultValueExpression() {
indent--;
doPrint('endFormalParameterDefaultValueExpression()');
}
void handleValuedFormalParameter(Token equals, Token token) {
seen(equals);
seen(token);
doPrint('handleValuedFormalParameter(' '$equals, ' '$token)');
}
void handleFormalParameterWithoutValue(Token token) {
seen(token);
doPrint('handleFormalParameterWithoutValue(' '$token)');
}
void handleVoidKeyword(Token token) {
seen(token);
doPrint('handleVoidKeyword(' '$token)');
}
void handleVoidKeywordWithTypeArguments(Token token) {
seen(token);
doPrint('handleVoidKeywordWithTypeArguments(' '$token)');
}
void beginYieldStatement(Token token) {
seen(token);
doPrint('beginYieldStatement(' '$token)');
indent++;
}
void endYieldStatement(Token yieldToken, Token? starToken, Token endToken) {
indent--;
seen(yieldToken);
seen(starToken);
seen(endToken);
doPrint('endYieldStatement(' '$yieldToken, ' '$starToken, ' '$endToken)');
}
void endInvalidYieldStatement(Token beginToken, Token? starToken,
Token endToken, MessageCode errorCode) {
indent--;
seen(beginToken);
seen(starToken);
seen(endToken);
doPrint('endInvalidYieldStatement('
'$beginToken, '
'$starToken, '
'$endToken, '
'$errorCode)');
}
void handleRecoverableError(
Message message, Token startToken, Token endToken) {
seen(startToken);
seen(endToken);
doPrint(
'handleRecoverableError(' '$message, ' '$startToken, ' '$endToken)');
checkEof(endToken);
}
void handleErrorToken(ErrorToken token) {
doPrint('handleErrorToken(' '$token)');
handleRecoverableError(token.assertionMessage, token, token);
}
void handleUnescapeError(
Message message, Token location, int stringOffset, int length) {
seen(location);
doPrint('handleUnescapeError('
'$message, '
'$location, '
'$stringOffset, '
'$length)');
}
void handleInvalidStatement(Token token, Message message) {
seen(token);
doPrint('handleInvalidStatement(' '$token, ' '$message)');
}
void handleScript(Token token) {
seen(token);
doPrint('handleScript(' '$token)');
}
void handleCommentReferenceText(String referenceSource, int referenceOffset) {
doPrint(
'handleCommentReferenceText(' '$referenceSource, ' '$referenceOffset)');
}
void handleCommentReference(
Token? newKeyword, Token? prefix, Token? period, Token token) {
seen(newKeyword);
seen(prefix);
seen(period);
seen(token);
doPrint('handleCommentReference('
'$newKeyword, '
'$prefix, '
'$period, '
'$token)');
}
void handleNoCommentReference() {
doPrint('handleNoCommentReference()');
}
void handleTypeArgumentApplication(Token openAngleBracket) {
seen(openAngleBracket);
doPrint('handleTypeArgumentApplication(' '$openAngleBracket)');
}
}