blob: fac9d69729a923acef6dee8449a73acbf8521605 [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/experiments/flags.dart';
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/constructor_reference_context.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/base/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) {}
@override
Uri? get uri => null;
@override
void logEvent(String name) {
doPrint('logEvent(' '$name)');
}
@override
void beginArguments(Token token) {
seen(token);
doPrint('beginArguments(' '$token)');
indent++;
}
@override
void endArguments(int count, Token beginToken, Token endToken) {
indent--;
seen(beginToken);
seen(endToken);
doPrint('endArguments(' '$count, ' '$beginToken, ' '$endToken)');
}
@override
void handleObjectPatternFields(int count, Token beginToken, Token endToken) {
seen(beginToken);
seen(endToken);
doPrint(
'handleObjectPatternFields(' '$count, ' '$beginToken, ' '$endToken)');
}
@override
void handleAsyncModifier(Token? asyncToken, Token? starToken) {
seen(asyncToken);
seen(starToken);
doPrint('handleAsyncModifier(' '$asyncToken, ' '$starToken)');
}
@override
void beginAwaitExpression(Token token) {
seen(token);
doPrint('beginAwaitExpression(' '$token)');
indent++;
}
@override
void endAwaitExpression(Token beginToken, Token endToken) {
indent--;
seen(beginToken);
seen(endToken);
doPrint('endAwaitExpression(' '$beginToken, ' '$endToken)');
}
@override
void endInvalidAwaitExpression(
Token beginToken, Token endToken, MessageCode errorCode) {
indent--;
seen(beginToken);
seen(endToken);
doPrint('endInvalidAwaitExpression('
'$beginToken, '
'$endToken, '
'$errorCode)');
}
@override
void beginBlock(Token token, BlockKind blockKind) {
seen(token);
doPrint('beginBlock(' '$token, ' '$blockKind)');
indent++;
}
@override
void endBlock(
int count, Token beginToken, Token endToken, BlockKind blockKind) {
indent--;
seen(beginToken);
seen(endToken);
doPrint('endBlock(' '$count, ' '$beginToken, ' '$endToken, ' '$blockKind)');
}
@override
void handleInvalidTopLevelBlock(Token token) {
seen(token);
doPrint('handleInvalidTopLevelBlock(' '$token)');
}
@override
void beginCascade(Token token) {
seen(token);
doPrint('beginCascade(' '$token)');
indent++;
}
@override
void endCascade() {
indent--;
doPrint('endCascade()');
}
@override
void beginCaseExpression(Token caseKeyword) {
seen(caseKeyword);
doPrint('beginCaseExpression(' '$caseKeyword)');
indent++;
}
@override
void endCaseExpression(Token caseKeyword, Token? when, Token colon) {
indent--;
seen(caseKeyword);
seen(when);
seen(colon);
doPrint('endCaseExpression(' '$caseKeyword, ' '$when, ' '$colon)');
}
@override
void beginClassOrMixinOrExtensionBody(DeclarationKind kind, Token token) {
seen(token);
doPrint('beginClassOrMixinOrExtensionBody(' '$kind, ' '$token)');
indent++;
}
@override
void endClassOrMixinOrExtensionBody(
DeclarationKind kind, int memberCount, Token beginToken, Token endToken) {
indent--;
seen(beginToken);
seen(endToken);
doPrint('endClassOrMixinOrExtensionBody('
'$kind, '
'$memberCount, '
'$beginToken, '
'$endToken)');
}
@override
void beginClassOrMixinOrNamedMixinApplicationPrelude(Token token) {
seen(token);
doPrint('beginClassOrMixinOrNamedMixinApplicationPrelude(' '$token)');
indent++;
}
@override
void beginClassDeclaration(
Token begin,
Token? abstractToken,
Token? macroToken,
Token? sealedToken,
Token? baseToken,
Token? interfaceToken,
Token? finalToken,
Token? augmentToken,
Token? mixinToken,
Token name) {
seen(begin);
seen(abstractToken);
seen(macroToken);
seen(sealedToken);
seen(baseToken);
seen(interfaceToken);
seen(finalToken);
seen(augmentToken);
seen(mixinToken);
seen(name);
doPrint('beginClassDeclaration('
'$begin, '
'$abstractToken, '
'$macroToken, '
'$sealedToken, '
'$baseToken, '
'$interfaceToken, '
'$finalToken, '
'$augmentToken, '
'$mixinToken, '
'$name)');
indent++;
}
@override
void handleClassExtends(Token? extendsKeyword, int typeCount) {
seen(extendsKeyword);
doPrint('handleClassExtends(' '$extendsKeyword, ' '$typeCount)');
}
@override
void handleImplements(Token? implementsKeyword, int interfacesCount) {
seen(implementsKeyword);
doPrint('handleImplements(' '$implementsKeyword, ' '$interfacesCount)');
}
@override
void handleClassHeader(Token begin, Token classKeyword, Token? nativeToken) {
seen(begin);
seen(classKeyword);
seen(nativeToken);
doPrint('handleClassHeader(' '$begin, ' '$classKeyword, ' '$nativeToken)');
}
@override
void handleRecoverDeclarationHeader(DeclarationHeaderKind kind) {
doPrint('handleRecoverDeclarationHeader(' '$kind)');
}
@override
void endClassDeclaration(Token beginToken, Token endToken) {
indent--;
seen(beginToken);
seen(endToken);
doPrint('endClassDeclaration(' '$beginToken, ' '$endToken)');
}
@override
void beginMixinDeclaration(Token beginToken, Token? augmentToken,
Token? baseToken, Token mixinKeyword, Token name) {
seen(beginToken);
seen(augmentToken);
seen(baseToken);
seen(mixinKeyword);
seen(name);
doPrint('beginMixinDeclaration('
'$beginToken, '
'$augmentToken, '
'$baseToken, '
'$mixinKeyword, '
'$name)');
indent++;
}
@override
void handleMixinOn(Token? onKeyword, int typeCount) {
seen(onKeyword);
doPrint('handleMixinOn(' '$onKeyword, ' '$typeCount)');
}
@override
void handleMixinHeader(Token mixinKeyword) {
seen(mixinKeyword);
doPrint('handleMixinHeader(' '$mixinKeyword)');
}
@override
void handleRecoverMixinHeader() {
doPrint('handleRecoverMixinHeader()');
}
@override
void endMixinDeclaration(Token beginToken, Token endToken) {
indent--;
seen(beginToken);
seen(endToken);
doPrint('endMixinDeclaration(' '$beginToken, ' '$endToken)');
}
@override
void beginUncategorizedTopLevelDeclaration(Token token) {
seen(token);
doPrint('beginUncategorizedTopLevelDeclaration(' '$token)');
indent++;
}
@override
void beginExtensionDeclarationPrelude(Token extensionKeyword) {
seen(extensionKeyword);
doPrint('beginExtensionDeclarationPrelude(' '$extensionKeyword)');
indent++;
}
@override
void beginExtensionDeclaration(
Token? augmentToken, Token extensionKeyword, Token? name) {
seen(augmentToken);
seen(extensionKeyword);
seen(name);
doPrint('beginExtensionDeclaration('
'$augmentToken, '
'$extensionKeyword, '
'$name)');
indent++;
}
@override
void endExtensionDeclaration(Token beginToken, Token extensionKeyword,
Token? onKeyword, Token endToken) {
indent--;
seen(beginToken);
seen(extensionKeyword);
seen(onKeyword);
seen(endToken);
doPrint('endExtensionDeclaration('
'$beginToken, '
'$extensionKeyword, '
'$onKeyword, '
'$endToken)');
}
@override
void beginExtensionTypeDeclaration(
Token? augmentKeyword, Token extensionKeyword, Token name) {
seen(augmentKeyword);
seen(extensionKeyword);
seen(name);
doPrint('beginExtensionTypeDeclaration('
'$augmentKeyword, '
'$extensionKeyword, '
'$name)');
indent++;
}
@override
void endExtensionTypeDeclaration(Token beginToken, Token? augmentToken,
Token extensionKeyword, Token typeKeyword, Token endToken) {
indent--;
seen(beginToken);
seen(augmentToken);
seen(extensionKeyword);
seen(typeKeyword);
seen(endToken);
doPrint('endExtensionTypeDeclaration('
'$beginToken, '
'$augmentToken, '
'$extensionKeyword, '
'$typeKeyword, '
'$endToken)');
}
@override
void beginPrimaryConstructor(Token beginToken) {
seen(beginToken);
doPrint('beginPrimaryConstructor(' '$beginToken)');
indent++;
}
@override
void endPrimaryConstructor(
Token beginToken, Token? constKeyword, bool hasConstructorName) {
indent--;
seen(beginToken);
seen(constKeyword);
doPrint('endPrimaryConstructor('
'$beginToken, '
'$constKeyword, '
'$hasConstructorName)');
}
@override
void handleNoPrimaryConstructor(Token token, Token? constKeyword) {
seen(token);
seen(constKeyword);
doPrint('handleNoPrimaryConstructor(' '$token, ' '$constKeyword)');
}
@override
void beginCombinators(Token token) {
seen(token);
doPrint('beginCombinators(' '$token)');
indent++;
}
@override
void endCombinators(int count) {
indent--;
doPrint('endCombinators(' '$count)');
}
@override
void beginCompilationUnit(Token token) {
seen(token);
doPrint('beginCompilationUnit(' '$token)');
indent++;
}
@override
void handleDirectivesOnly() {
doPrint('handleDirectivesOnly()');
}
@override
void endCompilationUnit(int count, Token token) {
indent--;
seen(token);
doPrint('endCompilationUnit(' '$count, ' '$token)');
}
@override
void beginConstLiteral(Token token) {
seen(token);
doPrint('beginConstLiteral(' '$token)');
indent++;
}
@override
void endConstLiteral(Token endToken) {
indent--;
seen(endToken);
doPrint('endConstLiteral(' '$endToken)');
}
@override
void beginConstructorReference(Token start) {
seen(start);
doPrint('beginConstructorReference(' '$start)');
indent++;
}
@override
void endConstructorReference(Token start, Token? periodBeforeName,
Token endToken, ConstructorReferenceContext constructorReferenceContext) {
indent--;
seen(start);
seen(periodBeforeName);
seen(endToken);
doPrint('endConstructorReference('
'$start, '
'$periodBeforeName, '
'$endToken, '
'$constructorReferenceContext)');
}
@override
void beginDoWhileStatement(Token token) {
seen(token);
doPrint('beginDoWhileStatement(' '$token)');
indent++;
}
@override
void endDoWhileStatement(
Token doKeyword, Token whileKeyword, Token endToken) {
indent--;
seen(doKeyword);
seen(whileKeyword);
seen(endToken);
doPrint(
'endDoWhileStatement(' '$doKeyword, ' '$whileKeyword, ' '$endToken)');
}
@override
void beginDoWhileStatementBody(Token token) {
seen(token);
doPrint('beginDoWhileStatementBody(' '$token)');
indent++;
}
@override
void endDoWhileStatementBody(Token token) {
indent--;
seen(token);
doPrint('endDoWhileStatementBody(' '$token)');
}
@override
void beginWhileStatementBody(Token token) {
seen(token);
doPrint('beginWhileStatementBody(' '$token)');
indent++;
}
@override
void endWhileStatementBody(Token endToken) {
indent--;
seen(endToken);
doPrint('endWhileStatementBody(' '$endToken)');
}
@override
void beginEnum(Token enumKeyword) {
seen(enumKeyword);
doPrint('beginEnum(' '$enumKeyword)');
indent++;
}
@override
void endEnum(Token beginToken, Token enumKeyword, Token leftBrace,
int memberCount, Token endToken) {
indent--;
seen(beginToken);
seen(enumKeyword);
seen(leftBrace);
seen(endToken);
doPrint('endEnum('
'$beginToken, '
'$enumKeyword, '
'$leftBrace, '
'$memberCount, '
'$endToken)');
}
@override
void endEnumConstructor(Token? getOrSet, Token beginToken, Token beginParam,
Token? beginInitializers, Token endToken) {
indent--;
seen(getOrSet);
seen(beginToken);
seen(beginParam);
seen(beginInitializers);
seen(endToken);
doPrint('endEnumConstructor('
'$getOrSet, '
'$beginToken, '
'$beginParam, '
'$beginInitializers, '
'$endToken)');
}
@override
void handleEnumElements(Token elementsEndToken, int elementsCount) {
seen(elementsEndToken);
doPrint('handleEnumElements(' '$elementsEndToken, ' '$elementsCount)');
}
@override
void handleEnumHeader(
Token? augmentToken, Token enumKeyword, Token leftBrace) {
seen(augmentToken);
seen(enumKeyword);
seen(leftBrace);
doPrint(
'handleEnumHeader(' '$augmentToken, ' '$enumKeyword, ' '$leftBrace)');
}
@override
void handleEnumElement(Token beginToken, Token? augmentToken) {
seen(beginToken);
seen(augmentToken);
doPrint('handleEnumElement(' '$beginToken, ' '$augmentToken)');
}
@override
void endEnumFactoryMethod(
Token beginToken, Token factoryKeyword, Token endToken) {
indent--;
seen(beginToken);
seen(factoryKeyword);
seen(endToken);
doPrint('endEnumFactoryMethod('
'$beginToken, '
'$factoryKeyword, '
'$endToken)');
}
@override
void beginExport(Token token) {
seen(token);
doPrint('beginExport(' '$token)');
indent++;
}
@override
void endExport(Token exportKeyword, Token semicolon) {
indent--;
seen(exportKeyword);
seen(semicolon);
doPrint('endExport(' '$exportKeyword, ' '$semicolon)');
}
@override
void handleExtraneousExpression(Token token, Message message) {
seen(token);
doPrint('handleExtraneousExpression(' '$token, ' '$message)');
}
@override
void handleExpressionStatement(Token beginToken, Token endToken) {
seen(beginToken);
seen(endToken);
doPrint('handleExpressionStatement(' '$beginToken, ' '$endToken)');
}
@override
void beginFactoryMethod(DeclarationKind declarationKind, Token lastConsumed,
Token? externalToken, Token? constToken) {
seen(lastConsumed);
seen(externalToken);
seen(constToken);
doPrint('beginFactoryMethod('
'$declarationKind, '
'$lastConsumed, '
'$externalToken, '
'$constToken)');
indent++;
}
@override
void endClassFactoryMethod(
Token beginToken, Token factoryKeyword, Token endToken) {
indent--;
seen(beginToken);
seen(factoryKeyword);
seen(endToken);
doPrint('endClassFactoryMethod('
'$beginToken, '
'$factoryKeyword, '
'$endToken)');
}
@override
void endMixinFactoryMethod(
Token beginToken, Token factoryKeyword, Token endToken) {
indent--;
seen(beginToken);
seen(factoryKeyword);
seen(endToken);
doPrint('endMixinFactoryMethod('
'$beginToken, '
'$factoryKeyword, '
'$endToken)');
}
@override
void endExtensionFactoryMethod(
Token beginToken, Token factoryKeyword, Token endToken) {
indent--;
seen(beginToken);
seen(factoryKeyword);
seen(endToken);
doPrint('endExtensionFactoryMethod('
'$beginToken, '
'$factoryKeyword, '
'$endToken)');
}
@override
void endExtensionTypeFactoryMethod(
Token beginToken, Token factoryKeyword, Token endToken) {
indent--;
seen(beginToken);
seen(factoryKeyword);
seen(endToken);
doPrint('endExtensionTypeFactoryMethod('
'$beginToken, '
'$factoryKeyword, '
'$endToken)');
}
@override
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++;
}
@override
void endFormalParameter(
Token? thisKeyword,
Token? superKeyword,
Token? periodAfterThisOrSuper,
Token nameToken,
Token? initializerStart,
Token? initializerEnd,
FormalParameterKind kind,
MemberKind memberKind) {
indent--;
seen(thisKeyword);
seen(superKeyword);
seen(periodAfterThisOrSuper);
seen(nameToken);
seen(initializerStart);
seen(initializerEnd);
doPrint('endFormalParameter('
'$thisKeyword, '
'$superKeyword, '
'$periodAfterThisOrSuper, '
'$nameToken, '
'$initializerStart, '
'$initializerEnd, '
'$kind, '
'$memberKind)');
}
@override
void handleNoFormalParameters(Token token, MemberKind kind) {
seen(token);
doPrint('handleNoFormalParameters(' '$token, ' '$kind)');
}
@override
void beginFormalParameters(Token token, MemberKind kind) {
seen(token);
doPrint('beginFormalParameters(' '$token, ' '$kind)');
indent++;
}
@override
void endFormalParameters(
int count, Token beginToken, Token endToken, MemberKind kind) {
indent--;
seen(beginToken);
seen(endToken);
doPrint('endFormalParameters('
'$count, '
'$beginToken, '
'$endToken, '
'$kind)');
}
@override
void endClassFields(
Token? abstractToken,
Token? augmentToken,
Token? externalToken,
Token? staticToken,
Token? covariantToken,
Token? lateToken,
Token? varFinalOrConst,
int count,
Token beginToken,
Token endToken) {
indent--;
seen(abstractToken);
seen(augmentToken);
seen(externalToken);
seen(staticToken);
seen(covariantToken);
seen(lateToken);
seen(varFinalOrConst);
seen(beginToken);
seen(endToken);
doPrint('endClassFields('
'$abstractToken, '
'$augmentToken, '
'$externalToken, '
'$staticToken, '
'$covariantToken, '
'$lateToken, '
'$varFinalOrConst, '
'$count, '
'$beginToken, '
'$endToken)');
}
@override
void endMixinFields(
Token? abstractToken,
Token? augmentToken,
Token? externalToken,
Token? staticToken,
Token? covariantToken,
Token? lateToken,
Token? varFinalOrConst,
int count,
Token beginToken,
Token endToken) {
indent--;
seen(abstractToken);
seen(augmentToken);
seen(externalToken);
seen(staticToken);
seen(covariantToken);
seen(lateToken);
seen(varFinalOrConst);
seen(beginToken);
seen(endToken);
doPrint('endMixinFields('
'$abstractToken, '
'$augmentToken, '
'$externalToken, '
'$staticToken, '
'$covariantToken, '
'$lateToken, '
'$varFinalOrConst, '
'$count, '
'$beginToken, '
'$endToken)');
}
@override
void endExtensionFields(
Token? abstractToken,
Token? augmentToken,
Token? externalToken,
Token? staticToken,
Token? covariantToken,
Token? lateToken,
Token? varFinalOrConst,
int count,
Token beginToken,
Token endToken) {
indent--;
seen(abstractToken);
seen(augmentToken);
seen(externalToken);
seen(staticToken);
seen(covariantToken);
seen(lateToken);
seen(varFinalOrConst);
seen(beginToken);
seen(endToken);
doPrint('endExtensionFields('
'$abstractToken, '
'$augmentToken, '
'$externalToken, '
'$staticToken, '
'$covariantToken, '
'$lateToken, '
'$varFinalOrConst, '
'$count, '
'$beginToken, '
'$endToken)');
}
@override
void endExtensionTypeFields(
Token? abstractToken,
Token? augmentToken,
Token? externalToken,
Token? staticToken,
Token? covariantToken,
Token? lateToken,
Token? varFinalOrConst,
int count,
Token beginToken,
Token endToken) {
indent--;
seen(abstractToken);
seen(augmentToken);
seen(externalToken);
seen(staticToken);
seen(covariantToken);
seen(lateToken);
seen(varFinalOrConst);
seen(beginToken);
seen(endToken);
doPrint('endExtensionTypeFields('
'$abstractToken, '
'$augmentToken, '
'$externalToken, '
'$staticToken, '
'$covariantToken, '
'$lateToken, '
'$varFinalOrConst, '
'$count, '
'$beginToken, '
'$endToken)');
}
@override
void endEnumFields(
Token? abstractToken,
Token? augmentToken,
Token? externalToken,
Token? staticToken,
Token? covariantToken,
Token? lateToken,
Token? varFinalOrConst,
int count,
Token beginToken,
Token endToken) {
indent--;
seen(abstractToken);
seen(augmentToken);
seen(externalToken);
seen(staticToken);
seen(covariantToken);
seen(lateToken);
seen(varFinalOrConst);
seen(beginToken);
seen(endToken);
doPrint('endEnumFields('
'$abstractToken, '
'$augmentToken, '
'$externalToken, '
'$staticToken, '
'$covariantToken, '
'$lateToken, '
'$varFinalOrConst, '
'$count, '
'$beginToken, '
'$endToken)');
}
@override
void endEnumMethod(Token? getOrSet, Token beginToken, Token beginParam,
Token? beginInitializers, Token endToken) {
indent--;
seen(getOrSet);
seen(beginToken);
seen(beginParam);
seen(beginInitializers);
seen(endToken);
doPrint('endEnumMethod('
'$getOrSet, '
'$beginToken, '
'$beginParam, '
'$beginInitializers, '
'$endToken)');
}
@override
void handleForInitializerEmptyStatement(Token token) {
seen(token);
doPrint('handleForInitializerEmptyStatement(' '$token)');
}
@override
void handleForInitializerExpressionStatement(Token token, bool forIn) {
seen(token);
doPrint('handleForInitializerExpressionStatement(' '$token, ' '$forIn)');
}
@override
void handleForInitializerLocalVariableDeclaration(Token token, bool forIn) {
seen(token);
doPrint(
'handleForInitializerLocalVariableDeclaration(' '$token, ' '$forIn)');
}
@override
void handleForInitializerPatternVariableAssignment(
Token keyword, Token equals) {
seen(keyword);
seen(equals);
doPrint('handleForInitializerPatternVariableAssignment('
'$keyword, '
'$equals)');
}
@override
void beginForStatement(Token token) {
seen(token);
doPrint('beginForStatement(' '$token)');
indent++;
}
@override
void handleForLoopParts(Token forKeyword, Token leftParen,
Token leftSeparator, Token rightSeparator, int updateExpressionCount) {
seen(forKeyword);
seen(leftParen);
seen(leftSeparator);
seen(rightSeparator);
doPrint('handleForLoopParts('
'$forKeyword, '
'$leftParen, '
'$leftSeparator, '
'$rightSeparator, '
'$updateExpressionCount)');
}
@override
void endForStatement(Token endToken) {
indent--;
seen(endToken);
doPrint('endForStatement(' '$endToken)');
}
@override
void beginForStatementBody(Token token) {
seen(token);
doPrint('beginForStatementBody(' '$token)');
indent++;
}
@override
void endForStatementBody(Token endToken) {
indent--;
seen(endToken);
doPrint('endForStatementBody(' '$endToken)');
}
@override
void handleForInLoopParts(Token? awaitToken, Token forToken,
Token leftParenthesis, Token? patternKeyword, Token inKeyword) {
seen(awaitToken);
seen(forToken);
seen(leftParenthesis);
seen(patternKeyword);
seen(inKeyword);
doPrint('handleForInLoopParts('
'$awaitToken, '
'$forToken, '
'$leftParenthesis, '
'$patternKeyword, '
'$inKeyword)');
}
@override
void endForIn(Token endToken) {
indent--;
seen(endToken);
doPrint('endForIn(' '$endToken)');
}
@override
void beginForInExpression(Token token) {
seen(token);
doPrint('beginForInExpression(' '$token)');
indent++;
}
@override
void endForInExpression(Token token) {
indent--;
seen(token);
doPrint('endForInExpression(' '$token)');
}
@override
void beginForInBody(Token token) {
seen(token);
doPrint('beginForInBody(' '$token)');
indent++;
}
@override
void endForInBody(Token endToken) {
indent--;
seen(endToken);
doPrint('endForInBody(' '$endToken)');
}
@override
void beginNamedFunctionExpression(Token token) {
seen(token);
doPrint('beginNamedFunctionExpression(' '$token)');
indent++;
}
@override
void endNamedFunctionExpression(Token endToken) {
indent--;
seen(endToken);
doPrint('endNamedFunctionExpression(' '$endToken)');
}
@override
void beginLocalFunctionDeclaration(Token token) {
seen(token);
doPrint('beginLocalFunctionDeclaration(' '$token)');
indent++;
}
@override
void endLocalFunctionDeclaration(Token endToken) {
indent--;
seen(endToken);
doPrint('endLocalFunctionDeclaration(' '$endToken)');
}
@override
void beginBlockFunctionBody(Token token) {
seen(token);
doPrint('beginBlockFunctionBody(' '$token)');
indent++;
}
@override
void endBlockFunctionBody(int count, Token beginToken, Token endToken) {
indent--;
seen(beginToken);
seen(endToken);
doPrint('endBlockFunctionBody(' '$count, ' '$beginToken, ' '$endToken)');
}
@override
void handleNoFunctionBody(Token token) {
seen(token);
doPrint('handleNoFunctionBody(' '$token)');
}
@override
void handleFunctionBodySkipped(Token token, bool isExpressionBody) {
seen(token);
doPrint('handleFunctionBodySkipped(' '$token, ' '$isExpressionBody)');
}
@override
void beginFunctionName(Token token) {
seen(token);
doPrint('beginFunctionName(' '$token)');
indent++;
}
@override
void endFunctionName(Token beginToken, Token token) {
indent--;
seen(beginToken);
seen(token);
doPrint('endFunctionName(' '$beginToken, ' '$token)');
}
@override
void beginTypedef(Token token) {
seen(token);
doPrint('beginTypedef(' '$token)');
indent++;
}
@override
void endTypedef(Token? augmentToken, Token typedefKeyword, Token? equals,
Token endToken) {
indent--;
seen(augmentToken);
seen(typedefKeyword);
seen(equals);
seen(endToken);
doPrint('endTypedef('
'$augmentToken, '
'$typedefKeyword, '
'$equals, '
'$endToken)');
}
@override
void handleClassWithClause(Token withKeyword) {
seen(withKeyword);
doPrint('handleClassWithClause(' '$withKeyword)');
}
@override
void handleClassNoWithClause() {
doPrint('handleClassNoWithClause()');
}
@override
void handleEnumWithClause(Token withKeyword) {
seen(withKeyword);
doPrint('handleEnumWithClause(' '$withKeyword)');
}
@override
void handleEnumNoWithClause() {
doPrint('handleEnumNoWithClause()');
}
@override
void handleMixinWithClause(Token withKeyword) {
seen(withKeyword);
doPrint('handleMixinWithClause(' '$withKeyword)');
}
@override
void beginNamedMixinApplication(
Token beginToken,
Token? abstractToken,
Token? macroToken,
Token? sealedToken,
Token? baseToken,
Token? interfaceToken,
Token? finalToken,
Token? augmentToken,
Token? mixinToken,
Token name) {
seen(beginToken);
seen(abstractToken);
seen(macroToken);
seen(sealedToken);
seen(baseToken);
seen(interfaceToken);
seen(finalToken);
seen(augmentToken);
seen(mixinToken);
seen(name);
doPrint('beginNamedMixinApplication('
'$beginToken, '
'$abstractToken, '
'$macroToken, '
'$sealedToken, '
'$baseToken, '
'$interfaceToken, '
'$finalToken, '
'$augmentToken, '
'$mixinToken, '
'$name)');
indent++;
}
@override
void handleNamedMixinApplicationWithClause(Token withKeyword) {
seen(withKeyword);
doPrint('handleNamedMixinApplicationWithClause(' '$withKeyword)');
}
@override
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)');
}
@override
void beginHide(Token hideKeyword) {
seen(hideKeyword);
doPrint('beginHide(' '$hideKeyword)');
indent++;
}
@override
void endHide(Token hideKeyword) {
indent--;
seen(hideKeyword);
doPrint('endHide(' '$hideKeyword)');
}
@override
void handleIdentifierList(int count) {
doPrint('handleIdentifierList(' '$count)');
}
@override
void beginTypeList(Token token) {
seen(token);
doPrint('beginTypeList(' '$token)');
indent++;
}
@override
void endTypeList(int count) {
indent--;
doPrint('endTypeList(' '$count)');
}
@override
void beginIfStatement(Token token) {
seen(token);
doPrint('beginIfStatement(' '$token)');
indent++;
}
@override
void endIfStatement(Token ifToken, Token? elseToken, Token endToken) {
indent--;
seen(ifToken);
seen(elseToken);
seen(endToken);
doPrint('endIfStatement(' '$ifToken, ' '$elseToken, ' '$endToken)');
}
@override
void beginThenStatement(Token token) {
seen(token);
doPrint('beginThenStatement(' '$token)');
indent++;
}
@override
void endThenStatement(Token beginToken, Token endToken) {
indent--;
seen(beginToken);
seen(endToken);
doPrint('endThenStatement(' '$beginToken, ' '$endToken)');
}
@override
void beginElseStatement(Token token) {
seen(token);
doPrint('beginElseStatement(' '$token)');
indent++;
}
@override
void endElseStatement(Token beginToken, Token endToken) {
indent--;
seen(beginToken);
seen(endToken);
doPrint('endElseStatement(' '$beginToken, ' '$endToken)');
}
@override
void beginImport(Token importKeyword) {
seen(importKeyword);
doPrint('beginImport(' '$importKeyword)');
indent++;
}
@override
void handleImportPrefix(Token? deferredKeyword, Token? asKeyword) {
seen(deferredKeyword);
seen(asKeyword);
doPrint('handleImportPrefix(' '$deferredKeyword, ' '$asKeyword)');
}
@override
void endImport(Token importKeyword, Token? augmentToken, Token? semicolon) {
indent--;
seen(importKeyword);
seen(augmentToken);
seen(semicolon);
doPrint('endImport(' '$importKeyword, ' '$augmentToken, ' '$semicolon)');
}
@override
void handleRecoverImport(Token? semicolon) {
seen(semicolon);
doPrint('handleRecoverImport(' '$semicolon)');
}
@override
void beginConditionalUris(Token token) {
seen(token);
doPrint('beginConditionalUris(' '$token)');
indent++;
}
@override
void endConditionalUris(int count) {
indent--;
doPrint('endConditionalUris(' '$count)');
}
@override
void beginConditionalUri(Token ifKeyword) {
seen(ifKeyword);
doPrint('beginConditionalUri(' '$ifKeyword)');
indent++;
}
@override
void endConditionalUri(Token ifKeyword, Token leftParen, Token? equalSign) {
indent--;
seen(ifKeyword);
seen(leftParen);
seen(equalSign);
doPrint('endConditionalUri(' '$ifKeyword, ' '$leftParen, ' '$equalSign)');
}
@override
void handleDottedName(int count, Token firstIdentifier) {
seen(firstIdentifier);
doPrint('handleDottedName(' '$count, ' '$firstIdentifier)');
}
@override
void beginImplicitCreationExpression(Token token) {
seen(token);
doPrint('beginImplicitCreationExpression(' '$token)');
indent++;
}
@override
void endImplicitCreationExpression(Token token, Token openAngleBracket) {
indent--;
seen(token);
seen(openAngleBracket);
doPrint('endImplicitCreationExpression(' '$token, ' '$openAngleBracket)');
}
@override
void beginInitializedIdentifier(Token token) {
seen(token);
doPrint('beginInitializedIdentifier(' '$token)');
indent++;
}
@override
void endInitializedIdentifier(Token nameToken) {
indent--;
seen(nameToken);
doPrint('endInitializedIdentifier(' '$nameToken)');
}
@override
void beginFieldInitializer(Token token) {
seen(token);
doPrint('beginFieldInitializer(' '$token)');
indent++;
}
@override
void endFieldInitializer(Token assignment, Token endToken) {
indent--;
seen(assignment);
seen(endToken);
doPrint('endFieldInitializer(' '$assignment, ' '$endToken)');
}
@override
void handleNoFieldInitializer(Token token) {
seen(token);
doPrint('handleNoFieldInitializer(' '$token)');
}
@override
void beginVariableInitializer(Token token) {
seen(token);
doPrint('beginVariableInitializer(' '$token)');
indent++;
}
@override
void endVariableInitializer(Token assignmentOperator) {
indent--;
seen(assignmentOperator);
doPrint('endVariableInitializer(' '$assignmentOperator)');
}
@override
void handleNoVariableInitializer(Token token) {
seen(token);
doPrint('handleNoVariableInitializer(' '$token)');
}
@override
void beginInitializer(Token token) {
seen(token);
doPrint('beginInitializer(' '$token)');
indent++;
}
@override
void endInitializer(Token endToken) {
indent--;
seen(endToken);
doPrint('endInitializer(' '$endToken)');
}
@override
void beginInitializers(Token token) {
seen(token);
doPrint('beginInitializers(' '$token)');
indent++;
}
@override
void endInitializers(int count, Token beginToken, Token endToken) {
indent--;
seen(beginToken);
seen(endToken);
doPrint('endInitializers(' '$count, ' '$beginToken, ' '$endToken)');
}
@override
void handleNoInitializers() {
doPrint('handleNoInitializers()');
}
@override
void handleInvalidExpression(Token token) {
seen(token);
doPrint('handleInvalidExpression(' '$token)');
}
@override
void handleInvalidFunctionBody(Token token) {
seen(token);
doPrint('handleInvalidFunctionBody(' '$token)');
}
@override
void handleInvalidTypeReference(Token token) {
seen(token);
doPrint('handleInvalidTypeReference(' '$token)');
}
@override
void handleLabel(Token token) {
seen(token);
doPrint('handleLabel(' '$token)');
}
@override
void beginLabeledStatement(Token token, int labelCount) {
seen(token);
doPrint('beginLabeledStatement(' '$token, ' '$labelCount)');
indent++;
}
@override
void endLabeledStatement(int labelCount) {
indent--;
doPrint('endLabeledStatement(' '$labelCount)');
}
@override
void beginLibraryAugmentation(Token augmentKeyword, Token libraryKeyword) {
seen(augmentKeyword);
seen(libraryKeyword);
doPrint('beginLibraryAugmentation(' '$augmentKeyword, ' '$libraryKeyword)');
indent++;
}
@override
void endLibraryAugmentation(
Token augmentKeyword, Token libraryKeyword, Token semicolon) {
indent--;
seen(augmentKeyword);
seen(libraryKeyword);
seen(semicolon);
doPrint('endLibraryAugmentation('
'$augmentKeyword, '
'$libraryKeyword, '
'$semicolon)');
}
@override
void beginLibraryName(Token token) {
seen(token);
doPrint('beginLibraryName(' '$token)');
indent++;
}
@override
void endLibraryName(Token libraryKeyword, Token semicolon, bool hasName) {
indent--;
seen(libraryKeyword);
seen(semicolon);
doPrint('endLibraryName(' '$libraryKeyword, ' '$semicolon, ' '$hasName)');
}
@override
void handleLiteralMapEntry(Token colon, Token endToken,
{Token? nullAwareKeyToken, Token? nullAwareValueToken}) {
seen(colon);
seen(endToken);
seen(nullAwareKeyToken);
seen(nullAwareValueToken);
doPrint('handleLiteralMapEntry('
'$colon, '
'$endToken, '
'$nullAwareKeyToken, '
'$nullAwareValueToken)');
}
@override
void handleMapPatternEntry(Token colon, Token endToken) {
seen(colon);
seen(endToken);
doPrint('handleMapPatternEntry(' '$colon, ' '$endToken)');
}
@override
void beginLiteralString(Token token) {
seen(token);
doPrint('beginLiteralString(' '$token)');
indent++;
}
@override
void handleInterpolationExpression(Token leftBracket, Token? rightBracket) {
seen(leftBracket);
seen(rightBracket);
doPrint('handleInterpolationExpression(' '$leftBracket, ' '$rightBracket)');
}
@override
void endLiteralString(int interpolationCount, Token endToken) {
indent--;
seen(endToken);
doPrint('endLiteralString(' '$interpolationCount, ' '$endToken)');
}
@override
void handleStringJuxtaposition(Token startToken, int literalCount) {
seen(startToken);
doPrint('handleStringJuxtaposition(' '$startToken, ' '$literalCount)');
}
@override
void beginMember() {
doPrint('beginMember()');
indent++;
}
@override
void handleInvalidMember(Token endToken) {
seen(endToken);
doPrint('handleInvalidMember(' '$endToken)');
}
@override
void endMember() {
indent--;
doPrint('endMember()');
}
@override
void beginMethod(
DeclarationKind declarationKind,
Token? augmentToken,
Token? externalToken,
Token? staticToken,
Token? covariantToken,
Token? varFinalOrConst,
Token? getOrSet,
Token name) {
seen(augmentToken);
seen(externalToken);
seen(staticToken);
seen(covariantToken);
seen(varFinalOrConst);
seen(getOrSet);
seen(name);
doPrint('beginMethod('
'$declarationKind, '
'$augmentToken, '
'$externalToken, '
'$staticToken, '
'$covariantToken, '
'$varFinalOrConst, '
'$getOrSet, '
'$name)');
indent++;
}
@override
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)');
}
@override
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)');
}
@override
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)');
}
@override
void endExtensionTypeMethod(Token? getOrSet, Token beginToken,
Token beginParam, Token? beginInitializers, Token endToken) {
indent--;
seen(getOrSet);
seen(beginToken);
seen(beginParam);
seen(beginInitializers);
seen(endToken);
doPrint('endExtensionTypeMethod('
'$getOrSet, '
'$beginToken, '
'$beginParam, '
'$beginInitializers, '
'$endToken)');
}
@override
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)');
}
@override
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)');
}
@override
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)');
}
@override
void endExtensionTypeConstructor(Token? getOrSet, Token beginToken,
Token beginParam, Token? beginInitializers, Token endToken) {
indent--;
seen(getOrSet);
seen(beginToken);
seen(beginParam);
seen(beginInitializers);
seen(endToken);
doPrint('endExtensionTypeConstructor('
'$getOrSet, '
'$beginToken, '
'$beginParam, '
'$beginInitializers, '
'$endToken)');
}
@override
void beginMetadataStar(Token token) {
seen(token);
doPrint('beginMetadataStar(' '$token)');
indent++;
}
@override
void endMetadataStar(int count) {
indent--;
doPrint('endMetadataStar(' '$count)');
}
@override
void beginMetadata(Token token) {
seen(token);
doPrint('beginMetadata(' '$token)');
indent++;
}
@override
void endMetadata(Token beginToken, Token? periodBeforeName, Token endToken) {
indent--;
seen(beginToken);
seen(periodBeforeName);
seen(endToken);
doPrint('endMetadata(' '$beginToken, ' '$periodBeforeName, ' '$endToken)');
}
@override
void beginOptionalFormalParameters(Token token) {
seen(token);
doPrint('beginOptionalFormalParameters(' '$token)');
indent++;
}
@override
void endOptionalFormalParameters(
int count, Token beginToken, Token endToken) {
indent--;
seen(beginToken);
seen(endToken);
doPrint(
'endOptionalFormalParameters(' '$count, ' '$beginToken, ' '$endToken)');
}
@override
void beginPart(Token token) {
seen(token);
doPrint('beginPart(' '$token)');
indent++;
}
@override
void endPart(Token partKeyword, Token semicolon) {
indent--;
seen(partKeyword);
seen(semicolon);
doPrint('endPart(' '$partKeyword, ' '$semicolon)');
}
@override
void beginPartOf(Token token) {
seen(token);
doPrint('beginPartOf(' '$token)');
indent++;
}
@override
void endPartOf(
Token partKeyword, Token ofKeyword, Token semicolon, bool hasName) {
indent--;
seen(partKeyword);
seen(ofKeyword);
seen(semicolon);
doPrint('endPartOf('
'$partKeyword, '
'$ofKeyword, '
'$semicolon, '
'$hasName)');
}
@override
void beginRedirectingFactoryBody(Token token) {
seen(token);
doPrint('beginRedirectingFactoryBody(' '$token)');
indent++;
}
@override
void endRedirectingFactoryBody(Token beginToken, Token endToken) {
indent--;
seen(beginToken);
seen(endToken);
doPrint('endRedirectingFactoryBody(' '$beginToken, ' '$endToken)');
}
@override
void beginReturnStatement(Token token) {
seen(token);
doPrint('beginReturnStatement(' '$token)');
indent++;
}
@override
void handleNativeFunctionBody(Token nativeToken, Token semicolon) {
seen(nativeToken);
seen(semicolon);
doPrint('handleNativeFunctionBody(' '$nativeToken, ' '$semicolon)');
}
@override
void handleNativeFunctionBodyIgnored(Token nativeToken, Token semicolon) {
seen(nativeToken);
seen(semicolon);
doPrint('handleNativeFunctionBodyIgnored(' '$nativeToken, ' '$semicolon)');
}
@override
void handleNativeFunctionBodySkipped(Token nativeToken, Token semicolon) {
seen(nativeToken);
seen(semicolon);
doPrint('handleNativeFunctionBodySkipped(' '$nativeToken, ' '$semicolon)');
}
@override
void handleEmptyFunctionBody(Token semicolon) {
seen(semicolon);
doPrint('handleEmptyFunctionBody(' '$semicolon)');
}
@override
void handleExpressionFunctionBody(Token arrowToken, Token? endToken) {
seen(arrowToken);
seen(endToken);
doPrint('handleExpressionFunctionBody(' '$arrowToken, ' '$endToken)');
}
@override
void endReturnStatement(
bool hasExpression, Token beginToken, Token endToken) {
indent--;
seen(beginToken);
seen(endToken);
doPrint(
'endReturnStatement(' '$hasExpression, ' '$beginToken, ' '$endToken)');
}
@override
void handleSend(Token beginToken, Token endToken) {
seen(beginToken);
seen(endToken);
doPrint('handleSend(' '$beginToken, ' '$endToken)');
}
@override
void beginShow(Token showKeyword) {
seen(showKeyword);
doPrint('beginShow(' '$showKeyword)');
indent++;
}
@override
void endShow(Token showKeyword) {
indent--;
seen(showKeyword);
doPrint('endShow(' '$showKeyword)');
}
@override
void beginSwitchStatement(Token token) {
seen(token);
doPrint('beginSwitchStatement(' '$token)');
indent++;
}
@override
void endSwitchStatement(Token switchKeyword, Token endToken) {
indent--;
seen(switchKeyword);
seen(endToken);
doPrint('endSwitchStatement(' '$switchKeyword, ' '$endToken)');
}
@override
void beginSwitchExpression(Token token) {
seen(token);
doPrint('beginSwitchExpression(' '$token)');
indent++;
}
@override
void endSwitchExpression(Token switchKeyword, Token endToken) {
indent--;
seen(switchKeyword);
seen(endToken);
doPrint('endSwitchExpression(' '$switchKeyword, ' '$endToken)');
}
@override
void beginSwitchBlock(Token token) {
seen(token);
doPrint('beginSwitchBlock(' '$token)');
indent++;
}
@override
void endSwitchBlock(int caseCount, Token beginToken, Token endToken) {
indent--;
seen(beginToken);
seen(endToken);
doPrint('endSwitchBlock(' '$caseCount, ' '$beginToken, ' '$endToken)');
}
@override
void beginSwitchExpressionBlock(Token token) {
seen(token);
doPrint('beginSwitchExpressionBlock(' '$token)');
indent++;
}
@override
void endSwitchExpressionBlock(
int caseCount, Token beginToken, Token endToken) {
indent--;
seen(beginToken);
seen(endToken);
doPrint('endSwitchExpressionBlock('
'$caseCount, '
'$beginToken, '
'$endToken)');
}
@override
void beginLiteralSymbol(Token token) {
seen(token);
doPrint('beginLiteralSymbol(' '$token)');
indent++;
}
@override
void endLiteralSymbol(Token hashToken, int identifierCount) {
indent--;
seen(hashToken);
doPrint('endLiteralSymbol(' '$hashToken, ' '$identifierCount)');
}
@override
void handleThrowExpression(Token throwToken, Token endToken) {
seen(throwToken);
seen(endToken);
doPrint('handleThrowExpression(' '$throwToken, ' '$endToken)');
}
@override
void beginRethrowStatement(Token token) {
seen(token);
doPrint('beginRethrowStatement(' '$token)');
indent++;
}
@override
void endRethrowStatement(Token rethrowToken, Token endToken) {
indent--;
seen(rethrowToken);
seen(endToken);
doPrint('endRethrowStatement(' '$rethrowToken, ' '$endToken)');
}
@override
void endTopLevelDeclaration(Token endToken) {
indent--;
seen(endToken);
doPrint('endTopLevelDeclaration(' '$endToken)');
}
@override
void handleInvalidTopLevelDeclaration(Token endToken) {
seen(endToken);
doPrint('handleInvalidTopLevelDeclaration(' '$endToken)');
}
@override
void beginTopLevelMember(Token token) {
seen(token);
doPrint('beginTopLevelMember(' '$token)');
indent++;
}
@override
void beginFields(
DeclarationKind declarationKind,
Token? abstractToken,
Token? augmentToken,
Token? externalToken,
Token? staticToken,
Token? covariantToken,
Token? lateToken,
Token? varFinalOrConst,
Token lastConsumed) {
seen(abstractToken);
seen(augmentToken);
seen(externalToken);
seen(staticToken);
seen(covariantToken);
seen(lateToken);
seen(varFinalOrConst);
seen(lastConsumed);
doPrint('beginFields('
'$declarationKind, '
'$abstractToken, '
'$augmentToken, '
'$externalToken, '
'$staticToken, '
'$covariantToken, '
'$lateToken, '
'$varFinalOrConst, '
'$lastConsumed)');
indent++;
}
@override
void endTopLevelFields(
Token? augmentToken,
Token? externalToken,
Token? staticToken,
Token? covariantToken,
Token? lateToken,
Token? varFinalOrConst,
int count,
Token beginToken,
Token endToken) {
indent--;
seen(augmentToken);
seen(externalToken);
seen(staticToken);
seen(covariantToken);
seen(lateToken);
seen(varFinalOrConst);
seen(beginToken);
seen(endToken);
doPrint('endTopLevelFields('
'$augmentToken, '
'$externalToken, '
'$staticToken, '
'$covariantToken, '
'$lateToken, '
'$varFinalOrConst, '
'$count, '
'$beginToken, '
'$endToken)');
}
@override
void beginTopLevelMethod(
Token lastConsumed, Token? augmentToken, Token? externalToken) {
seen(lastConsumed);
seen(augmentToken);
seen(externalToken);
doPrint('beginTopLevelMethod('
'$lastConsumed, '
'$augmentToken, '
'$externalToken)');
indent++;
}
@override
void endTopLevelMethod(Token beginToken, Token? getOrSet, Token endToken) {
indent--;
seen(beginToken);
seen(getOrSet);
seen(endToken);
doPrint('endTopLevelMethod(' '$beginToken, ' '$getOrSet, ' '$endToken)');
}
@override
void beginTryStatement(Token token) {
seen(token);
doPrint('beginTryStatement(' '$token)');
indent++;
}
@override
void beginCatchClause(Token token) {
seen(token);
doPrint('beginCatchClause(' '$token)');
indent++;
}
@override
void endCatchClause(Token token) {
indent--;
seen(token);
doPrint('endCatchClause(' '$token)');
}
@override
void handleCatchBlock(Token? onKeyword, Token? catchKeyword, Token? comma) {
seen(onKeyword);
seen(catchKeyword);
seen(comma);
doPrint('handleCatchBlock(' '$onKeyword, ' '$catchKeyword, ' '$comma)');
}
@override
void handleFinallyBlock(Token finallyKeyword) {
seen(finallyKeyword);
doPrint('handleFinallyBlock(' '$finallyKeyword)');
}
@override
void endTryStatement(
int catchCount, Token tryKeyword, Token? finallyKeyword, Token endToken) {
indent--;
seen(tryKeyword);
seen(finallyKeyword);
seen(endToken);
doPrint('endTryStatement('
'$catchCount, '
'$tryKeyword, '
'$finallyKeyword, '
'$endToken)');
}
@override
void handleType(Token beginToken, Token? questionMark) {
seen(beginToken);
seen(questionMark);
doPrint('handleType(' '$beginToken, ' '$questionMark)');
}
@override
void handleNonNullAssertExpression(Token bang) {
seen(bang);
doPrint('handleNonNullAssertExpression(' '$bang)');
}
@override
void handleNullAssertPattern(Token bang) {
seen(bang);
doPrint('handleNullAssertPattern(' '$bang)');
}
@override
void handleNullCheckPattern(Token question) {
seen(question);
doPrint('handleNullCheckPattern(' '$question)');
}
@override
void handleAssignedVariablePattern(Token variable) {
seen(variable);
doPrint('handleAssignedVariablePattern(' '$variable)');
}
@override
void handleDeclaredVariablePattern(Token? keyword, Token variable,
{required bool inAssignmentPattern}) {
seen(keyword);
seen(variable);
doPrint('handleDeclaredVariablePattern('
'$keyword, '
'$variable, '
'$inAssignmentPattern)');
}
@override
void handleWildcardPattern(Token? keyword, Token wildcard) {
seen(keyword);
seen(wildcard);
doPrint('handleWildcardPattern(' '$keyword, ' '$wildcard)');
}
@override
void handleNoName(Token token) {
seen(token);
doPrint('handleNoName(' '$token)');
}
@override
void beginRecordType(Token leftBracket) {
seen(leftBracket);
doPrint('beginRecordType(' '$leftBracket)');
indent++;
}
@override
void endRecordType(
Token leftBracket, Token? questionMark, int count, bool hasNamedFields) {
indent--;
seen(leftBracket);
seen(questionMark);
doPrint('endRecordType('
'$leftBracket, '
'$questionMark, '
'$count, '
'$hasNamedFields)');
}
@override
void beginRecordTypeEntry() {
doPrint('beginRecordTypeEntry()');
indent++;
}
@override
void endRecordTypeEntry() {
indent--;
doPrint('endRecordTypeEntry()');
}
@override
void beginRecordTypeNamedFields(Token leftBracket) {
seen(leftBracket);
doPrint('beginRecordTypeNamedFields(' '$leftBracket)');
indent++;
}
@override
void endRecordTypeNamedFields(int count, Token leftBracket) {
indent--;
seen(leftBracket);
doPrint('endRecordTypeNamedFields(' '$count, ' '$leftBracket)');
}
@override
void beginFunctionType(Token beginToken) {
seen(beginToken);
doPrint('beginFunctionType(' '$beginToken)');
indent++;
}
@override
void endFunctionType(Token functionToken, Token? questionMark) {
indent--;
seen(functionToken);
seen(questionMark);
doPrint('endFunctionType(' '$functionToken, ' '$questionMark)');
}
@override
void beginTypeArguments(Token token) {
seen(token);
doPrint('beginTypeArguments(' '$token)');
indent++;
}
@override
void endTypeArguments(int count, Token beginToken, Token endToken) {
indent--;
seen(beginToken);
seen(endToken);
doPrint('endTypeArguments(' '$count, ' '$beginToken, ' '$endToken)');
}
@override
void handleInvalidTypeArguments(Token token) {
seen(token);
doPrint('handleInvalidTypeArguments(' '$token)');
}
@override
void handleNoTypeArguments(Token token) {
seen(token);
doPrint('handleNoTypeArguments(' '$token)');
}
@override
void beginTypeVariable(Token token) {
seen(token);
doPrint('beginTypeVariable(' '$token)');
indent++;
}
@override
void handleTypeVariablesDefined(Token token, int count) {
seen(token);
doPrint('handleTypeVariablesDefined(' '$token, ' '$count)');
}
@override
void endTypeVariable(
Token token, int index, Token? extendsOrSuper, Token? variance) {
indent--;
seen(token);
seen(extendsOrSuper);
seen(variance);
doPrint('endTypeVariable('
'$token, '
'$index, '
'$extendsOrSuper, '
'$variance)');
}
@override
void beginTypeVariables(Token token) {
seen(token);
doPrint('beginTypeVariables(' '$token)');
indent++;
}
@override
void endTypeVariables(Token beginToken, Token endToken) {
indent--;
seen(beginToken);
seen(endToken);
doPrint('endTypeVariables(' '$beginToken, ' '$endToken)');
}
@override
void reportVarianceModifierNotEnabled(Token? variance) {
seen(variance);
doPrint('reportVarianceModifierNotEnabled(' '$variance)');
}
@override
void beginFunctionExpression(Token token) {
seen(token);
doPrint('beginFunctionExpression(' '$token)');
indent++;
}
@override
void endFunctionExpression(Token beginToken, Token endToken) {
indent--;
seen(beginToken);
seen(endToken);
doPrint('endFunctionExpression(' '$beginToken, ' '$endToken)');
}
@override
void beginVariablesDeclaration(
Token token, Token? lateToken, Token? varFinalOrConst) {
seen(token);
seen(lateToken);
seen(varFinalOrConst);
doPrint('beginVariablesDeclaration('
'$token, '
'$lateToken, '
'$varFinalOrConst)');
indent++;
}
@override
void endVariablesDeclaration(int count, Token? endToken) {
indent--;
seen(endToken);
doPrint('endVariablesDeclaration(' '$count, ' '$endToken)');
}
@override
void beginWhileStatement(Token token) {
seen(token);
doPrint('beginWhileStatement(' '$token)');
indent++;
}
@override
void endWhileStatement(Token whileKeyword, Token endToken) {
indent--;
seen(whileKeyword);
seen(endToken);
doPrint('endWhileStatement(' '$whileKeyword, ' '$endToken)');
}
@override
void beginAsOperatorType(Token operator) {
seen(operator);
doPrint('beginAsOperatorType(' '$operator)');
indent++;
}
@override
void endAsOperatorType(Token operator) {
indent--;
seen(operator);
doPrint('endAsOperatorType(' '$operator)');
}
@override
void handleAsOperator(Token operator) {
seen(operator);
doPrint('handleAsOperator(' '$operator)');
}
@override
void handleCastPattern(Token operator) {
seen(operator);
doPrint('handleCastPattern(' '$operator)');
}
@override
void handleAssignmentExpression(Token token, Token endToken) {
seen(token);
seen(endToken);
doPrint('handleAssignmentExpression(' '$token, ' '$endToken)');
}
@override
void beginBinaryExpression(Token token) {
seen(token);
doPrint('beginBinaryExpression(' '$token)');
indent++;
}
@override
void endBinaryExpression(Token token, Token endToken) {
indent--;
seen(token);
seen(endToken);
doPrint('endBinaryExpression(' '$token, ' '$endToken)');
}
@override
void beginBinaryPattern(Token token) {
seen(token);
doPrint('beginBinaryPattern(' '$token)');
indent++;
}
@override
void endBinaryPattern(Token token) {
indent--;
seen(token);
doPrint('endBinaryPattern(' '$token)');
}
@override
void handleEndingBinaryExpression(Token token, Token endToken) {
seen(token);
seen(endToken);
doPrint('handleEndingBinaryExpression(' '$token, ' '$endToken)');
}
@override
void beginConditionalExpression(Token question) {
seen(question);
doPrint('beginConditionalExpression(' '$question)');
indent++;
}
@override
void handleConditionalExpressionColon() {
doPrint('handleConditionalExpressionColon()');
}
@override
void endConditionalExpression(Token question, Token colon, Token endToken) {
indent--;
seen(question);
seen(colon);
seen(endToken);
doPrint('endConditionalExpression(' '$question, ' '$colon, ' '$endToken)');
}
@override
void beginConstExpression(Token constKeyword) {
seen(constKeyword);
doPrint('beginConstExpression(' '$constKeyword)');
indent++;
}
@override
void endConstExpression(Token token) {
indent--;
seen(token);
doPrint('endConstExpression(' '$token)');
}
@override
void handleConstFactory(Token constKeyword) {
seen(constKeyword);
doPrint('handleConstFactory(' '$constKeyword)');
}
@override
void beginForControlFlow(Token? awaitToken, Token forToken) {
seen(awaitToken);
seen(forToken);
doPrint('beginForControlFlow(' '$awaitToken, ' '$forToken)');
indent++;
}
@override
void endForControlFlow(Token token) {
indent--;
seen(token);
doPrint('endForControlFlow(' '$token)');
}
@override
void endForInControlFlow(Token token) {
indent--;
seen(token);
doPrint('endForInControlFlow(' '$token)');
}
@override
void beginIfControlFlow(Token ifToken) {
seen(ifToken);
doPrint('beginIfControlFlow(' '$ifToken)');
indent++;
}
@override
void handleThenControlFlow(Token token) {
seen(token);
doPrint('handleThenControlFlow(' '$token)');
}
@override
void handleElseControlFlow(Token elseToken) {
seen(elseToken);
doPrint('handleElseControlFlow(' '$elseToken)');
}
@override
void endIfControlFlow(Token token) {
indent--;
seen(token);
doPrint('endIfControlFlow(' '$token)');
}
@override
void endIfElseControlFlow(Token token) {
indent--;
seen(token);
doPrint('endIfElseControlFlow(' '$token)');
}
@override
void handleSpreadExpression(Token spreadToken) {
seen(spreadToken);
doPrint('handleSpreadExpression(' '$spreadToken)');
}
@override
void handleNullAwareElement(Token nullAwareToken) {
seen(nullAwareToken);
doPrint('handleNullAwareElement(' '$nullAwareToken)');
}
@override
void handleRestPattern(Token dots, {required bool hasSubPattern}) {
seen(dots);
doPrint('handleRestPattern(' '$dots, ' '$hasSubPattern)');
}
@override
void beginFunctionTypedFormalParameter(Token token) {
seen(token);
doPrint('beginFunctionTypedFormalParameter(' '$token)');
indent++;
}
@override
void endFunctionTypedFormalParameter(Token nameToken, Token? question) {
indent--;
seen(nameToken);
seen(question);
doPrint('endFunctionTypedFormalParameter(' '$nameToken, ' '$question)');
}
@override
void handleIdentifier(Token token, IdentifierContext context) {
seen(token);
doPrint('handleIdentifier(' '$token, ' '$context)');
}
@override
void handleIndexedExpression(
Token? question, Token openSquareBracket, Token closeSquareBracket) {
seen(question);
seen(openSquareBracket);
seen(closeSquareBracket);
doPrint('handleIndexedExpression('
'$question, '
'$openSquareBracket, '
'$closeSquareBracket)');
}
@override
void beginIsOperatorType(Token operator) {
seen(operator);
doPrint('beginIsOperatorType(' '$operator)');
indent++;
}
@override
void endIsOperatorType(Token operator) {
indent--;
seen(operator);
doPrint('endIsOperatorType(' '$operator)');
}
@override
void handleIsOperator(Token isOperator, Token? not) {
seen(isOperator);
seen(not);
doPrint('handleIsOperator(' '$isOperator, ' '$not)');
}
@override
void handleLiteralBool(Token token) {
seen(token);
doPrint('handleLiteralBool(' '$token)');
}
@override
void handleBreakStatement(
bool hasTarget, Token breakKeyword, Token endToken) {
seen(breakKeyword);
seen(endToken);
doPrint(
'handleBreakStatement(' '$hasTarget, ' '$breakKeyword, ' '$endToken)');
}
@override
void handleContinueStatement(
bool hasTarget, Token continueKeyword, Token endToken) {
seen(continueKeyword);
seen(endToken);
doPrint('handleContinueStatement('
'$hasTarget, '
'$continueKeyword, '
'$endToken)');
}
@override
void handleEmptyStatement(Token token) {
seen(token);
doPrint('handleEmptyStatement(' '$token)');
}
@override
void beginAssert(Token assertKeyword, Assert kind) {
seen(assertKeyword);
doPrint('beginAssert(' '$assertKeyword, ' '$kind)');
indent++;
}
@override
void endAssert(Token assertKeyword, Assert kind, Token leftParenthesis,
Token? commaToken, Token endToken) {
indent--;
seen(assertKeyword);
seen(leftParenthesis);
seen(commaToken);
seen(endToken);
doPrint('endAssert('
'$assertKeyword, '
'$kind, '
'$leftParenthesis, '
'$commaToken, '
'$endToken)');
}
@override
void handleLiteralDouble(Token token) {
seen(token);
doPrint('handleLiteralDouble(' '$token)');
}
@override
void handleLiteralDoubleWithSeparators(Token token) {
seen(token);
doPrint('handleLiteralDoubleWithSeparators(' '$token)');
}
@override
void handleLiteralInt(Token token) {
seen(token);
doPrint('handleLiteralInt(' '$token)');
}
@override
void handleLiteralIntWithSeparators(Token token) {
seen(token);
doPrint('handleLiteralIntWithSeparators(' '$token)');
}
@override
void handleLiteralList(
int count, Token leftBracket, Token? constKeyword, Token rightBracket) {
seen(leftBracket);
seen(constKeyword);
seen(rightBracket);
doPrint('handleLiteralList('
'$count, '
'$leftBracket, '
'$constKeyword, '
'$rightBracket)');
}
@override
void handleListPattern(int count, Token leftBracket, Token rightBracket) {
seen(leftBracket);
seen(rightBracket);
doPrint('handleListPattern(' '$count, ' '$leftBracket, ' '$rightBracket)');
}
@override
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)');
}
@override
void handleMapPattern(int count, Token leftBrace, Token rightBrace) {
seen(leftBrace);
seen(rightBrace);
doPrint('handleMapPattern(' '$count, ' '$leftBrace, ' '$rightBrace)');
}
@override
void handleLiteralNull(Token token) {
seen(token);
doPrint('handleLiteralNull(' '$token)');
}
@override
void handleNativeClause(Token nativeToken, bool hasName) {
seen(nativeToken);
doPrint('handleNativeClause(' '$nativeToken, ' '$hasName)');
}
@override
void handleNamedArgument(Token colon) {
seen(colon);
doPrint('handleNamedArgument(' '$colon)');
}
@override
void handlePatternField(Token? colon) {
seen(colon);
doPrint('handlePatternField(' '$colon)');
}
@override
void handleNamedRecordField(Token colon) {
seen(colon);
doPrint('handleNamedRecordField(' '$colon)');
}
@override
void beginNewExpression(Token token) {
seen(token);
doPrint('beginNewExpression(' '$token)');
indent++;
}
@override
void endNewExpression(Token token) {
indent--;
seen(token);
doPrint('endNewExpression(' '$token)');
}
@override
void handleNoArguments(Token token) {
seen(token);
doPrint('handleNoArguments(' '$token)');
}
@override
void handleNoConstructorReferenceContinuationAfterTypeArguments(Token token) {
seen(token);
doPrint('handleNoConstructorReferenceContinuationAfterTypeArguments('
'$token)');
}
@override
void handleNoTypeNameInConstructorReference(Token token) {
seen(token);
doPrint('handleNoTypeNameInConstructorReference(' '$token)');
}
@override
void handleNoType(Token lastConsumed) {
seen(lastConsumed);
doPrint('handleNoType(' '$lastConsumed)');
}
@override
void handleNoTypeVariables(Token token) {
seen(token);
doPrint('handleNoTypeVariables(' '$token)');
}
@override
void handleOperator(Token token) {
seen(token);
doPrint('handleOperator(' '$token)');
}
@override
void handleSwitchCaseNoWhenClause(Token token) {
seen(token);
doPrint('handleSwitchCaseNoWhenClause(' '$token)');
}
@override
void handleSwitchExpressionCasePattern(Token token) {
seen(token);
doPrint('handleSwitchExpressionCasePattern(' '$token)');
}
@override
void handleSymbolVoid(Token token) {
seen(token);
doPrint('handleSymbolVoid(' '$token)');
}
@override
void handleOperatorName(Token operatorKeyword, Token token) {
seen(operatorKeyword);
seen(token);
doPrint('handleOperatorName(' '$operatorKeyword, ' '$token)');
}
@override
void handleInvalidOperatorName(Token operatorKeyword, Token token) {
seen(operatorKeyword);
seen(token);
doPrint('handleInvalidOperatorName(' '$operatorKeyword, ' '$token)');
}
@override
void handleParenthesizedCondition(Token token, Token? case_, Token? when) {
seen(token);
seen(case_);
seen(when);
doPrint('handleParenthesizedCondition(' '$token, ' '$case_, ' '$when)');
}
@override
void beginPattern(Token token) {
seen(token);
doPrint('beginPattern(' '$token)');
indent++;
}
@override
void beginPatternGuard(Token when) {
seen(when);
doPrint('beginPatternGuard(' '$when)');
indent++;
}
@override
void beginParenthesizedExpressionOrRecordLiteral(Token token) {
seen(token);
doPrint('beginParenthesizedExpressionOrRecordLiteral(' '$token)');
indent++;
}
@override
void beginSwitchCaseWhenClause(Token when) {
seen(when);
doPrint('beginSwitchCaseWhenClause(' '$when)');
indent++;
}
@override
void endRecordLiteral(Token token, int count, Token? constKeyword) {
indent--;
seen(token);
seen(constKeyword);
doPrint('endRecordLiteral(' '$token, ' '$count, ' '$constKeyword)');
}
@override
void handleRecordPattern(Token token, int count) {
seen(token);
doPrint('handleRecordPattern(' '$token, ' '$count)');
}
@override
void endPattern(Token token) {
indent--;
seen(token);
doPrint('endPattern(' '$token)');
}
@override
void endPatternGuard(Token token) {
indent--;
seen(token);
doPrint('endPatternGuard(' '$token)');
}
@override
void endParenthesizedExpression(Token token) {
indent--;
seen(token);
doPrint('endParenthesizedExpression(' '$token)');
}
@override
void endSwitchCaseWhenClause(Token token) {
indent--;
seen(token);
doPrint('endSwitchCaseWhenClause(' '$token)');
}
@override
void handleParenthesizedPattern(Token token) {
seen(token);
doPrint('handleParenthesizedPattern(' '$token)');
}
@override
void beginConstantPattern(Token? constKeyword) {
seen(constKeyword);
doPrint('beginConstantPattern(' '$constKeyword)');
indent++;
}
@override
void endConstantPattern(Token? constKeyword) {
indent--;
seen(constKeyword);
doPrint('endConstantPattern(' '$constKeyword)');
}
@override
void handleObjectPattern(
Token firstIdentifier, Token? dot, Token? secondIdentifier) {
seen(firstIdentifier);
seen(dot);
seen(secondIdentifier);
doPrint('handleObjectPattern('
'$firstIdentifier, '
'$dot, '
'$secondIdentifier)');
}
@override
void handleQualified(Token period) {
seen(period);
doPrint('handleQualified(' '$period)');
}
@override
void handleStringPart(Token token) {
seen(token);
doPrint('handleStringPart(' '$token)');
}
@override
void handleSuperExpression(Token token, IdentifierContext context) {
seen(token);
doPrint('handleSuperExpression(' '$token, ' '$context)');
}
@override
void handleAugmentSuperExpression(
Token augmentToken, Token superToken, IdentifierContext context) {
seen(augmentToken);
seen(superToken);
doPrint('handleAugmentSuperExpression('
'$augmentToken, '
'$superToken, '
'$context)');
}
@override
void beginSwitchCase(int labelCount, int expressionCount, Token beginToken) {
seen(beginToken);
doPrint(
'beginSwitchCase(' '$labelCount, ' '$expressionCount, ' '$beginToken)');
indent++;
}
@override
void endSwitchCase(
int labelCount,
int expressionCount,
Token? defaultKeyword,
Token? colonAfterDefault,
int statementCount,
Token beginToken,
Token endToken) {
indent--;
seen(defaultKeyword);
seen(colonAfterDefault);
seen(beginToken);
seen(endToken);
doPrint('endSwitchCase('
'$labelCount, '
'$expressionCount, '
'$defaultKeyword, '
'$colonAfterDefault, '
'$statementCount, '
'$beginToken, '
'$endToken)');
}
@override
void beginSwitchExpressionCase() {
doPrint('beginSwitchExpressionCase()');
indent++;
}
@override
void endSwitchExpressionCase(
Token beginToken, Token? when, Token arrow, Token endToken) {
indent--;
seen(beginToken);
seen(when);
seen(arrow);
seen(endToken);
doPrint('endSwitchExpressionCase('
'$beginToken, '
'$when, '
'$arrow, '
'$endToken)');
}
@override
void handleThisExpression(Token token, IdentifierContext context) {
seen(token);
doPrint('handleThisExpression(' '$token, ' '$context)');
}
@override
void handleUnaryPostfixAssignmentExpression(Token token) {
seen(token);
doPrint('handleUnaryPostfixAssignmentExpression(' '$token)');
}
@override
void handleUnaryPrefixExpression(Token token) {
seen(token);
doPrint('handleUnaryPrefixExpression(' '$token)');
}
@override
void handleRelationalPattern(Token token) {
seen(token);
doPrint('handleRelationalPattern(' '$token)');
}
@override
void handleUnaryPrefixAssignmentExpression(Token token) {
seen(token);
doPrint('handleUnaryPrefixAssignmentExpression(' '$token)');
}
@override
void beginFormalParameterDefaultValueExpression() {
doPrint('beginFormalParameterDefaultValueExpression()');
indent++;
}
@override
void endFormalParameterDefaultValueExpression() {
indent--;
doPrint('endFormalParameterDefaultValueExpression()');
}
@override
void handleValuedFormalParameter(
Token equals, Token token, FormalParameterKind kind) {
seen(equals);
seen(token);
doPrint('handleValuedFormalParameter(' '$equals, ' '$token, ' '$kind)');
}
@override
void handleFormalParameterWithoutValue(Token token) {
seen(token);
doPrint('handleFormalParameterWithoutValue(' '$token)');
}
@override
void handleVoidKeyword(Token token) {
seen(token);
doPrint('handleVoidKeyword(' '$token)');
}
@override
void handleVoidKeywordWithTypeArguments(Token token) {
seen(token);
doPrint('handleVoidKeywordWithTypeArguments(' '$token)');
}
@override
void beginYieldStatement(Token token) {
seen(token);
doPrint('beginYieldStatement(' '$token)');
indent++;
}
@override
void endYieldStatement(Token yieldToken, Token? starToken, Token endToken) {
indent--;
seen(yieldToken);
seen(starToken);
seen(endToken);
doPrint('endYieldStatement(' '$yieldToken, ' '$starToken, ' '$endToken)');
}
@override
void endInvalidYieldStatement(Token beginToken, Token? starToken,
Token endToken, MessageCode errorCode) {
indent--;
seen(beginToken);
seen(starToken);
seen(endToken);
doPrint('endInvalidYieldStatement('
'$beginToken, '
'$starToken, '
'$endToken, '
'$errorCode)');
}
@override
void handleRecoverableError(
Message message, Token startToken, Token endToken) {
seen(startToken);
seen(endToken);
doPrint(
'handleRecoverableError(' '$message, ' '$startToken, ' '$endToken)');
checkEof(endToken);
}
@override
void handleExperimentNotEnabled(
ExperimentalFlag experimentalFlag, Token startToken, Token endToken) {
seen(startToken);
seen(endToken);
doPrint('handleExperimentNotEnabled('
'$experimentalFlag, '
'$startToken, '
'$endToken)');
}
@override
void handleErrorToken(ErrorToken token) {
doPrint('handleErrorToken(' '$token)');
handleRecoverableError(token.assertionMessage, token, token);
}
@override
void handleUnescapeError(
Message message, Token location, int stringOffset, int length) {
seen(location);
doPrint('handleUnescapeError('
'$message, '
'$location, '
'$stringOffset, '
'$length)');
}
@override
void handleInvalidStatement(Token token, Message message) {
seen(token);
doPrint('handleInvalidStatement(' '$token, ' '$message)');
}
@override
void handleScript(Token token) {
seen(token);
doPrint('handleScript(' '$token)');
}
@override
void handleTypeArgumentApplication(Token openAngleBracket) {
seen(openAngleBracket);
doPrint('handleTypeArgumentApplication(' '$openAngleBracket)');
}
@override
void handleNewAsIdentifier(Token token) {
seen(token);
doPrint('handleNewAsIdentifier(' '$token)');
}
@override
void handlePatternVariableDeclarationStatement(
Token keyword, Token equals, Token semicolon) {
seen(keyword);
seen(equals);
seen(semicolon);
doPrint('handlePatternVariableDeclarationStatement('
'$keyword, '
'$equals, '
'$semicolon)');
}
@override
void handlePatternAssignment(Token equals) {
seen(equals);
doPrint('handlePatternAssignment(' '$equals)');
}
}