189f25b873
(Part of https://github.com/dart-lang/sdk/issues/63288) This change makes the code generators in the front_end package emit code that uses the new constructor declaration syntax, described in https://github.com/dart-lang/language/blob/main/accepted/future-releases/primary-constructors/feature-specification.md#abbreviations-of-in-body-constructor-declarations. This avoids the need for `ignore_for_file:` comments and gives us a bit more testing of the new feature. Change-Id: Ica5c13018a286cd274dba2cf946304446a6a6964 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/507200 Reviewed-by: Johnni Winther <johnniwinther@google.com> Commit-Queue: Paul Berry <paulberry@google.com>
3977 lines
79 KiB
Dart
3977 lines
79 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, ExperimentalFeatures, 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;
|
|
|
|
new(
|
|
Listener listener,
|
|
this.trace, {
|
|
required ExperimentalFeatures experimentalFeatures,
|
|
}) : super(
|
|
listener,
|
|
useImplicitCreationExpression: useImplicitCreationExpressionInCfe,
|
|
experimentalFeatures: experimentalFeatures,
|
|
);
|
|
|
|
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
|
|
TokenStreamRewriter get rewriter {
|
|
doPrint('rewriter()');
|
|
indent++;
|
|
var result = super.rewriter;
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
bool get allowedToShortcutParseExpression {
|
|
doPrint('allowedToShortcutParseExpression()');
|
|
indent++;
|
|
var result = super.allowedToShortcutParseExpression;
|
|
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? sealedToken,
|
|
Token? baseToken,
|
|
Token? interfaceToken,
|
|
DirectiveContext? directiveState,
|
|
) {
|
|
doPrint(
|
|
'parseTopLevelKeywordDeclaration('
|
|
'$beginToken, '
|
|
'$modifierStart, '
|
|
'$keyword, '
|
|
'$sealedToken, '
|
|
'$baseToken, '
|
|
'$interfaceToken, '
|
|
'$directiveState)',
|
|
);
|
|
indent++;
|
|
var result = super.parseTopLevelKeywordDeclaration(
|
|
beginToken,
|
|
modifierStart,
|
|
keyword,
|
|
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(
|
|
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(
|
|
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? sealedToken,
|
|
Token? baseToken,
|
|
Token? interfaceToken,
|
|
Token? finalToken,
|
|
Token? augmentToken,
|
|
Token? mixinToken,
|
|
Token classKeyword,
|
|
) {
|
|
doPrint(
|
|
'parseClassOrNamedMixinApplication('
|
|
'$beginToken, '
|
|
'$abstractToken, '
|
|
'$sealedToken, '
|
|
'$baseToken, '
|
|
'$interfaceToken, '
|
|
'$finalToken, '
|
|
'$augmentToken, '
|
|
'$mixinToken, '
|
|
'$classKeyword)',
|
|
);
|
|
indent++;
|
|
var result = super.parseClassOrNamedMixinApplication(
|
|
beginToken,
|
|
abstractToken,
|
|
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,
|
|
Token? constToken,
|
|
String className,
|
|
) {
|
|
doPrint(
|
|
'parseClass('
|
|
'$token, '
|
|
'$beginToken, '
|
|
'$classKeyword, '
|
|
'$constToken, '
|
|
'$className)',
|
|
);
|
|
indent++;
|
|
var result = super.parseClass(
|
|
token,
|
|
beginToken,
|
|
classKeyword,
|
|
constToken,
|
|
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? constKeyword,
|
|
Token mixinKeyword,
|
|
) {
|
|
doPrint(
|
|
'parseMixinHeaderOpt('
|
|
'$token, '
|
|
'$constKeyword, '
|
|
'$mixinKeyword)',
|
|
);
|
|
indent++;
|
|
var result = super.parseMixinHeaderOpt(token, constKeyword, 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 parsePrimaryConstructorOpt(
|
|
DeclarationKind kind,
|
|
Token token,
|
|
Token? constKeyword, {
|
|
bool allowExtensionTypeRepresentation = true,
|
|
}) {
|
|
doPrint(
|
|
'parsePrimaryConstructorOpt('
|
|
'$kind, '
|
|
'$token, '
|
|
'$constKeyword, '
|
|
'allowExtensionTypeRepresentation: $allowExtensionTypeRepresentation)',
|
|
);
|
|
indent++;
|
|
var result = super.parsePrimaryConstructorOpt(
|
|
kind,
|
|
token,
|
|
constKeyword,
|
|
allowExtensionTypeRepresentation: allowExtensionTypeRepresentation,
|
|
);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parsePrimaryConstructorBody(Token token) {
|
|
doPrint(
|
|
'parsePrimaryConstructorBody('
|
|
'$token)',
|
|
);
|
|
indent++;
|
|
var result = super.parsePrimaryConstructorBody(token);
|
|
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
|
|
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 notEofOrType(TokenType type, Token token) {
|
|
doPrint(
|
|
'notEofOrType('
|
|
'$type, '
|
|
'$token)',
|
|
);
|
|
indent++;
|
|
var result = super.notEofOrType(type, 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(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? newToken,
|
|
Token name,
|
|
DeclarationKind kind,
|
|
String? enclosingDeclarationName,
|
|
bool nameIsRecovered,
|
|
) {
|
|
doPrint(
|
|
'parseMethod('
|
|
'$beforeStart, '
|
|
'$abstractToken, '
|
|
'$augmentToken, '
|
|
'$externalToken, '
|
|
'$staticToken, '
|
|
'$covariantToken, '
|
|
'$lateToken, '
|
|
'$varFinalOrConst, '
|
|
'$beforeType, '
|
|
'$typeInfo, '
|
|
'$getOrSet, '
|
|
'$newToken, '
|
|
'$name, '
|
|
'$kind, '
|
|
'$enclosingDeclarationName, '
|
|
'$nameIsRecovered)',
|
|
);
|
|
indent++;
|
|
var result = super.parseMethod(
|
|
beforeStart,
|
|
abstractToken,
|
|
augmentToken,
|
|
externalToken,
|
|
staticToken,
|
|
covariantToken,
|
|
lateToken,
|
|
varFinalOrConst,
|
|
beforeType,
|
|
typeInfo,
|
|
getOrSet,
|
|
newToken,
|
|
name,
|
|
kind,
|
|
enclosingDeclarationName,
|
|
nameIsRecovered,
|
|
);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseFactoryMethod(
|
|
Token token,
|
|
DeclarationKind kind,
|
|
Token beforeStart,
|
|
Token? augmentToken,
|
|
Token? externalToken,
|
|
Token? staticOrCovariant,
|
|
Token? varFinalOrConst,
|
|
bool hasName,
|
|
) {
|
|
doPrint(
|
|
'parseFactoryMethod('
|
|
'$token, '
|
|
'$kind, '
|
|
'$beforeStart, '
|
|
'$augmentToken, '
|
|
'$externalToken, '
|
|
'$staticOrCovariant, '
|
|
'$varFinalOrConst, '
|
|
'$hasName)',
|
|
);
|
|
indent++;
|
|
var result = super.parseFactoryMethod(
|
|
token,
|
|
kind,
|
|
beforeStart,
|
|
augmentToken,
|
|
externalToken,
|
|
staticOrCovariant,
|
|
varFinalOrConst,
|
|
hasName,
|
|
);
|
|
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 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(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(Token start) {
|
|
doPrint(
|
|
'parseExpressionStatementOrConstDeclaration('
|
|
'$start)',
|
|
);
|
|
indent++;
|
|
var result = super.parseExpressionStatementOrConstDeclaration(start);
|
|
indent--;
|
|
return result;
|
|
}
|
|
|
|
@override
|
|
Token parseExpressionStatementOrDeclaration(
|
|
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,
|
|
Token? newToken,
|
|
DeclarationKind kind,
|
|
String? enclosingDeclarationName,
|
|
) {
|
|
doPrint(
|
|
'recoverFromInvalidMember('
|
|
'$token, '
|
|
'$beforeStart, '
|
|
'$abstractToken, '
|
|
'$augmentToken, '
|
|
'$externalToken, '
|
|
'$staticToken, '
|
|
'$covariantToken, '
|
|
'$lateToken, '
|
|
'$varFinalOrConst, '
|
|
'$beforeType, '
|
|
'$typeInfo, '
|
|
'$getOrSet, '
|
|
'$newToken, '
|
|
'$kind, '
|
|
'$enclosingDeclarationName)',
|
|
);
|
|
indent++;
|
|
var result = super.recoverFromInvalidMember(
|
|
token,
|
|
beforeStart,
|
|
abstractToken,
|
|
augmentToken,
|
|
externalToken,
|
|
staticToken,
|
|
covariantToken,
|
|
lateToken,
|
|
varFinalOrConst,
|
|
beforeType,
|
|
typeInfo,
|
|
getOrSet,
|
|
newToken,
|
|
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,
|
|
codes.Template<codes.Message Function({required Token lexeme})> 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;
|
|
}
|
|
}
|