d3f28d77d1
This is a part of the enhanced-parts feature needed for further progress on the Builder model migration where patch libraries should be handled as patch parts. Change-Id: I253b471df56ce383eaf5de18b3287ec3cc161005 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/409700 Commit-Queue: Johnni Winther <johnniwinther@google.com> Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
2865 lines
73 KiB
Dart
2865 lines
73 KiB
Dart
// 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/directive_context.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' show Listener;
|
|
import 'package:_fe_analyzer_shared/src/parser/member_kind.dart';
|
|
import 'package:_fe_analyzer_shared/src/parser/parser.dart'
|
|
show ConstantPatternContext, Parser;
|
|
import 'package:_fe_analyzer_shared/src/parser/parser_impl.dart'
|
|
show AwaitOrYieldContext, ForPartsContext, PatternContext;
|
|
import 'package:_fe_analyzer_shared/src/parser/token_stream_rewriter.dart';
|
|
import 'package:_fe_analyzer_shared/src/parser/type_info.dart';
|
|
import 'package:_fe_analyzer_shared/src/scanner/token.dart';
|
|
import 'package:front_end/src/codes/cfe_codes.dart' as codes;
|
|
import 'package:front_end/src/source/diet_parser.dart'
|
|
show useImplicitCreationExpressionInCfe;
|
|
|
|
// THIS FILE IS AUTO GENERATED BY 'test/parser_test_parser_creator.dart'
|
|
// Run this command to update it:
|
|
// 'dart pkg/front_end/test/parser_test_parser_creator.dart'
|
|
|
|
class TestParser extends Parser {
|
|
int indent = 0;
|
|
StringBuffer sb = new StringBuffer();
|
|
final bool trace;
|
|
bool _inhibitPrinting = false;
|
|
|
|
TestParser(Listener listener, this.trace,
|
|
{required bool allowPatterns, required bool enableEnhancedParts})
|
|
: super(listener,
|
|
useImplicitCreationExpression: useImplicitCreationExpressionInCfe,
|
|
allowPatterns: allowPatterns,
|
|
enableFeatureEnhancedParts: enableEnhancedParts);
|
|
|
|
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:") ||
|
|
line.contains("parser_test_parser.dart:") ||
|
|
line == "<asynchronous suspension>") {
|
|
continue;
|
|
}
|
|
return line.substring(line.indexOf("(") + 1, line.lastIndexOf(")"));
|
|
}
|
|
return "N/A";
|
|
}
|
|
|
|
void doPrint(String s) {
|
|
if (_inhibitPrinting) return;
|
|
String traceString = "";
|
|
if (trace) traceString = " (${createTrace()})";
|
|
sb.writeln((" " * indent) + s + traceString);
|
|
}
|
|
|
|
@override
|
|
T inhibitPrinting<T>(T Function() callback) {
|
|
bool previousInhibitPrinting = _inhibitPrinting;
|
|
_inhibitPrinting = true;
|
|
try {
|
|
return callback();
|
|
} finally {
|
|
_inhibitPrinting = previousInhibitPrinting;
|
|
}
|
|
}
|
|
|
|
@override
|
|
Uri? get uri {
|
|
doPrint('uri()');
|
|
indent++;
|
|
var result = super.uri;
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
TokenStreamRewriter get rewriter {
|
|
doPrint('rewriter()');
|
|
indent++;
|
|
var result = super.rewriter;
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
bool get inGenerator {
|
|
doPrint('inGenerator()');
|
|
indent++;
|
|
var result = super.inGenerator;
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
bool get inAsync {
|
|
doPrint('inAsync()');
|
|
indent++;
|
|
var result = super.inAsync;
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
bool get inPlainSync {
|
|
doPrint('inPlainSync()');
|
|
indent++;
|
|
var result = super.inPlainSync;
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
bool get isBreakAllowed {
|
|
doPrint('isBreakAllowed()');
|
|
indent++;
|
|
var result = super.isBreakAllowed;
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
bool get isContinueAllowed {
|
|
doPrint('isContinueAllowed()');
|
|
indent++;
|
|
var result = super.isContinueAllowed;
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
bool get isContinueWithLabelAllowed {
|
|
doPrint('isContinueWithLabelAllowed()');
|
|
indent++;
|
|
var result = super.isContinueWithLabelAllowed;
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseUnit(Token token) {
|
|
doPrint('parseUnit(' '$token)');
|
|
indent++;
|
|
var result = super.parseUnit(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseDirectives(Token token) {
|
|
doPrint('parseDirectives(' '$token)');
|
|
indent++;
|
|
var result = super.parseDirectives(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseTopLevelDeclaration(Token token) {
|
|
doPrint('parseTopLevelDeclaration(' '$token)');
|
|
indent++;
|
|
var result = super.parseTopLevelDeclaration(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseTopLevelDeclarationImpl(
|
|
Token token, DirectiveContext? directiveState) {
|
|
doPrint('parseTopLevelDeclarationImpl(' '$token, ' '$directiveState)');
|
|
indent++;
|
|
var result = super.parseTopLevelDeclarationImpl(token, directiveState);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseTopLevelKeywordDeclaration(
|
|
Token beginToken,
|
|
Token modifierStart,
|
|
Token keyword,
|
|
Token? macroToken,
|
|
Token? sealedToken,
|
|
Token? baseToken,
|
|
Token? interfaceToken,
|
|
DirectiveContext? directiveState) {
|
|
doPrint('parseTopLevelKeywordDeclaration('
|
|
'$beginToken, '
|
|
'$modifierStart, '
|
|
'$keyword, '
|
|
'$macroToken, '
|
|
'$sealedToken, '
|
|
'$baseToken, '
|
|
'$interfaceToken, '
|
|
'$directiveState)');
|
|
indent++;
|
|
var result = super.parseTopLevelKeywordDeclaration(
|
|
beginToken,
|
|
modifierStart,
|
|
keyword,
|
|
macroToken,
|
|
sealedToken,
|
|
baseToken,
|
|
interfaceToken,
|
|
directiveState);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseLibraryAugmentation(Token augmentKeyword, Token libraryKeyword) {
|
|
doPrint('parseLibraryAugmentation(' '$augmentKeyword, ' '$libraryKeyword)');
|
|
indent++;
|
|
var result = super.parseLibraryAugmentation(augmentKeyword, libraryKeyword);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseLibraryName(Token libraryKeyword) {
|
|
doPrint('parseLibraryName(' '$libraryKeyword)');
|
|
indent++;
|
|
var result = super.parseLibraryName(libraryKeyword);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseImportPrefixOpt(Token token) {
|
|
doPrint('parseImportPrefixOpt(' '$token)');
|
|
indent++;
|
|
var result = super.parseImportPrefixOpt(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseImport(Token importKeyword) {
|
|
doPrint('parseImport(' '$importKeyword)');
|
|
indent++;
|
|
var result = super.parseImport(importKeyword);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseImportRecovery(Token token) {
|
|
doPrint('parseImportRecovery(' '$token)');
|
|
indent++;
|
|
var result = super.parseImportRecovery(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseConditionalUriStar(Token token) {
|
|
doPrint('parseConditionalUriStar(' '$token)');
|
|
indent++;
|
|
var result = super.parseConditionalUriStar(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseConditionalUri(Token token) {
|
|
doPrint('parseConditionalUri(' '$token)');
|
|
indent++;
|
|
var result = super.parseConditionalUri(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseDottedName(Token token) {
|
|
doPrint('parseDottedName(' '$token)');
|
|
indent++;
|
|
var result = super.parseDottedName(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseExport(Token exportKeyword) {
|
|
doPrint('parseExport(' '$exportKeyword)');
|
|
indent++;
|
|
var result = super.parseExport(exportKeyword);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseCombinatorStar(Token token) {
|
|
doPrint('parseCombinatorStar(' '$token)');
|
|
indent++;
|
|
var result = super.parseCombinatorStar(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseHide(Token token) {
|
|
doPrint('parseHide(' '$token)');
|
|
indent++;
|
|
var result = super.parseHide(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseShow(Token token) {
|
|
doPrint('parseShow(' '$token)');
|
|
indent++;
|
|
var result = super.parseShow(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseIdentifierList(Token token) {
|
|
doPrint('parseIdentifierList(' '$token)');
|
|
indent++;
|
|
var result = super.parseIdentifierList(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseTypeList(Token token) {
|
|
doPrint('parseTypeList(' '$token)');
|
|
indent++;
|
|
var result = super.parseTypeList(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parsePartOrPartOf(Token partKeyword, DirectiveContext? directiveState) {
|
|
doPrint('parsePartOrPartOf(' '$partKeyword, ' '$directiveState)');
|
|
indent++;
|
|
var result = super.parsePartOrPartOf(partKeyword, directiveState);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parsePart(Token partKeyword) {
|
|
doPrint('parsePart(' '$partKeyword)');
|
|
indent++;
|
|
var result = super.parsePart(partKeyword);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parsePartOf(Token partKeyword) {
|
|
doPrint('parsePartOf(' '$partKeyword)');
|
|
indent++;
|
|
var result = super.parsePartOf(partKeyword);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseMetadataStar(Token token) {
|
|
doPrint('parseMetadataStar(' '$token)');
|
|
indent++;
|
|
var result = super.parseMetadataStar(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseMetadata(Token token) {
|
|
doPrint('parseMetadata(' '$token)');
|
|
indent++;
|
|
var result = super.parseMetadata(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseScript(Token token) {
|
|
doPrint('parseScript(' '$token)');
|
|
indent++;
|
|
var result = super.parseScript(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseTypedef(Token? augmentToken, Token typedefKeyword) {
|
|
doPrint('parseTypedef(' '$augmentToken, ' '$typedefKeyword)');
|
|
indent++;
|
|
var result = super.parseTypedef(augmentToken, typedefKeyword);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseMixinApplicationRest(Token token) {
|
|
doPrint('parseMixinApplicationRest(' '$token)');
|
|
indent++;
|
|
var result = super.parseMixinApplicationRest(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseClassWithClauseOpt(Token token) {
|
|
doPrint('parseClassWithClauseOpt(' '$token)');
|
|
indent++;
|
|
var result = super.parseClassWithClauseOpt(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseEnumWithClauseOpt(Token token) {
|
|
doPrint('parseEnumWithClauseOpt(' '$token)');
|
|
indent++;
|
|
var result = super.parseEnumWithClauseOpt(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseGetterOrFormalParameters(
|
|
Token token, Token name, bool isGetter, MemberKind kind) {
|
|
doPrint('parseGetterOrFormalParameters('
|
|
'$token, '
|
|
'$name, '
|
|
'$isGetter, '
|
|
'$kind)');
|
|
indent++;
|
|
var result =
|
|
super.parseGetterOrFormalParameters(token, name, isGetter, kind);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseFormalParametersOpt(Token token, MemberKind kind) {
|
|
doPrint('parseFormalParametersOpt(' '$token, ' '$kind)');
|
|
indent++;
|
|
var result = super.parseFormalParametersOpt(token, kind);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token skipFormalParameters(Token token, MemberKind kind) {
|
|
doPrint('skipFormalParameters(' '$token, ' '$kind)');
|
|
indent++;
|
|
var result = super.skipFormalParameters(token, kind);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token skipFormalParametersRest(Token token, MemberKind kind) {
|
|
doPrint('skipFormalParametersRest(' '$token, ' '$kind)');
|
|
indent++;
|
|
var result = super.skipFormalParametersRest(token, kind);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseRecordType(
|
|
final Token start, Token token, bool isQuestionMarkPartOfType) {
|
|
doPrint(
|
|
'parseRecordType(' '$start, ' '$token, ' '$isQuestionMarkPartOfType)');
|
|
indent++;
|
|
var result = super.parseRecordType(start, token, isQuestionMarkPartOfType);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseRecordTypeField(Token token,
|
|
{required bool identifierIsOptional}) {
|
|
doPrint('parseRecordTypeField('
|
|
'$token, '
|
|
'identifierIsOptional: $identifierIsOptional)');
|
|
indent++;
|
|
var result = super.parseRecordTypeField(token,
|
|
identifierIsOptional: identifierIsOptional);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseRecordTypeNamedFields(Token token) {
|
|
doPrint('parseRecordTypeNamedFields(' '$token)');
|
|
indent++;
|
|
var result = super.parseRecordTypeNamedFields(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseFormalParametersRequiredOpt(Token token, MemberKind kind) {
|
|
doPrint('parseFormalParametersRequiredOpt(' '$token, ' '$kind)');
|
|
indent++;
|
|
var result = super.parseFormalParametersRequiredOpt(token, kind);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseFormalParameters(Token token, MemberKind kind) {
|
|
doPrint('parseFormalParameters(' '$token, ' '$kind)');
|
|
indent++;
|
|
var result = super.parseFormalParameters(token, kind);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseFormalParametersRest(Token token, MemberKind kind) {
|
|
doPrint('parseFormalParametersRest(' '$token, ' '$kind)');
|
|
indent++;
|
|
var result = super.parseFormalParametersRest(token, kind);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
codes.Message missingParameterMessage(MemberKind kind) {
|
|
doPrint('missingParameterMessage(' '$kind)');
|
|
indent++;
|
|
var result = super.missingParameterMessage(kind);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseFormalParameter(
|
|
Token token, FormalParameterKind parameterKind, MemberKind memberKind) {
|
|
doPrint(
|
|
'parseFormalParameter(' '$token, ' '$parameterKind, ' '$memberKind)');
|
|
indent++;
|
|
var result = super.parseFormalParameter(token, parameterKind, memberKind);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseOptionalPositionalParameters(Token token, MemberKind kind) {
|
|
doPrint('parseOptionalPositionalParameters(' '$token, ' '$kind)');
|
|
indent++;
|
|
var result = super.parseOptionalPositionalParameters(token, kind);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseOptionalNamedParameters(Token token, MemberKind kind) {
|
|
doPrint('parseOptionalNamedParameters(' '$token, ' '$kind)');
|
|
indent++;
|
|
var result = super.parseOptionalNamedParameters(token, kind);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseQualified(Token token, IdentifierContext context,
|
|
IdentifierContext continuationContext) {
|
|
doPrint('parseQualified(' '$token, ' '$context, ' '$continuationContext)');
|
|
indent++;
|
|
var result = super.parseQualified(token, context, continuationContext);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseQualifiedRestOpt(
|
|
Token token, IdentifierContext continuationContext) {
|
|
doPrint('parseQualifiedRestOpt(' '$token, ' '$continuationContext)');
|
|
indent++;
|
|
var result = super.parseQualifiedRestOpt(token, continuationContext);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseQualifiedRest(Token token, IdentifierContext context) {
|
|
doPrint('parseQualifiedRest(' '$token, ' '$context)');
|
|
indent++;
|
|
var result = super.parseQualifiedRest(token, context);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token skipBlock(Token token) {
|
|
doPrint('skipBlock(' '$token)');
|
|
indent++;
|
|
var result = super.skipBlock(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseEnum(Token beginToken, Token? augmentToken, Token enumKeyword) {
|
|
doPrint('parseEnum(' '$beginToken, ' '$augmentToken, ' '$enumKeyword)');
|
|
indent++;
|
|
var result = super.parseEnum(beginToken, augmentToken, enumKeyword);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseEnumHeaderOpt(Token token, Token enumKeyword) {
|
|
doPrint('parseEnumHeaderOpt(' '$token, ' '$enumKeyword)');
|
|
indent++;
|
|
var result = super.parseEnumHeaderOpt(token, enumKeyword);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token? recoveryEnumWith(Token token, codes.Message message) {
|
|
doPrint('recoveryEnumWith(' '$token, ' '$message)');
|
|
indent++;
|
|
var result = super.recoveryEnumWith(token, message);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token? recoveryEnumImplements(Token token, codes.Message message) {
|
|
doPrint('recoveryEnumImplements(' '$token, ' '$message)');
|
|
indent++;
|
|
var result = super.recoveryEnumImplements(token, message);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token? recoverySmallLookAheadSkipTokens(
|
|
final Token token, List<TokenType> lookFor) {
|
|
doPrint('recoverySmallLookAheadSkipTokens(' '$token, ' '$lookFor)');
|
|
indent++;
|
|
var result = super.recoverySmallLookAheadSkipTokens(token, lookFor);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseEnumElement(Token token) {
|
|
doPrint('parseEnumElement(' '$token)');
|
|
indent++;
|
|
var result = super.parseEnumElement(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseClassOrNamedMixinApplication(
|
|
Token beginToken,
|
|
Token? abstractToken,
|
|
Token? macroToken,
|
|
Token? sealedToken,
|
|
Token? baseToken,
|
|
Token? interfaceToken,
|
|
Token? finalToken,
|
|
Token? augmentToken,
|
|
Token? mixinToken,
|
|
Token classKeyword) {
|
|
doPrint('parseClassOrNamedMixinApplication('
|
|
'$beginToken, '
|
|
'$abstractToken, '
|
|
'$macroToken, '
|
|
'$sealedToken, '
|
|
'$baseToken, '
|
|
'$interfaceToken, '
|
|
'$finalToken, '
|
|
'$augmentToken, '
|
|
'$mixinToken, '
|
|
'$classKeyword)');
|
|
indent++;
|
|
var result = super.parseClassOrNamedMixinApplication(
|
|
beginToken,
|
|
abstractToken,
|
|
macroToken,
|
|
sealedToken,
|
|
baseToken,
|
|
interfaceToken,
|
|
finalToken,
|
|
augmentToken,
|
|
mixinToken,
|
|
classKeyword);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseNamedMixinApplication(
|
|
Token token, Token begin, Token classKeyword) {
|
|
doPrint(
|
|
'parseNamedMixinApplication(' '$token, ' '$begin, ' '$classKeyword)');
|
|
indent++;
|
|
var result = super.parseNamedMixinApplication(token, begin, classKeyword);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseClass(
|
|
Token token, Token beginToken, Token classKeyword, String className) {
|
|
doPrint('parseClass('
|
|
'$token, '
|
|
'$beginToken, '
|
|
'$classKeyword, '
|
|
'$className)');
|
|
indent++;
|
|
var result = super.parseClass(token, beginToken, classKeyword, className);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseClassHeaderOpt(Token token, Token begin, Token classKeyword) {
|
|
doPrint('parseClassHeaderOpt(' '$token, ' '$begin, ' '$classKeyword)');
|
|
indent++;
|
|
var result = super.parseClassHeaderOpt(token, begin, classKeyword);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseClassHeaderRecovery(Token token, Token begin, Token classKeyword) {
|
|
doPrint('parseClassHeaderRecovery(' '$token, ' '$begin, ' '$classKeyword)');
|
|
indent++;
|
|
var result = super.parseClassHeaderRecovery(token, begin, classKeyword);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseExtensionTypeHeaderRecovery(Token token, Token extensionKeyword) {
|
|
doPrint(
|
|
'parseExtensionTypeHeaderRecovery(' '$token, ' '$extensionKeyword)');
|
|
indent++;
|
|
var result =
|
|
super.parseExtensionTypeHeaderRecovery(token, extensionKeyword);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseDeclarationHeaderRecoveryInternal(Token token, Token begin,
|
|
Token declarationKeyword, DeclarationHeaderKind kind) {
|
|
doPrint('parseDeclarationHeaderRecoveryInternal('
|
|
'$token, '
|
|
'$begin, '
|
|
'$declarationKeyword, '
|
|
'$kind)');
|
|
indent++;
|
|
var result = super.parseDeclarationHeaderRecoveryInternal(
|
|
token, begin, declarationKeyword, kind);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseClassExtendsOpt(Token token, DeclarationHeaderKind kind) {
|
|
doPrint('parseClassExtendsOpt(' '$token, ' '$kind)');
|
|
indent++;
|
|
var result = super.parseClassExtendsOpt(token, kind);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseClassExtendsSeenExtendsClause(
|
|
Token extendsKeyword, Token token, DeclarationHeaderKind kind) {
|
|
doPrint('parseClassExtendsSeenExtendsClause('
|
|
'$extendsKeyword, '
|
|
'$token, '
|
|
'$kind)');
|
|
indent++;
|
|
var result =
|
|
super.parseClassExtendsSeenExtendsClause(extendsKeyword, token, kind);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseClassOrMixinOrEnumImplementsOpt(Token token) {
|
|
doPrint('parseClassOrMixinOrEnumImplementsOpt(' '$token)');
|
|
indent++;
|
|
var result = super.parseClassOrMixinOrEnumImplementsOpt(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseMixin(Token beginToken, Token? augmentToken, Token? baseToken,
|
|
Token mixinKeyword) {
|
|
doPrint('parseMixin('
|
|
'$beginToken, '
|
|
'$augmentToken, '
|
|
'$baseToken, '
|
|
'$mixinKeyword)');
|
|
indent++;
|
|
var result =
|
|
super.parseMixin(beginToken, augmentToken, baseToken, mixinKeyword);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseMixinHeaderOpt(Token token, Token mixinKeyword) {
|
|
doPrint('parseMixinHeaderOpt(' '$token, ' '$mixinKeyword)');
|
|
indent++;
|
|
var result = super.parseMixinHeaderOpt(token, mixinKeyword);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseMixinHeaderRecovery(
|
|
Token token, Token mixinKeyword, Token headerStart) {
|
|
doPrint('parseMixinHeaderRecovery('
|
|
'$token, '
|
|
'$mixinKeyword, '
|
|
'$headerStart)');
|
|
indent++;
|
|
var result =
|
|
super.parseMixinHeaderRecovery(token, mixinKeyword, headerStart);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseMixinOnOpt(Token token) {
|
|
doPrint('parseMixinOnOpt(' '$token)');
|
|
indent++;
|
|
var result = super.parseMixinOnOpt(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseMixinOn(Token token) {
|
|
doPrint('parseMixinOn(' '$token)');
|
|
indent++;
|
|
var result = super.parseMixinOn(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseExtension(
|
|
Token beginToken, Token? augmentToken, Token extensionKeyword) {
|
|
doPrint('parseExtension('
|
|
'$beginToken, '
|
|
'$augmentToken, '
|
|
'$extensionKeyword)');
|
|
indent++;
|
|
var result =
|
|
super.parseExtension(beginToken, augmentToken, extensionKeyword);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseExtensionDeclaration(Token beginToken, Token token,
|
|
Token? augmentToken, Token extensionKeyword) {
|
|
doPrint('parseExtensionDeclaration('
|
|
'$beginToken, '
|
|
'$token, '
|
|
'$augmentToken, '
|
|
'$extensionKeyword)');
|
|
indent++;
|
|
var result = super.parseExtensionDeclaration(
|
|
beginToken, token, augmentToken, extensionKeyword);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseExtensionTypeDeclaration(Token beginToken, Token token,
|
|
Token? augmentToken, Token extensionKeyword, Token typeKeyword) {
|
|
doPrint('parseExtensionTypeDeclaration('
|
|
'$beginToken, '
|
|
'$token, '
|
|
'$augmentToken, '
|
|
'$extensionKeyword, '
|
|
'$typeKeyword)');
|
|
indent++;
|
|
var result = super.parseExtensionTypeDeclaration(
|
|
beginToken, token, augmentToken, extensionKeyword, typeKeyword);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseStringPart(Token token) {
|
|
doPrint('parseStringPart(' '$token)');
|
|
indent++;
|
|
var result = super.parseStringPart(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token insertSyntheticIdentifier(Token token, IdentifierContext context,
|
|
{codes.Message? message, Token? messageOnToken}) {
|
|
doPrint('insertSyntheticIdentifier('
|
|
'$token, '
|
|
'$context, '
|
|
'message: $message, '
|
|
'messageOnToken: $messageOnToken)');
|
|
indent++;
|
|
var result = super.insertSyntheticIdentifier(token, context,
|
|
message: message, messageOnToken: messageOnToken);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token ensureIdentifier(Token token, IdentifierContext context) {
|
|
doPrint('ensureIdentifier(' '$token, ' '$context)');
|
|
indent++;
|
|
var result = super.ensureIdentifier(token, context);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
bool isNextIdentifier(Token token) {
|
|
doPrint('isNextIdentifier(' '$token)');
|
|
indent++;
|
|
var result = super.isNextIdentifier(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token ensureIdentifierPotentiallyRecovered(
|
|
Token token, IdentifierContext context, bool isRecovered) {
|
|
doPrint('ensureIdentifierPotentiallyRecovered('
|
|
'$token, '
|
|
'$context, '
|
|
'$isRecovered)');
|
|
indent++;
|
|
var result =
|
|
super.ensureIdentifierPotentiallyRecovered(token, context, isRecovered);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
bool notEofOrValue(String value, Token token) {
|
|
doPrint('notEofOrValue(' '$value, ' '$token)');
|
|
indent++;
|
|
var result = super.notEofOrValue(value, token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseTypeVariablesOpt(Token token) {
|
|
doPrint('parseTypeVariablesOpt(' '$token)');
|
|
indent++;
|
|
var result = super.parseTypeVariablesOpt(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseTopLevelMember(Token token) {
|
|
doPrint('parseTopLevelMember(' '$token)');
|
|
indent++;
|
|
var result = super.parseTopLevelMember(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseTopLevelMemberImpl(Token token) {
|
|
doPrint('parseTopLevelMemberImpl(' '$token)');
|
|
indent++;
|
|
var result = super.parseTopLevelMemberImpl(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseFields(
|
|
Token beforeStart,
|
|
Token? abstractToken,
|
|
Token? augmentToken,
|
|
Token? externalToken,
|
|
Token? staticToken,
|
|
Token? covariantToken,
|
|
Token? lateToken,
|
|
Token? varFinalOrConst,
|
|
Token beforeType,
|
|
TypeInfo typeInfo,
|
|
Token name,
|
|
DeclarationKind kind,
|
|
String? enclosingDeclarationName,
|
|
bool nameIsRecovered) {
|
|
doPrint('parseFields('
|
|
'$beforeStart, '
|
|
'$abstractToken, '
|
|
'$augmentToken, '
|
|
'$externalToken, '
|
|
'$staticToken, '
|
|
'$covariantToken, '
|
|
'$lateToken, '
|
|
'$varFinalOrConst, '
|
|
'$beforeType, '
|
|
'$typeInfo, '
|
|
'$name, '
|
|
'$kind, '
|
|
'$enclosingDeclarationName, '
|
|
'$nameIsRecovered)');
|
|
indent++;
|
|
var result = super.parseFields(
|
|
beforeStart,
|
|
abstractToken,
|
|
augmentToken,
|
|
externalToken,
|
|
staticToken,
|
|
covariantToken,
|
|
lateToken,
|
|
varFinalOrConst,
|
|
beforeType,
|
|
typeInfo,
|
|
name,
|
|
kind,
|
|
enclosingDeclarationName,
|
|
nameIsRecovered);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseTopLevelMethod(
|
|
Token beforeStart,
|
|
Token? augmentToken,
|
|
Token? externalToken,
|
|
Token beforeType,
|
|
TypeInfo typeInfo,
|
|
Token? getOrSet,
|
|
Token name,
|
|
bool nameIsRecovered) {
|
|
doPrint('parseTopLevelMethod('
|
|
'$beforeStart, '
|
|
'$augmentToken, '
|
|
'$externalToken, '
|
|
'$beforeType, '
|
|
'$typeInfo, '
|
|
'$getOrSet, '
|
|
'$name, '
|
|
'$nameIsRecovered)');
|
|
indent++;
|
|
var result = super.parseTopLevelMethod(beforeStart, augmentToken,
|
|
externalToken, beforeType, typeInfo, getOrSet, name, nameIsRecovered);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseMethodTypeVar(Token name) {
|
|
doPrint('parseMethodTypeVar(' '$name)');
|
|
indent++;
|
|
var result = super.parseMethodTypeVar(name);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseFieldInitializerOpt(
|
|
Token token,
|
|
Token name,
|
|
Token? lateToken,
|
|
Token? abstractToken,
|
|
Token? augmentToken,
|
|
Token? externalToken,
|
|
Token? varFinalOrConst,
|
|
DeclarationKind kind,
|
|
String? enclosingDeclarationName) {
|
|
doPrint('parseFieldInitializerOpt('
|
|
'$token, '
|
|
'$name, '
|
|
'$lateToken, '
|
|
'$abstractToken, '
|
|
'$augmentToken, '
|
|
'$externalToken, '
|
|
'$varFinalOrConst, '
|
|
'$kind, '
|
|
'$enclosingDeclarationName)');
|
|
indent++;
|
|
var result = super.parseFieldInitializerOpt(
|
|
token,
|
|
name,
|
|
lateToken,
|
|
abstractToken,
|
|
augmentToken,
|
|
externalToken,
|
|
varFinalOrConst,
|
|
kind,
|
|
enclosingDeclarationName);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseVariableInitializerOpt(Token token) {
|
|
doPrint('parseVariableInitializerOpt(' '$token)');
|
|
indent++;
|
|
var result = super.parseVariableInitializerOpt(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseInitializersOpt(Token token) {
|
|
doPrint('parseInitializersOpt(' '$token)');
|
|
indent++;
|
|
var result = super.parseInitializersOpt(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseInitializers(Token token) {
|
|
doPrint('parseInitializers(' '$token)');
|
|
indent++;
|
|
var result = super.parseInitializers(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseInitializer(Token token) {
|
|
doPrint('parseInitializer(' '$token)');
|
|
indent++;
|
|
var result = super.parseInitializer(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseSuperInitializerExpression(final Token start) {
|
|
doPrint('parseSuperInitializerExpression(' '$start)');
|
|
indent++;
|
|
var result = super.parseSuperInitializerExpression(start);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseInitializerExpressionRest(Token token) {
|
|
doPrint('parseInitializerExpressionRest(' '$token)');
|
|
indent++;
|
|
var result = super.parseInitializerExpressionRest(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token ensureBlock(Token token, BlockKind? missingBlockKind) {
|
|
doPrint('ensureBlock(' '$token, ' '$missingBlockKind)');
|
|
indent++;
|
|
var result = super.ensureBlock(token, missingBlockKind);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token insertBlock(Token token) {
|
|
doPrint('insertBlock(' '$token)');
|
|
indent++;
|
|
var result = super.insertBlock(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token ensureCloseParen(Token token, Token openParen) {
|
|
doPrint('ensureCloseParen(' '$token, ' '$openParen)');
|
|
indent++;
|
|
var result = super.ensureCloseParen(token, openParen);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token ensureColon(Token token) {
|
|
doPrint('ensureColon(' '$token)');
|
|
indent++;
|
|
var result = super.ensureColon(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token ensureFunctionArrow(Token token) {
|
|
doPrint('ensureFunctionArrow(' '$token)');
|
|
indent++;
|
|
var result = super.ensureFunctionArrow(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token ensureLiteralString(Token token) {
|
|
doPrint('ensureLiteralString(' '$token)');
|
|
indent++;
|
|
var result = super.ensureLiteralString(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token ensureSemicolon(Token token) {
|
|
doPrint('ensureSemicolon(' '$token)');
|
|
indent++;
|
|
var result = super.ensureSemicolon(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token rewriteAndRecover(Token token, codes.Message message, Token newToken) {
|
|
doPrint('rewriteAndRecover(' '$token, ' '$message, ' '$newToken)');
|
|
indent++;
|
|
var result = super.rewriteAndRecover(token, message, newToken);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token rewriteSquareBrackets(Token token) {
|
|
doPrint('rewriteSquareBrackets(' '$token)');
|
|
indent++;
|
|
var result = super.rewriteSquareBrackets(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token skipUnexpectedTokenOpt(Token token, List<String> expectedNext) {
|
|
doPrint('skipUnexpectedTokenOpt(' '$token, ' '$expectedNext)');
|
|
indent++;
|
|
var result = super.skipUnexpectedTokenOpt(token, expectedNext);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseNativeClause(Token token) {
|
|
doPrint('parseNativeClause(' '$token)');
|
|
indent++;
|
|
var result = super.parseNativeClause(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token skipClassOrMixinOrExtensionBody(Token token) {
|
|
doPrint('skipClassOrMixinOrExtensionBody(' '$token)');
|
|
indent++;
|
|
var result = super.skipClassOrMixinOrExtensionBody(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseClassOrMixinOrExtensionBody(
|
|
Token token, DeclarationKind kind, String? enclosingDeclarationName) {
|
|
doPrint('parseClassOrMixinOrExtensionBody('
|
|
'$token, '
|
|
'$kind, '
|
|
'$enclosingDeclarationName)');
|
|
indent++;
|
|
var result = super.parseClassOrMixinOrExtensionBody(
|
|
token, kind, enclosingDeclarationName);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
bool isUnaryMinus(Token token) {
|
|
doPrint('isUnaryMinus(' '$token)');
|
|
indent++;
|
|
var result = super.isUnaryMinus(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseClassMember(Token token, String? className) {
|
|
doPrint('parseClassMember(' '$token, ' '$className)');
|
|
indent++;
|
|
var result = super.parseClassMember(token, className);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseMixinMember(Token token, String mixinName) {
|
|
doPrint('parseMixinMember(' '$token, ' '$mixinName)');
|
|
indent++;
|
|
var result = super.parseMixinMember(token, mixinName);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseExtensionMember(Token token, String extensionName) {
|
|
doPrint('parseExtensionMember(' '$token, ' '$extensionName)');
|
|
indent++;
|
|
var result = super.parseExtensionMember(token, extensionName);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
bool isReservedKeyword(Token token) {
|
|
doPrint('isReservedKeyword(' '$token)');
|
|
indent++;
|
|
var result = super.isReservedKeyword(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
bool indicatesMethodOrField(Token token) {
|
|
doPrint('indicatesMethodOrField(' '$token)');
|
|
indent++;
|
|
var result = super.indicatesMethodOrField(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseClassOrMixinOrExtensionOrEnumMemberImpl(
|
|
Token token, DeclarationKind kind, String? enclosingDeclarationName) {
|
|
doPrint('parseClassOrMixinOrExtensionOrEnumMemberImpl('
|
|
'$token, '
|
|
'$kind, '
|
|
'$enclosingDeclarationName)');
|
|
indent++;
|
|
var result = super.parseClassOrMixinOrExtensionOrEnumMemberImpl(
|
|
token, kind, enclosingDeclarationName);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseMethod(
|
|
Token beforeStart,
|
|
Token? abstractToken,
|
|
Token? augmentToken,
|
|
Token? externalToken,
|
|
Token? staticToken,
|
|
Token? covariantToken,
|
|
Token? lateToken,
|
|
Token? varFinalOrConst,
|
|
Token beforeType,
|
|
TypeInfo typeInfo,
|
|
Token? getOrSet,
|
|
Token name,
|
|
DeclarationKind kind,
|
|
String? enclosingDeclarationName,
|
|
bool nameIsRecovered) {
|
|
doPrint('parseMethod('
|
|
'$beforeStart, '
|
|
'$abstractToken, '
|
|
'$augmentToken, '
|
|
'$externalToken, '
|
|
'$staticToken, '
|
|
'$covariantToken, '
|
|
'$lateToken, '
|
|
'$varFinalOrConst, '
|
|
'$beforeType, '
|
|
'$typeInfo, '
|
|
'$getOrSet, '
|
|
'$name, '
|
|
'$kind, '
|
|
'$enclosingDeclarationName, '
|
|
'$nameIsRecovered)');
|
|
indent++;
|
|
var result = super.parseMethod(
|
|
beforeStart,
|
|
abstractToken,
|
|
augmentToken,
|
|
externalToken,
|
|
staticToken,
|
|
covariantToken,
|
|
lateToken,
|
|
varFinalOrConst,
|
|
beforeType,
|
|
typeInfo,
|
|
getOrSet,
|
|
name,
|
|
kind,
|
|
enclosingDeclarationName,
|
|
nameIsRecovered);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseFactoryMethod(Token token, DeclarationKind kind, Token beforeStart,
|
|
Token? externalToken, Token? staticOrCovariant, Token? varFinalOrConst) {
|
|
doPrint('parseFactoryMethod('
|
|
'$token, '
|
|
'$kind, '
|
|
'$beforeStart, '
|
|
'$externalToken, '
|
|
'$staticOrCovariant, '
|
|
'$varFinalOrConst)');
|
|
indent++;
|
|
var result = super.parseFactoryMethod(token, kind, beforeStart,
|
|
externalToken, staticOrCovariant, varFinalOrConst);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseOperatorName(Token token) {
|
|
doPrint('parseOperatorName(' '$token)');
|
|
indent++;
|
|
var result = super.parseOperatorName(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseFunctionExpression(Token token) {
|
|
doPrint('parseFunctionExpression(' '$token)');
|
|
indent++;
|
|
var result = super.parseFunctionExpression(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseFunctionLiteral(
|
|
Token start,
|
|
Token beforeName,
|
|
Token name,
|
|
TypeInfo typeInfo,
|
|
TypeParamOrArgInfo typeParam,
|
|
IdentifierContext context) {
|
|
doPrint('parseFunctionLiteral('
|
|
'$start, '
|
|
'$beforeName, '
|
|
'$name, '
|
|
'$typeInfo, '
|
|
'$typeParam, '
|
|
'$context)');
|
|
indent++;
|
|
var result = super.parseFunctionLiteral(
|
|
start, beforeName, name, typeInfo, typeParam, context);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseNamedFunctionRest(
|
|
Token beforeName, Token begin, Token formals, bool isFunctionExpression) {
|
|
doPrint('parseNamedFunctionRest('
|
|
'$beforeName, '
|
|
'$begin, '
|
|
'$formals, '
|
|
'$isFunctionExpression)');
|
|
indent++;
|
|
var result = super.parseNamedFunctionRest(
|
|
beforeName, begin, formals, isFunctionExpression);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseAsyncOptBody(
|
|
Token token, bool ofFunctionExpression, bool allowAbstract) {
|
|
doPrint('parseAsyncOptBody('
|
|
'$token, '
|
|
'$ofFunctionExpression, '
|
|
'$allowAbstract)');
|
|
indent++;
|
|
var result =
|
|
super.parseAsyncOptBody(token, ofFunctionExpression, allowAbstract);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseConstructorReference(
|
|
Token token, ConstructorReferenceContext constructorReferenceContext,
|
|
[TypeParamOrArgInfo? typeArg]) {
|
|
doPrint('parseConstructorReference('
|
|
'$token, '
|
|
'$constructorReferenceContext, '
|
|
'$typeArg)');
|
|
indent++;
|
|
var result = super
|
|
.parseConstructorReference(token, constructorReferenceContext, typeArg);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseRedirectingFactoryBody(Token token) {
|
|
doPrint('parseRedirectingFactoryBody(' '$token)');
|
|
indent++;
|
|
var result = super.parseRedirectingFactoryBody(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token skipFunctionBody(Token token, bool isExpression, bool allowAbstract) {
|
|
doPrint('skipFunctionBody(' '$token, ' '$isExpression, ' '$allowAbstract)');
|
|
indent++;
|
|
var result = super.skipFunctionBody(token, isExpression, allowAbstract);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseFunctionBody(
|
|
Token token, bool ofFunctionExpression, bool allowAbstract) {
|
|
doPrint('parseFunctionBody('
|
|
'$token, '
|
|
'$ofFunctionExpression, '
|
|
'$allowAbstract)');
|
|
indent++;
|
|
var result =
|
|
super.parseFunctionBody(token, ofFunctionExpression, allowAbstract);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseExpressionFunctionBody(Token token, bool ofFunctionExpression) {
|
|
doPrint('parseExpressionFunctionBody(' '$token, ' '$ofFunctionExpression)');
|
|
indent++;
|
|
var result = super.parseExpressionFunctionBody(token, ofFunctionExpression);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token skipAsyncModifier(Token token) {
|
|
doPrint('skipAsyncModifier(' '$token)');
|
|
indent++;
|
|
var result = super.skipAsyncModifier(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseAsyncModifierOpt(Token token) {
|
|
doPrint('parseAsyncModifierOpt(' '$token)');
|
|
indent++;
|
|
var result = super.parseAsyncModifierOpt(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseStatement(Token token) {
|
|
doPrint('parseStatement(' '$token)');
|
|
indent++;
|
|
var result = super.parseStatement(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseStatementX(Token token) {
|
|
doPrint('parseStatementX(' '$token)');
|
|
indent++;
|
|
var result = super.parseStatementX(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseYieldStatement(Token token) {
|
|
doPrint('parseYieldStatement(' '$token)');
|
|
indent++;
|
|
var result = super.parseYieldStatement(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseReturnStatement(Token token) {
|
|
doPrint('parseReturnStatement(' '$token)');
|
|
indent++;
|
|
var result = super.parseReturnStatement(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseLabel(Token token) {
|
|
doPrint('parseLabel(' '$token)');
|
|
indent++;
|
|
var result = super.parseLabel(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseLabeledStatement(Token token) {
|
|
doPrint('parseLabeledStatement(' '$token)');
|
|
indent++;
|
|
var result = super.parseLabeledStatement(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseExpressionStatement(Token token) {
|
|
doPrint('parseExpressionStatement(' '$token)');
|
|
indent++;
|
|
var result = super.parseExpressionStatement(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseExpression(Token token) {
|
|
doPrint('parseExpression(' '$token)');
|
|
indent++;
|
|
var result = super.parseExpression(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseExpressionWithoutCascade(Token token) {
|
|
doPrint('parseExpressionWithoutCascade(' '$token)');
|
|
indent++;
|
|
var result = super.parseExpressionWithoutCascade(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
bool canParseAsConditional(Token question) {
|
|
doPrint('canParseAsConditional(' '$question)');
|
|
indent++;
|
|
var result = super.canParseAsConditional(question);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseConditionalExpressionRest(Token token) {
|
|
doPrint('parseConditionalExpressionRest(' '$token)');
|
|
indent++;
|
|
var result = super.parseConditionalExpressionRest(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parsePrecedenceExpression(Token token, int precedence,
|
|
bool allowCascades, ConstantPatternContext constantPatternContext) {
|
|
doPrint('parsePrecedenceExpression('
|
|
'$token, '
|
|
'$precedence, '
|
|
'$allowCascades, '
|
|
'$constantPatternContext)');
|
|
indent++;
|
|
var result = super.parsePrecedenceExpression(
|
|
token, precedence, allowCascades, constantPatternContext);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseCascadeExpression(Token token) {
|
|
doPrint('parseCascadeExpression(' '$token)');
|
|
indent++;
|
|
var result = super.parseCascadeExpression(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseUnaryExpression(Token token, bool allowCascades,
|
|
ConstantPatternContext constantPatternContext) {
|
|
doPrint('parseUnaryExpression('
|
|
'$token, '
|
|
'$allowCascades, '
|
|
'$constantPatternContext)');
|
|
indent++;
|
|
var result = super
|
|
.parseUnaryExpression(token, allowCascades, constantPatternContext);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseArgumentOrIndexStar(
|
|
Token token, TypeParamOrArgInfo typeArg, bool checkedNullAware) {
|
|
doPrint('parseArgumentOrIndexStar('
|
|
'$token, '
|
|
'$typeArg, '
|
|
'$checkedNullAware)');
|
|
indent++;
|
|
var result =
|
|
super.parseArgumentOrIndexStar(token, typeArg, checkedNullAware);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parsePrimary(Token token, IdentifierContext context,
|
|
ConstantPatternContext constantPatternContext) {
|
|
doPrint('parsePrimary(' '$token, ' '$context, ' '$constantPatternContext)');
|
|
indent++;
|
|
var result = super.parsePrimary(token, context, constantPatternContext);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseParenthesizedExpressionFunctionLiteralOrRecordLiteral(
|
|
Token token, ConstantPatternContext constantPatternContext) {
|
|
doPrint('parseParenthesizedExpressionFunctionLiteralOrRecordLiteral('
|
|
'$token, '
|
|
'$constantPatternContext)');
|
|
indent++;
|
|
var result = super
|
|
.parseParenthesizedExpressionFunctionLiteralOrRecordLiteral(
|
|
token, constantPatternContext);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token ensureParenthesizedCondition(Token token, {required bool allowCase}) {
|
|
doPrint(
|
|
'ensureParenthesizedCondition(' '$token, ' 'allowCase: $allowCase)');
|
|
indent++;
|
|
var result =
|
|
super.ensureParenthesizedCondition(token, allowCase: allowCase);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseParenthesizedExpressionOrRecordLiteral(
|
|
Token token,
|
|
Token? constKeywordForRecord,
|
|
ConstantPatternContext constantPatternContext) {
|
|
doPrint('parseParenthesizedExpressionOrRecordLiteral('
|
|
'$token, '
|
|
'$constKeywordForRecord, '
|
|
'$constantPatternContext)');
|
|
indent++;
|
|
var result = super.parseParenthesizedExpressionOrRecordLiteral(
|
|
token, constKeywordForRecord, constantPatternContext);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseExpressionInParenthesisRest(Token token,
|
|
{required bool allowCase}) {
|
|
doPrint('parseExpressionInParenthesisRest('
|
|
'$token, '
|
|
'allowCase: $allowCase)');
|
|
indent++;
|
|
var result =
|
|
super.parseExpressionInParenthesisRest(token, allowCase: allowCase);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseThisExpression(Token token, IdentifierContext context) {
|
|
doPrint('parseThisExpression(' '$token, ' '$context)');
|
|
indent++;
|
|
var result = super.parseThisExpression(token, context);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseSuperExpression(Token token, IdentifierContext context) {
|
|
doPrint('parseSuperExpression(' '$token, ' '$context)');
|
|
indent++;
|
|
var result = super.parseSuperExpression(token, context);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseAugmentSuperExpression(Token token, IdentifierContext context) {
|
|
doPrint('parseAugmentSuperExpression(' '$token, ' '$context)');
|
|
indent++;
|
|
var result = super.parseAugmentSuperExpression(token, context);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseLiteralListSuffix(Token token, Token? constKeyword) {
|
|
doPrint('parseLiteralListSuffix(' '$token, ' '$constKeyword)');
|
|
indent++;
|
|
var result = super.parseLiteralListSuffix(token, constKeyword);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseLiteralSetOrMapSuffix(Token token, Token? constKeyword) {
|
|
doPrint('parseLiteralSetOrMapSuffix(' '$token, ' '$constKeyword)');
|
|
indent++;
|
|
var result = super.parseLiteralSetOrMapSuffix(token, constKeyword);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseLiteralFunctionSuffix(Token token) {
|
|
doPrint('parseLiteralFunctionSuffix(' '$token)');
|
|
indent++;
|
|
var result = super.parseLiteralFunctionSuffix(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseLiteralListSetMapOrFunction(
|
|
final Token start, Token? constKeyword) {
|
|
doPrint('parseLiteralListSetMapOrFunction(' '$start, ' '$constKeyword)');
|
|
indent++;
|
|
var result = super.parseLiteralListSetMapOrFunction(start, constKeyword);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseMapLiteralEntry(Token token) {
|
|
doPrint('parseMapLiteralEntry(' '$token)');
|
|
indent++;
|
|
var result = super.parseMapLiteralEntry(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseSendOrFunctionLiteral(Token token, IdentifierContext context,
|
|
ConstantPatternContext constantPatternContext) {
|
|
doPrint('parseSendOrFunctionLiteral('
|
|
'$token, '
|
|
'$context, '
|
|
'$constantPatternContext)');
|
|
indent++;
|
|
var result = super
|
|
.parseSendOrFunctionLiteral(token, context, constantPatternContext);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token ensureArguments(Token token) {
|
|
doPrint('ensureArguments(' '$token)');
|
|
indent++;
|
|
var result = super.ensureArguments(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseConstructorInvocationArguments(Token token) {
|
|
doPrint('parseConstructorInvocationArguments(' '$token)');
|
|
indent++;
|
|
var result = super.parseConstructorInvocationArguments(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseNewExpression(Token token) {
|
|
doPrint('parseNewExpression(' '$token)');
|
|
indent++;
|
|
var result = super.parseNewExpression(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseImplicitCreationExpression(
|
|
Token token, Token openAngleBracket, TypeParamOrArgInfo typeArg) {
|
|
doPrint('parseImplicitCreationExpression('
|
|
'$token, '
|
|
'$openAngleBracket, '
|
|
'$typeArg)');
|
|
indent++;
|
|
var result =
|
|
super.parseImplicitCreationExpression(token, openAngleBracket, typeArg);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseConstExpression(Token token) {
|
|
doPrint('parseConstExpression(' '$token)');
|
|
indent++;
|
|
var result = super.parseConstExpression(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseLiteralInt(Token token) {
|
|
doPrint('parseLiteralInt(' '$token)');
|
|
indent++;
|
|
var result = super.parseLiteralInt(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseLiteralIntWithSeparators(Token token) {
|
|
doPrint('parseLiteralIntWithSeparators(' '$token)');
|
|
indent++;
|
|
var result = super.parseLiteralIntWithSeparators(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseLiteralDouble(Token token) {
|
|
doPrint('parseLiteralDouble(' '$token)');
|
|
indent++;
|
|
var result = super.parseLiteralDouble(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseLiteralDoubleWithSeparators(Token token) {
|
|
doPrint('parseLiteralDoubleWithSeparators(' '$token)');
|
|
indent++;
|
|
var result = super.parseLiteralDoubleWithSeparators(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseLiteralString(Token token) {
|
|
doPrint('parseLiteralString(' '$token)');
|
|
indent++;
|
|
var result = super.parseLiteralString(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseLiteralSymbol(Token token) {
|
|
doPrint('parseLiteralSymbol(' '$token)');
|
|
indent++;
|
|
var result = super.parseLiteralSymbol(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseSingleLiteralString(Token token) {
|
|
doPrint('parseSingleLiteralString(' '$token)');
|
|
indent++;
|
|
var result = super.parseSingleLiteralString(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseIdentifierExpression(Token token) {
|
|
doPrint('parseIdentifierExpression(' '$token)');
|
|
indent++;
|
|
var result = super.parseIdentifierExpression(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseLiteralBool(Token token) {
|
|
doPrint('parseLiteralBool(' '$token)');
|
|
indent++;
|
|
var result = super.parseLiteralBool(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseLiteralNull(Token token) {
|
|
doPrint('parseLiteralNull(' '$token)');
|
|
indent++;
|
|
var result = super.parseLiteralNull(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseSend(Token token, IdentifierContext context,
|
|
ConstantPatternContext constantPatternContext) {
|
|
doPrint('parseSend(' '$token, ' '$context, ' '$constantPatternContext)');
|
|
indent++;
|
|
var result = super.parseSend(token, context, constantPatternContext);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token skipArgumentsOpt(Token token) {
|
|
doPrint('skipArgumentsOpt(' '$token)');
|
|
indent++;
|
|
var result = super.skipArgumentsOpt(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseArgumentsOptMetadata(Token token, bool hasTypeArguments) {
|
|
doPrint('parseArgumentsOptMetadata(' '$token, ' '$hasTypeArguments)');
|
|
indent++;
|
|
var result = super.parseArgumentsOptMetadata(token, hasTypeArguments);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseArgumentsOpt(Token token) {
|
|
doPrint('parseArgumentsOpt(' '$token)');
|
|
indent++;
|
|
var result = super.parseArgumentsOpt(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseArguments(Token token) {
|
|
doPrint('parseArguments(' '$token)');
|
|
indent++;
|
|
var result = super.parseArguments(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseArgumentsRest(Token token) {
|
|
doPrint('parseArgumentsRest(' '$token)');
|
|
indent++;
|
|
var result = super.parseArgumentsRest(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseIsOperatorRest(Token token) {
|
|
doPrint('parseIsOperatorRest(' '$token)');
|
|
indent++;
|
|
var result = super.parseIsOperatorRest(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
TypeInfo computeTypeAfterIsOrAs(Token token) {
|
|
doPrint('computeTypeAfterIsOrAs(' '$token)');
|
|
indent++;
|
|
var result = super.computeTypeAfterIsOrAs(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseAsOperatorRest(Token token) {
|
|
doPrint('parseAsOperatorRest(' '$token)');
|
|
indent++;
|
|
var result = super.parseAsOperatorRest(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token skipChainedAsIsOperators(Token token) {
|
|
doPrint('skipChainedAsIsOperators(' '$token)');
|
|
indent++;
|
|
var result = super.skipChainedAsIsOperators(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
bool looksLikeLocalFunction(Token token) {
|
|
doPrint('looksLikeLocalFunction(' '$token)');
|
|
indent++;
|
|
var result = super.looksLikeLocalFunction(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
bool looksLikeFunctionBody(Token token) {
|
|
doPrint('looksLikeFunctionBody(' '$token)');
|
|
indent++;
|
|
var result = super.looksLikeFunctionBody(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseExpressionStatementOrConstDeclaration(final Token start) {
|
|
doPrint('parseExpressionStatementOrConstDeclaration(' '$start)');
|
|
indent++;
|
|
var result = super.parseExpressionStatementOrConstDeclaration(start);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseExpressionStatementOrDeclaration(final Token start,
|
|
[ForPartsContext? forPartsContext]) {
|
|
doPrint('parseExpressionStatementOrDeclaration('
|
|
'$start, '
|
|
'$forPartsContext)');
|
|
indent++;
|
|
var result =
|
|
super.parseExpressionStatementOrDeclaration(start, forPartsContext);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseExpressionStatementOrDeclarationAfterModifiers(Token beforeType,
|
|
Token start, Token? lateToken, Token? varFinalOrConst, TypeInfo? typeInfo,
|
|
[ForPartsContext? forPartsContext]) {
|
|
doPrint('parseExpressionStatementOrDeclarationAfterModifiers('
|
|
'$beforeType, '
|
|
'$start, '
|
|
'$lateToken, '
|
|
'$varFinalOrConst, '
|
|
'$typeInfo, '
|
|
'$forPartsContext)');
|
|
indent++;
|
|
var result = super.parseExpressionStatementOrDeclarationAfterModifiers(
|
|
beforeType,
|
|
start,
|
|
lateToken,
|
|
varFinalOrConst,
|
|
typeInfo,
|
|
forPartsContext);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseVariablesDeclarationRest(Token token, bool endWithSemicolon) {
|
|
doPrint('parseVariablesDeclarationRest(' '$token, ' '$endWithSemicolon)');
|
|
indent++;
|
|
var result = super.parseVariablesDeclarationRest(token, endWithSemicolon);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseOptionallyInitializedIdentifier(Token token) {
|
|
doPrint('parseOptionallyInitializedIdentifier(' '$token)');
|
|
indent++;
|
|
var result = super.parseOptionallyInitializedIdentifier(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseIfStatement(Token token) {
|
|
doPrint('parseIfStatement(' '$token)');
|
|
indent++;
|
|
var result = super.parseIfStatement(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseForStatement(Token token, Token? awaitToken) {
|
|
doPrint('parseForStatement(' '$token, ' '$awaitToken)');
|
|
indent++;
|
|
var result = super.parseForStatement(token, awaitToken);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseForLoopPartsStart(
|
|
Token? awaitToken, Token forToken, ForPartsContext forPartsContext) {
|
|
doPrint('parseForLoopPartsStart('
|
|
'$awaitToken, '
|
|
'$forToken, '
|
|
'$forPartsContext)');
|
|
indent++;
|
|
var result =
|
|
super.parseForLoopPartsStart(awaitToken, forToken, forPartsContext);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseForLoopPartsMid(Token token, Token? awaitToken, Token forToken) {
|
|
doPrint('parseForLoopPartsMid(' '$token, ' '$awaitToken, ' '$forToken)');
|
|
indent++;
|
|
var result = super.parseForLoopPartsMid(token, awaitToken, forToken);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseForRest(Token? awaitToken, Token token, Token forToken) {
|
|
doPrint('parseForRest(' '$awaitToken, ' '$token, ' '$forToken)');
|
|
indent++;
|
|
var result = super.parseForRest(awaitToken, token, forToken);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseForLoopPartsRest(Token token, Token forToken, Token? awaitToken) {
|
|
doPrint('parseForLoopPartsRest(' '$token, ' '$forToken, ' '$awaitToken)');
|
|
indent++;
|
|
var result = super.parseForLoopPartsRest(token, forToken, awaitToken);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseForInRest(Token token, Token? awaitToken, Token forToken,
|
|
Token? patternKeyword, Token? identifier) {
|
|
doPrint('parseForInRest('
|
|
'$token, '
|
|
'$awaitToken, '
|
|
'$forToken, '
|
|
'$patternKeyword, '
|
|
'$identifier)');
|
|
indent++;
|
|
var result = super.parseForInRest(
|
|
token, awaitToken, forToken, patternKeyword, identifier);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseForInLoopPartsRest(Token token, Token? awaitToken, Token forToken,
|
|
Token? patternKeyword, Token? identifier) {
|
|
doPrint('parseForInLoopPartsRest('
|
|
'$token, '
|
|
'$awaitToken, '
|
|
'$forToken, '
|
|
'$patternKeyword, '
|
|
'$identifier)');
|
|
indent++;
|
|
var result = super.parseForInLoopPartsRest(
|
|
token, awaitToken, forToken, patternKeyword, identifier);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseWhileStatement(Token token) {
|
|
doPrint('parseWhileStatement(' '$token)');
|
|
indent++;
|
|
var result = super.parseWhileStatement(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseDoWhileStatement(Token token) {
|
|
doPrint('parseDoWhileStatement(' '$token)');
|
|
indent++;
|
|
var result = super.parseDoWhileStatement(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseBlock(Token token, BlockKind blockKind) {
|
|
doPrint('parseBlock(' '$token, ' '$blockKind)');
|
|
indent++;
|
|
var result = super.parseBlock(token, blockKind);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseInvalidBlock(Token token) {
|
|
doPrint('parseInvalidBlock(' '$token)');
|
|
indent++;
|
|
var result = super.parseInvalidBlock(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
bool looksLikeExpressionAfterAwaitOrYield(
|
|
Token token, AwaitOrYieldContext context) {
|
|
doPrint('looksLikeExpressionAfterAwaitOrYield(' '$token, ' '$context)');
|
|
indent++;
|
|
var result = super.looksLikeExpressionAfterAwaitOrYield(token, context);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
bool looksLikeAwaitExpression(Token token, AwaitOrYieldContext context) {
|
|
doPrint('looksLikeAwaitExpression(' '$token, ' '$context)');
|
|
indent++;
|
|
var result = super.looksLikeAwaitExpression(token, context);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
bool looksLikeYieldStatement(Token token, AwaitOrYieldContext context) {
|
|
doPrint('looksLikeYieldStatement(' '$token, ' '$context)');
|
|
indent++;
|
|
var result = super.looksLikeYieldStatement(token, context);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseAwaitExpression(Token token, bool allowCascades) {
|
|
doPrint('parseAwaitExpression(' '$token, ' '$allowCascades)');
|
|
indent++;
|
|
var result = super.parseAwaitExpression(token, allowCascades);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseThrowExpression(Token token, bool allowCascades) {
|
|
doPrint('parseThrowExpression(' '$token, ' '$allowCascades)');
|
|
indent++;
|
|
var result = super.parseThrowExpression(token, allowCascades);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseRethrowStatement(Token token) {
|
|
doPrint('parseRethrowStatement(' '$token)');
|
|
indent++;
|
|
var result = super.parseRethrowStatement(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseTryStatement(Token token) {
|
|
doPrint('parseTryStatement(' '$token)');
|
|
indent++;
|
|
var result = super.parseTryStatement(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseSwitchStatement(Token token) {
|
|
doPrint('parseSwitchStatement(' '$token)');
|
|
indent++;
|
|
var result = super.parseSwitchStatement(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseSwitchBlock(Token token) {
|
|
doPrint('parseSwitchBlock(' '$token)');
|
|
indent++;
|
|
var result = super.parseSwitchBlock(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token peekPastLabels(Token token) {
|
|
doPrint('peekPastLabels(' '$token)');
|
|
indent++;
|
|
var result = super.peekPastLabels(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseStatementsInSwitchCase(
|
|
Token token,
|
|
Token peek,
|
|
Token begin,
|
|
int labelCount,
|
|
int expressionCount,
|
|
Token? defaultKeyword,
|
|
Token? colonAfterDefault) {
|
|
doPrint('parseStatementsInSwitchCase('
|
|
'$token, '
|
|
'$peek, '
|
|
'$begin, '
|
|
'$labelCount, '
|
|
'$expressionCount, '
|
|
'$defaultKeyword, '
|
|
'$colonAfterDefault)');
|
|
indent++;
|
|
var result = super.parseStatementsInSwitchCase(token, peek, begin,
|
|
labelCount, expressionCount, defaultKeyword, colonAfterDefault);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseBreakStatement(Token token) {
|
|
doPrint('parseBreakStatement(' '$token)');
|
|
indent++;
|
|
var result = super.parseBreakStatement(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseAssert(Token token, Assert kind) {
|
|
doPrint('parseAssert(' '$token, ' '$kind)');
|
|
indent++;
|
|
var result = super.parseAssert(token, kind);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseAssertStatement(Token token) {
|
|
doPrint('parseAssertStatement(' '$token)');
|
|
indent++;
|
|
var result = super.parseAssertStatement(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseContinueStatement(Token token) {
|
|
doPrint('parseContinueStatement(' '$token)');
|
|
indent++;
|
|
var result = super.parseContinueStatement(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseEmptyStatement(Token token) {
|
|
doPrint('parseEmptyStatement(' '$token)');
|
|
indent++;
|
|
var result = super.parseEmptyStatement(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token previousToken(Token beforeToken, Token token) {
|
|
doPrint('previousToken(' '$beforeToken, ' '$token)');
|
|
indent++;
|
|
var result = super.previousToken(beforeToken, token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseInvalidOperatorDeclaration(
|
|
Token beforeStart,
|
|
Token? abstractToken,
|
|
Token? augmentToken,
|
|
Token? externalToken,
|
|
Token? staticToken,
|
|
Token? covariantToken,
|
|
Token? lateToken,
|
|
Token? varFinalOrConst,
|
|
Token beforeType,
|
|
DeclarationKind kind,
|
|
String? enclosingDeclarationName) {
|
|
doPrint('parseInvalidOperatorDeclaration('
|
|
'$beforeStart, '
|
|
'$abstractToken, '
|
|
'$augmentToken, '
|
|
'$externalToken, '
|
|
'$staticToken, '
|
|
'$covariantToken, '
|
|
'$lateToken, '
|
|
'$varFinalOrConst, '
|
|
'$beforeType, '
|
|
'$kind, '
|
|
'$enclosingDeclarationName)');
|
|
indent++;
|
|
var result = super.parseInvalidOperatorDeclaration(
|
|
beforeStart,
|
|
abstractToken,
|
|
augmentToken,
|
|
externalToken,
|
|
staticToken,
|
|
covariantToken,
|
|
lateToken,
|
|
varFinalOrConst,
|
|
beforeType,
|
|
kind,
|
|
enclosingDeclarationName);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token recoverFromInvalidMember(
|
|
Token token,
|
|
Token beforeStart,
|
|
Token? abstractToken,
|
|
Token? augmentToken,
|
|
Token? externalToken,
|
|
Token? staticToken,
|
|
Token? covariantToken,
|
|
Token? lateToken,
|
|
Token? varFinalOrConst,
|
|
Token beforeType,
|
|
TypeInfo typeInfo,
|
|
Token? getOrSet,
|
|
DeclarationKind kind,
|
|
String? enclosingDeclarationName) {
|
|
doPrint('recoverFromInvalidMember('
|
|
'$token, '
|
|
'$beforeStart, '
|
|
'$abstractToken, '
|
|
'$augmentToken, '
|
|
'$externalToken, '
|
|
'$staticToken, '
|
|
'$covariantToken, '
|
|
'$lateToken, '
|
|
'$varFinalOrConst, '
|
|
'$beforeType, '
|
|
'$typeInfo, '
|
|
'$getOrSet, '
|
|
'$kind, '
|
|
'$enclosingDeclarationName)');
|
|
indent++;
|
|
var result = super.recoverFromInvalidMember(
|
|
token,
|
|
beforeStart,
|
|
abstractToken,
|
|
augmentToken,
|
|
externalToken,
|
|
staticToken,
|
|
covariantToken,
|
|
lateToken,
|
|
varFinalOrConst,
|
|
beforeType,
|
|
typeInfo,
|
|
getOrSet,
|
|
kind,
|
|
enclosingDeclarationName);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token recoverFromStackOverflow(Token token) {
|
|
doPrint('recoverFromStackOverflow(' '$token)');
|
|
indent++;
|
|
var result = super.recoverFromStackOverflow(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
void reportRecoverableError(Token token, codes.Message message) {
|
|
doPrint('reportRecoverableError(' '$token, ' '$message)');
|
|
indent++;
|
|
var result = super.reportRecoverableError(token, message);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
void reportRecoverableErrorWithEnd(
|
|
Token startToken, Token endToken, codes.Message message) {
|
|
doPrint('reportRecoverableErrorWithEnd('
|
|
'$startToken, '
|
|
'$endToken, '
|
|
'$message)');
|
|
indent++;
|
|
var result =
|
|
super.reportRecoverableErrorWithEnd(startToken, endToken, message);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
void reportExperimentNotEnabled(
|
|
ExperimentalFlag experimentalFlag, Token startToken, Token endToken) {
|
|
doPrint('reportExperimentNotEnabled('
|
|
'$experimentalFlag, '
|
|
'$startToken, '
|
|
'$endToken)');
|
|
indent++;
|
|
var result = super
|
|
.reportExperimentNotEnabled(experimentalFlag, startToken, endToken);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
void reportRecoverableErrorWithToken(Token token, dynamic template) {
|
|
doPrint('reportRecoverableErrorWithToken(' '$token, ' '$template)');
|
|
indent++;
|
|
var result = super.reportRecoverableErrorWithToken(token, template);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token reportAllErrorTokens(Token token) {
|
|
doPrint('reportAllErrorTokens(' '$token)');
|
|
indent++;
|
|
var result = super.reportAllErrorTokens(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token skipErrorTokens(Token token) {
|
|
doPrint('skipErrorTokens(' '$token)');
|
|
indent++;
|
|
var result = super.skipErrorTokens(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseInvalidTopLevelDeclaration(Token token) {
|
|
doPrint('parseInvalidTopLevelDeclaration(' '$token)');
|
|
indent++;
|
|
var result = super.parseInvalidTopLevelDeclaration(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token reportAndSkipClassInClass(Token token) {
|
|
doPrint('reportAndSkipClassInClass(' '$token)');
|
|
indent++;
|
|
var result = super.reportAndSkipClassInClass(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token reportAndSkipEnumInClass(Token token) {
|
|
doPrint('reportAndSkipEnumInClass(' '$token)');
|
|
indent++;
|
|
var result = super.reportAndSkipEnumInClass(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token reportAndSkipTypedefInClass(Token token) {
|
|
doPrint('reportAndSkipTypedefInClass(' '$token)');
|
|
indent++;
|
|
var result = super.reportAndSkipTypedefInClass(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token link(BeginToken beginToken, Token endToken) {
|
|
doPrint('link(' '$beginToken, ' '$endToken)');
|
|
indent++;
|
|
var result = super.link(beginToken, endToken);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token syntheticPreviousToken(Token token) {
|
|
doPrint('syntheticPreviousToken(' '$token)');
|
|
indent++;
|
|
var result = super.syntheticPreviousToken(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token? findDartDoc(Token token) {
|
|
doPrint('findDartDoc(' '$token)');
|
|
indent++;
|
|
var result = super.findDartDoc(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parsePattern(Token token, PatternContext patternContext,
|
|
{int precedence = 1}) {
|
|
doPrint('parsePattern('
|
|
'$token, '
|
|
'$patternContext, '
|
|
'precedence: $precedence)');
|
|
indent++;
|
|
var result =
|
|
super.parsePattern(token, patternContext, precedence: precedence);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parsePrimaryPattern(Token token, PatternContext patternContext) {
|
|
doPrint('parsePrimaryPattern(' '$token, ' '$patternContext)');
|
|
indent++;
|
|
var result = super.parsePrimaryPattern(token, patternContext);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseVariablePattern(Token token, PatternContext patternContext,
|
|
{TypeInfo typeInfo = noType}) {
|
|
doPrint('parseVariablePattern('
|
|
'$token, '
|
|
'$patternContext, '
|
|
'typeInfo: $typeInfo)');
|
|
indent++;
|
|
var result =
|
|
super.parseVariablePattern(token, patternContext, typeInfo: typeInfo);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseListPatternSuffix(Token token, PatternContext patternContext) {
|
|
doPrint('parseListPatternSuffix(' '$token, ' '$patternContext)');
|
|
indent++;
|
|
var result = super.parseListPatternSuffix(token, patternContext);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseMapPatternSuffix(Token token, PatternContext patternContext) {
|
|
doPrint('parseMapPatternSuffix(' '$token, ' '$patternContext)');
|
|
indent++;
|
|
var result = super.parseMapPatternSuffix(token, patternContext);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseParenthesizedPatternOrRecordPattern(
|
|
Token token, PatternContext patternContext) {
|
|
doPrint('parseParenthesizedPatternOrRecordPattern('
|
|
'$token, '
|
|
'$patternContext)');
|
|
indent++;
|
|
var result =
|
|
super.parseParenthesizedPatternOrRecordPattern(token, patternContext);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseObjectPatternRest(Token token, PatternContext patternContext) {
|
|
doPrint('parseObjectPatternRest(' '$token, ' '$patternContext)');
|
|
indent++;
|
|
var result = super.parseObjectPatternRest(token, patternContext);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
bool looksLikeOuterPatternEquals(Token token) {
|
|
doPrint('looksLikeOuterPatternEquals(' '$token)');
|
|
indent++;
|
|
var result = super.looksLikeOuterPatternEquals(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token? skipOuterPattern(Token token) {
|
|
doPrint('skipOuterPattern(' '$token)');
|
|
indent++;
|
|
var result = super.skipOuterPattern(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token? skipObjectPatternRest(Token token) {
|
|
doPrint('skipObjectPatternRest(' '$token)');
|
|
indent++;
|
|
var result = super.skipObjectPatternRest(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parsePatternVariableDeclarationStatement(
|
|
Token keyword, Token start, Token varOrFinal) {
|
|
doPrint('parsePatternVariableDeclarationStatement('
|
|
'$keyword, '
|
|
'$start, '
|
|
'$varOrFinal)');
|
|
indent++;
|
|
var result = super
|
|
.parsePatternVariableDeclarationStatement(keyword, start, varOrFinal);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parsePatternAssignment(Token token) {
|
|
doPrint('parsePatternAssignment(' '$token)');
|
|
indent++;
|
|
var result = super.parsePatternAssignment(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseSwitchExpression(Token token) {
|
|
doPrint('parseSwitchExpression(' '$token)');
|
|
indent++;
|
|
var result = super.parseSwitchExpression(token);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token? findNextCommaOrSemicolon(Token token, Token limit) {
|
|
doPrint('findNextCommaOrSemicolon(' '$token, ' '$limit)');
|
|
indent++;
|
|
var result = super.findNextCommaOrSemicolon(token, limit);
|
|
indent--;
|
|
return result;
|
|
}
|
|
}
|