Augment. Parse enum constant augmentations, allow just ';' before methods.
I was unable to update the parser to avoid requirement for ';' at all.
Ideally we should be able to parse:
```
enum E {
void foo()
}
```
Change-Id: I7edba99454b965407c3fb402642933b3d8d6bb7c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/363106
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
diff --git a/pkg/_fe_analyzer_shared/lib/src/parser/forwarding_listener.dart b/pkg/_fe_analyzer_shared/lib/src/parser/forwarding_listener.dart
index 9c4faeb..43fd533 100644
--- a/pkg/_fe_analyzer_shared/lib/src/parser/forwarding_listener.dart
+++ b/pkg/_fe_analyzer_shared/lib/src/parser/forwarding_listener.dart
@@ -769,8 +769,8 @@
}
@override
- void handleEnumElement(Token beginToken) {
- listener?.handleEnumElement(beginToken);
+ void handleEnumElement(Token beginToken, Token? augmentToken) {
+ listener?.handleEnumElement(beginToken, augmentToken);
}
@override
diff --git a/pkg/_fe_analyzer_shared/lib/src/parser/listener.dart b/pkg/_fe_analyzer_shared/lib/src/parser/listener.dart
index 77ca3ab..4259ec0 100644
--- a/pkg/_fe_analyzer_shared/lib/src/parser/listener.dart
+++ b/pkg/_fe_analyzer_shared/lib/src/parser/listener.dart
@@ -403,7 +403,7 @@
/// Handle the enum element. Substructures:
/// - Metadata
/// - Enum value (identifier)
- void handleEnumElement(Token beginToken) {
+ void handleEnumElement(Token beginToken, Token? augmentToken) {
logEvent("EnumElement");
}
diff --git a/pkg/_fe_analyzer_shared/lib/src/parser/parser_impl.dart b/pkg/_fe_analyzer_shared/lib/src/parser/parser_impl.dart
index a16bddb..e37bd9d 100644
--- a/pkg/_fe_analyzer_shared/lib/src/parser/parser_impl.dart
+++ b/pkg/_fe_analyzer_shared/lib/src/parser/parser_impl.dart
@@ -338,9 +338,15 @@
/// [parsePrimaryPattern] and [parsePattern].
bool isLastPatternAllowedInsideUnaryPattern = false;
- Parser(this.listener,
- {this.useImplicitCreationExpression = true, this.allowPatterns = false})
- : assert(listener != null); // ignore:unnecessary_null_comparison
+ /// Indicates whether the macros feature is enabled.
+ final bool enableFeatureMacros;
+
+ Parser(
+ this.listener, {
+ this.useImplicitCreationExpression = true,
+ this.allowPatterns = false,
+ this.enableFeatureMacros = false,
+ }) : assert(listener != null); // ignore:unnecessary_null_comparison
/// Executes [callback]; however if `this` is the `TestParser` (from
/// `pkg/front_end/test/parser_test_parser.dart`) then no output is printed
@@ -2368,7 +2374,7 @@
Token next = token.next!;
if (optional('}', next) || optional(';', next)) {
token = next;
- if (elementCount == 0) {
+ if (elementCount == 0 && !enableFeatureMacros) {
reportRecoverableError(token, codes.messageEnumDeclarationEmpty);
}
break;
@@ -2566,6 +2572,13 @@
Token parseEnumElement(Token token) {
Token beginToken = token;
token = parseMetadataStar(token);
+
+ Token? augmentToken;
+ if (optional('augment', token.next!)) {
+ augmentToken = token.next!;
+ token = token.next!;
+ }
+
token = ensureIdentifier(token, IdentifierContext.enumValueDeclaration);
bool hasTypeArgumentsOrDot = false;
{
@@ -2600,7 +2613,7 @@
} else {
listener.handleNoArguments(token);
}
- listener.handleEnumElement(beginToken);
+ listener.handleEnumElement(beginToken, augmentToken);
return token;
}
diff --git a/pkg/analysis_server/test/src/services/correction/fix/add_enum_constant_test.dart b/pkg/analysis_server/test/src/services/correction/fix/add_enum_constant_test.dart
index ea3ee0b..7971cb5 100644
--- a/pkg/analysis_server/test/src/services/correction/fix/add_enum_constant_test.dart
+++ b/pkg/analysis_server/test/src/services/correction/fix/add_enum_constant_test.dart
@@ -3,7 +3,6 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analysis_server/src/services/correction/fix.dart';
-import 'package:analyzer/src/error/codes.dart';
import 'package:analyzer_plugin/utilities/fixes/fixes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
@@ -174,10 +173,7 @@
void f() {
E.ONE;
}
-''',
- errorFilter: (e) =>
- e.errorCode == CompileTimeErrorCode.UNDEFINED_ENUM_CONSTANT,
- matchFixMessage: "Add enum constant 'ONE'");
+''');
}
Future<void> test_unnamed() async {
diff --git a/pkg/analyzer/lib/src/dart/ast/ast.dart b/pkg/analyzer/lib/src/dart/ast/ast.dart
index f913d7c..8e29491 100644
--- a/pkg/analyzer/lib/src/dart/ast/ast.dart
+++ b/pkg/analyzer/lib/src/dart/ast/ast.dart
@@ -5509,6 +5509,10 @@
/// doesn't provide any explicit arguments.
EnumConstantArguments? get arguments;
+ /// The `augment` keyword, or `null` if the keyword was absent.
+ @experimental
+ Token? get augmentKeyword;
+
/// The constructor that is invoked by this enum constant, or `null` if the
/// AST structure hasn't been resolved, or if the constructor couldn't be
/// resolved.
@@ -5524,6 +5528,9 @@
final class EnumConstantDeclarationImpl extends DeclarationImpl
implements EnumConstantDeclaration {
@override
+ final Token? augmentKeyword;
+
+ @override
final Token name;
@override
@@ -5542,6 +5549,7 @@
EnumConstantDeclarationImpl({
required super.comment,
required super.metadata,
+ required this.augmentKeyword,
required this.name,
required this.arguments,
}) {
@@ -5552,10 +5560,11 @@
Token get endToken => arguments?.endToken ?? name;
@override
- Token get firstTokenAfterCommentAndMetadata => name;
+ Token get firstTokenAfterCommentAndMetadata => augmentKeyword ?? name;
@override
ChildEntities get _childEntities => super._childEntities
+ ..addToken('augmentKeyword', augmentKeyword)
..addToken('name', name)
..addNode('arguments', arguments);
diff --git a/pkg/analyzer/lib/src/fasta/ast_builder.dart b/pkg/analyzer/lib/src/fasta/ast_builder.dart
index ccf32fd..32bc385 100644
--- a/pkg/analyzer/lib/src/fasta/ast_builder.dart
+++ b/pkg/analyzer/lib/src/fasta/ast_builder.dart
@@ -4062,7 +4062,7 @@
}
@override
- void handleEnumElement(Token beginToken) {
+ void handleEnumElement(Token beginToken, Token? augmentToken) {
debugEvent("EnumElement");
var tmpArguments = pop() as MethodInvocationImpl?;
var tmpConstructor = pop() as ConstructorNameImpl?;
@@ -4103,6 +4103,7 @@
constant = EnumConstantDeclarationImpl(
comment: constant.documentationComment,
metadata: constant.metadata,
+ augmentKeyword: augmentToken,
name: constant.name,
arguments: EnumConstantArgumentsImpl(
typeArguments: typeArguments,
@@ -4449,6 +4450,7 @@
EnumConstantDeclarationImpl(
comment: comment,
metadata: metadata,
+ augmentKeyword: null,
name: token,
arguments: null,
),
diff --git a/pkg/analyzer/lib/src/generated/parser.dart b/pkg/analyzer/lib/src/generated/parser.dart
index 0ac49ee..3c47906 100644
--- a/pkg/analyzer/lib/src/generated/parser.dart
+++ b/pkg/analyzer/lib/src/generated/parser.dart
@@ -38,8 +38,11 @@
featureSet,
lineInfo,
) {
- fastaParser = fasta.Parser(astBuilder,
- allowPatterns: featureSet.isEnabled(Feature.patterns));
+ fastaParser = fasta.Parser(
+ astBuilder,
+ allowPatterns: featureSet.isEnabled(Feature.patterns),
+ enableFeatureMacros: featureSet.isEnabled(Feature.macros),
+ );
astBuilder.parser = fastaParser;
astBuilder.allowNativeClause = allowNativeClause;
}
diff --git a/pkg/analyzer/test/generated/parser_fasta_listener.dart b/pkg/analyzer/test/generated/parser_fasta_listener.dart
index 632226b..c2deb49 100644
--- a/pkg/analyzer/test/generated/parser_fasta_listener.dart
+++ b/pkg/analyzer/test/generated/parser_fasta_listener.dart
@@ -1399,9 +1399,9 @@
}
@override
- void handleEnumElement(Token beginToken) {
+ void handleEnumElement(Token beginToken, Token? augmentToken) {
expectIn('Enum');
- super.handleEnumElement(beginToken);
+ super.handleEnumElement(beginToken, augmentToken);
}
@override
diff --git a/pkg/analyzer/test/generated/parser_test_base.dart b/pkg/analyzer/test/generated/parser_test_base.dart
index 823b703..f8c8e4c 100644
--- a/pkg/analyzer/test/generated/parser_test_base.dart
+++ b/pkg/analyzer/test/generated/parser_test_base.dart
@@ -395,8 +395,11 @@
ErrorReporter errorReporter = ErrorReporter(listener, source);
AstBuilder astBuilder = AstBuilder(errorReporter, source.uri, true,
featureSet!, LineInfo.fromContent(content));
- fasta.Parser parser = fasta.Parser(astBuilder,
- allowPatterns: featureSet!.isEnabled(Feature.patterns));
+ fasta.Parser parser = fasta.Parser(
+ astBuilder,
+ allowPatterns: featureSet!.isEnabled(Feature.patterns),
+ enableFeatureMacros: featureSet!.isEnabled(Feature.macros),
+ );
astBuilder.parser = parser;
astBuilder.allowNativeClause = allowNativeClause;
parser.parseUnit(_fastaTokens);
diff --git a/pkg/analyzer/test/src/dart/parser/enum_test.dart b/pkg/analyzer/test/src/dart/parser/enum_test.dart
index 131f857..06f8434 100644
--- a/pkg/analyzer/test/src/dart/parser/enum_test.dart
+++ b/pkg/analyzer/test/src/dart/parser/enum_test.dart
@@ -14,11 +14,13 @@
@reflectiveTest
class EnumDeclarationParserTest extends ParserDiagnosticsTest {
- test_augment() {
+ test_augment_constant_add() {
var parseResult = parseStringWithErrors(r'''
augment library 'a.dart';
-augment enum E {bar}
+augment enum E {
+ v
+}
''');
parseResult.assertNoErrors();
@@ -31,7 +33,138 @@
leftBracket: {
constants
EnumConstantDeclaration
- name: bar
+ name: v
+ rightBracket: }
+''');
+ }
+
+ test_augment_constant_augment_withConstructor() {
+ var parseResult = parseStringWithErrors(r'''
+augment library 'a.dart';
+
+augment enum E {
+ augment v.foo()
+}
+''');
+ parseResult.assertNoErrors();
+
+ var node = parseResult.findNode.singleEnumDeclaration;
+ assertParsedNodeText(node, r'''
+EnumDeclaration
+ augmentKeyword: augment
+ enumKeyword: enum
+ name: E
+ leftBracket: {
+ constants
+ EnumConstantDeclaration
+ augmentKeyword: augment
+ name: v
+ arguments: EnumConstantArguments
+ constructorSelector: ConstructorSelector
+ period: .
+ name: SimpleIdentifier
+ token: foo
+ argumentList: ArgumentList
+ leftParenthesis: (
+ rightParenthesis: )
+ rightBracket: }
+''');
+ }
+
+ test_augment_noConstants_semicolon_method() {
+ var parseResult = parseStringWithErrors(r'''
+augment library 'a.dart';
+
+augment enum E {;
+ void foo() {}
+}
+''');
+ parseResult.assertNoErrors();
+
+ var node = parseResult.findNode.singleEnumDeclaration;
+ assertParsedNodeText(node, r'''
+EnumDeclaration
+ augmentKeyword: augment
+ enumKeyword: enum
+ name: E
+ leftBracket: {
+ semicolon: ;
+ members
+ MethodDeclaration
+ returnType: NamedType
+ name: void
+ name: foo
+ parameters: FormalParameterList
+ leftParenthesis: (
+ rightParenthesis: )
+ body: BlockFunctionBody
+ block: Block
+ leftBracket: {
+ rightBracket: }
+ rightBracket: }
+''');
+ }
+
+ test_declaration_empty() {
+ var parseResult = parseStringWithErrors(r'''
+enum E {}
+''');
+ parseResult.assertNoErrors();
+
+ var node = parseResult.findNode.singleEnumDeclaration;
+ assertParsedNodeText(node, r'''
+EnumDeclaration
+ enumKeyword: enum
+ name: E
+ leftBracket: {
+ rightBracket: }
+''');
+ }
+
+ test_declaration_noConstants_semicolon() {
+ var parseResult = parseStringWithErrors(r'''
+enum E {;}
+''');
+ parseResult.assertNoErrors();
+
+ var node = parseResult.findNode.singleEnumDeclaration;
+ assertParsedNodeText(node, r'''
+EnumDeclaration
+ enumKeyword: enum
+ name: E
+ leftBracket: {
+ semicolon: ;
+ rightBracket: }
+''');
+ }
+
+ test_declaration_noConstants_semicolon_method() {
+ var parseResult = parseStringWithErrors(r'''
+enum E {;
+ void foo() {}
+}
+''');
+ parseResult.assertNoErrors();
+
+ var node = parseResult.findNode.singleEnumDeclaration;
+ assertParsedNodeText(node, r'''
+EnumDeclaration
+ enumKeyword: enum
+ name: E
+ leftBracket: {
+ semicolon: ;
+ members
+ MethodDeclaration
+ returnType: NamedType
+ name: void
+ name: foo
+ parameters: FormalParameterList
+ leftParenthesis: (
+ rightParenthesis: )
+ body: BlockFunctionBody
+ block: Block
+ leftBracket: {
+ rightBracket: }
rightBracket: }
''');
}
diff --git a/pkg/analyzer/tool/summary/mini_ast.dart b/pkg/analyzer/tool/summary/mini_ast.dart
index e445d5a..21b41c0 100644
--- a/pkg/analyzer/tool/summary/mini_ast.dart
+++ b/pkg/analyzer/tool/summary/mini_ast.dart
@@ -417,7 +417,7 @@
}
@override
- void handleEnumElement(Token beginToken) {
+ void handleEnumElement(Token beginToken, Token? augmentToken) {
debugEvent("EnumElement");
pop(); // Arguments.
pop(); // Type arguments.
diff --git a/pkg/front_end/lib/src/fasta/kernel/macro/annotation_parser.dart b/pkg/front_end/lib/src/fasta/kernel/macro/annotation_parser.dart
index d600e71..3c5ff68 100644
--- a/pkg/front_end/lib/src/fasta/kernel/macro/annotation_parser.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/macro/annotation_parser.dart
@@ -1758,7 +1758,7 @@
}
@override
- void handleEnumElement(Token beginToken) {
+ void handleEnumElement(Token beginToken, Token? augmentToken) {
_unexpected();
}
diff --git a/pkg/front_end/lib/src/fasta/source/diet_listener.dart b/pkg/front_end/lib/src/fasta/source/diet_listener.dart
index 90c2289..e428090 100644
--- a/pkg/front_end/lib/src/fasta/source/diet_listener.dart
+++ b/pkg/front_end/lib/src/fasta/source/diet_listener.dart
@@ -1132,7 +1132,7 @@
}
@override
- void handleEnumElement(Token beginKeyword) {
+ void handleEnumElement(Token beginKeyword, Token? augmentToken) {
debugEvent("EnumElement");
}
diff --git a/pkg/front_end/lib/src/fasta/source/outline_builder.dart b/pkg/front_end/lib/src/fasta/source/outline_builder.dart
index 582c606..ee61116 100644
--- a/pkg/front_end/lib/src/fasta/source/outline_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/outline_builder.dart
@@ -2929,7 +2929,7 @@
}
@override
- void handleEnumElement(Token beginToken) {
+ void handleEnumElement(Token beginToken, Token? augmentToken) {
debugEvent("handleEnumElement");
assert(checkState(beginToken, [
/* argumentsBeginToken */ ValueKinds.ArgumentsTokenOrNull,
diff --git a/pkg/front_end/lib/src/fasta/util/parser_ast_helper.dart b/pkg/front_end/lib/src/fasta/util/parser_ast_helper.dart
index b48ac31..8b92e3d 100644
--- a/pkg/front_end/lib/src/fasta/util/parser_ast_helper.dart
+++ b/pkg/front_end/lib/src/fasta/util/parser_ast_helper.dart
@@ -523,9 +523,9 @@
}
@override
- void handleEnumElement(Token beginToken) {
- EnumElementHandle data =
- new EnumElementHandle(ParserAstType.HANDLE, beginToken: beginToken);
+ void handleEnumElement(Token beginToken, Token? augmentToken) {
+ EnumElementHandle data = new EnumElementHandle(ParserAstType.HANDLE,
+ beginToken: beginToken, augmentToken: augmentToken);
seen(data);
}
@@ -3994,13 +3994,16 @@
class EnumElementHandle extends ParserAstNode {
final Token beginToken;
+ final Token? augmentToken;
- EnumElementHandle(ParserAstType type, {required this.beginToken})
+ EnumElementHandle(ParserAstType type,
+ {required this.beginToken, this.augmentToken})
: super("EnumElement", type);
@override
Map<String, Object?> get deprecatedArguments => {
"beginToken": beginToken,
+ "augmentToken": augmentToken,
};
}
diff --git a/pkg/front_end/parser_testcases/enhanced_enums/entries_with_type_arguments.dart.expect b/pkg/front_end/parser_testcases/enhanced_enums/entries_with_type_arguments.dart.expect
index 166a964..759b57b 100644
--- a/pkg/front_end/parser_testcases/enhanced_enums/entries_with_type_arguments.dart.expect
+++ b/pkg/front_end/parser_testcases/enhanced_enums/entries_with_type_arguments.dart.expect
@@ -39,7 +39,7 @@
endConstructorReference(one, null, (, ConstructorReferenceContext.Const)
beginArguments(()
endArguments(0, (, ))
- handleEnumElement({)
+ handleEnumElement({, null)
beginMetadataStar(two)
endMetadataStar(0)
handleIdentifier(two, enumValueDeclaration)
@@ -57,7 +57,7 @@
endConstructorReference(two, null, (, ConstructorReferenceContext.Const)
beginArguments(()
endArguments(0, (, ))
- handleEnumElement(,)
+ handleEnumElement(,, null)
beginMetadataStar(three)
endMetadataStar(0)
handleIdentifier(three, enumValueDeclaration)
@@ -76,7 +76,7 @@
beginArguments(()
handleLiteralInt(42)
endArguments(1, (, ))
- handleEnumElement(,)
+ handleEnumElement(,, null)
handleEnumElements(;, 3)
beginMetadataStar(const)
endMetadataStar(0)
diff --git a/pkg/front_end/parser_testcases/enhanced_enums/entries_with_type_arguments.dart.intertwined.expect b/pkg/front_end/parser_testcases/enhanced_enums/entries_with_type_arguments.dart.intertwined.expect
index e034de0..b60373f 100644
--- a/pkg/front_end/parser_testcases/enhanced_enums/entries_with_type_arguments.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/enhanced_enums/entries_with_type_arguments.dart.intertwined.expect
@@ -59,7 +59,7 @@
parseArgumentsRest(()
listener: beginArguments(()
listener: endArguments(0, (, ))
- listener: handleEnumElement({)
+ listener: handleEnumElement({, null)
parseEnumElement(,)
parseMetadataStar(,)
listener: beginMetadataStar(two)
@@ -82,7 +82,7 @@
parseArgumentsRest(()
listener: beginArguments(()
listener: endArguments(0, (, ))
- listener: handleEnumElement(,)
+ listener: handleEnumElement(,, null)
parseEnumElement(,)
parseMetadataStar(,)
listener: beginMetadataStar(three)
@@ -112,7 +112,7 @@
parseLiteralInt(()
listener: handleLiteralInt(42)
listener: endArguments(1, (, ))
- listener: handleEnumElement(,)
+ listener: handleEnumElement(,, null)
listener: handleEnumElements(;, 3)
notEofOrValue(}, const)
parseClassOrMixinOrExtensionOrEnumMemberImpl(;, DeclarationKind.Enum, E)
diff --git a/pkg/front_end/parser_testcases/error_recovery/invalid_enum_modifiers.dart.expect b/pkg/front_end/parser_testcases/error_recovery/invalid_enum_modifiers.dart.expect
index 2f394fa..4960492 100644
--- a/pkg/front_end/parser_testcases/error_recovery/invalid_enum_modifiers.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/invalid_enum_modifiers.dart.expect
@@ -36,7 +36,7 @@
handleNoConstructorReferenceContinuationAfterTypeArguments(})
endConstructorReference(v, null, }, ConstructorReferenceContext.Const)
handleNoArguments(v)
- handleEnumElement({)
+ handleEnumElement({, null)
handleEnumElements(}, 1)
endEnum(base, enum, {, 0, })
endTopLevelDeclaration(final)
@@ -59,7 +59,7 @@
handleNoConstructorReferenceContinuationAfterTypeArguments(})
endConstructorReference(v, null, }, ConstructorReferenceContext.Const)
handleNoArguments(v)
- handleEnumElement({)
+ handleEnumElement({, null)
handleEnumElements(}, 1)
endEnum(final, enum, {, 0, })
endTopLevelDeclaration(interface)
@@ -82,7 +82,7 @@
handleNoConstructorReferenceContinuationAfterTypeArguments(})
endConstructorReference(v, null, }, ConstructorReferenceContext.Const)
handleNoArguments(v)
- handleEnumElement({)
+ handleEnumElement({, null)
handleEnumElements(}, 1)
endEnum(interface, enum, {, 0, })
endTopLevelDeclaration(sealed)
@@ -105,7 +105,7 @@
handleNoConstructorReferenceContinuationAfterTypeArguments(})
endConstructorReference(v, null, }, ConstructorReferenceContext.Const)
handleNoArguments(v)
- handleEnumElement({)
+ handleEnumElement({, null)
handleEnumElements(}, 1)
endEnum(sealed, enum, {, 0, })
endTopLevelDeclaration()
diff --git a/pkg/front_end/parser_testcases/error_recovery/invalid_enum_modifiers.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/invalid_enum_modifiers.dart.intertwined.expect
index 16caecb..829e9db 100644
--- a/pkg/front_end/parser_testcases/error_recovery/invalid_enum_modifiers.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/invalid_enum_modifiers.dart.intertwined.expect
@@ -33,7 +33,7 @@
listener: handleNoConstructorReferenceContinuationAfterTypeArguments(})
listener: endConstructorReference(v, null, }, ConstructorReferenceContext.Const)
listener: handleNoArguments(v)
- listener: handleEnumElement({)
+ listener: handleEnumElement({, null)
listener: handleEnumElements(}, 1)
listener: endEnum(base, enum, {, 0, })
listener: endTopLevelDeclaration(final)
@@ -68,7 +68,7 @@
listener: handleNoConstructorReferenceContinuationAfterTypeArguments(})
listener: endConstructorReference(v, null, }, ConstructorReferenceContext.Const)
listener: handleNoArguments(v)
- listener: handleEnumElement({)
+ listener: handleEnumElement({, null)
listener: handleEnumElements(}, 1)
listener: endEnum(final, enum, {, 0, })
listener: endTopLevelDeclaration(interface)
@@ -103,7 +103,7 @@
listener: handleNoConstructorReferenceContinuationAfterTypeArguments(})
listener: endConstructorReference(v, null, }, ConstructorReferenceContext.Const)
listener: handleNoArguments(v)
- listener: handleEnumElement({)
+ listener: handleEnumElement({, null)
listener: handleEnumElements(}, 1)
listener: endEnum(interface, enum, {, 0, })
listener: endTopLevelDeclaration(sealed)
@@ -138,7 +138,7 @@
listener: handleNoConstructorReferenceContinuationAfterTypeArguments(})
listener: endConstructorReference(v, null, }, ConstructorReferenceContext.Const)
listener: handleNoArguments(v)
- listener: handleEnumElement({)
+ listener: handleEnumElement({, null)
listener: handleEnumElements(}, 1)
listener: endEnum(sealed, enum, {, 0, })
listener: endTopLevelDeclaration()
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_48371.dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_48371.dart.expect
index 01393cc..5415b9c 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_48371.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_48371.dart.expect
@@ -120,7 +120,7 @@
handleNoConstructorReferenceContinuationAfterTypeArguments(})
endConstructorReference(v, null, }, ConstructorReferenceContext.Const)
handleNoArguments(v)
- handleEnumElement({)
+ handleEnumElement({, null)
handleEnumElements(}, 1)
endEnum(enum, enum, {, 0, })
endTopLevelDeclaration(enum)
@@ -146,7 +146,7 @@
handleNoConstructorReferenceContinuationAfterTypeArguments(})
endConstructorReference(v, null, }, ConstructorReferenceContext.Const)
handleNoArguments(v)
- handleEnumElement({)
+ handleEnumElement({, null)
handleEnumElements(}, 1)
endEnum(enum, enum, {, 0, })
endTopLevelDeclaration(enum)
@@ -172,7 +172,7 @@
handleNoConstructorReferenceContinuationAfterTypeArguments(})
endConstructorReference(v, null, }, ConstructorReferenceContext.Const)
handleNoArguments(v)
- handleEnumElement({)
+ handleEnumElement({, null)
handleEnumElements(}, 1)
endEnum(enum, enum, {, 0, })
endTopLevelDeclaration(enum)
@@ -199,7 +199,7 @@
handleNoConstructorReferenceContinuationAfterTypeArguments(})
endConstructorReference(v, null, }, ConstructorReferenceContext.Const)
handleNoArguments(v)
- handleEnumElement({)
+ handleEnumElement({, null)
handleEnumElements(}, 1)
endEnum(enum, enum, {, 0, })
endTopLevelDeclaration(enum)
@@ -222,7 +222,7 @@
handleNoConstructorReferenceContinuationAfterTypeArguments(})
endConstructorReference(v, null, }, ConstructorReferenceContext.Const)
handleNoArguments(v)
- handleEnumElement({)
+ handleEnumElement({, null)
handleEnumElements(}, 1)
endEnum(enum, enum, {, 0, })
endTopLevelDeclaration(enum)
@@ -245,7 +245,7 @@
handleNoConstructorReferenceContinuationAfterTypeArguments(})
endConstructorReference(v, null, }, ConstructorReferenceContext.Const)
handleNoArguments(v)
- handleEnumElement({)
+ handleEnumElement({, null)
handleEnumElements(}, 1)
endEnum(enum, enum, {, 0, })
endTopLevelDeclaration(enum)
@@ -271,7 +271,7 @@
handleNoConstructorReferenceContinuationAfterTypeArguments(})
endConstructorReference(v, null, }, ConstructorReferenceContext.Const)
handleNoArguments(v)
- handleEnumElement({)
+ handleEnumElement({, null)
handleEnumElements(}, 1)
endEnum(enum, enum, {, 0, })
endTopLevelDeclaration(enum)
@@ -299,7 +299,7 @@
handleNoConstructorReferenceContinuationAfterTypeArguments(})
endConstructorReference(v, null, }, ConstructorReferenceContext.Const)
handleNoArguments(v)
- handleEnumElement({)
+ handleEnumElement({, null)
handleEnumElements(}, 1)
endEnum(enum, enum, {, 0, })
endTopLevelDeclaration(enum)
@@ -325,7 +325,7 @@
handleNoConstructorReferenceContinuationAfterTypeArguments(})
endConstructorReference(v, null, }, ConstructorReferenceContext.Const)
handleNoArguments(v)
- handleEnumElement({)
+ handleEnumElement({, null)
handleEnumElements(}, 1)
endEnum(enum, enum, {, 0, })
endTopLevelDeclaration(enum)
@@ -355,7 +355,7 @@
handleNoConstructorReferenceContinuationAfterTypeArguments(})
endConstructorReference(v, null, }, ConstructorReferenceContext.Const)
handleNoArguments(v)
- handleEnumElement({)
+ handleEnumElement({, null)
handleEnumElements(}, 1)
endEnum(enum, enum, {, 0, })
endTopLevelDeclaration(enum)
@@ -381,7 +381,7 @@
handleNoConstructorReferenceContinuationAfterTypeArguments(})
endConstructorReference(v, null, }, ConstructorReferenceContext.Const)
handleNoArguments(v)
- handleEnumElement({)
+ handleEnumElement({, null)
handleEnumElements(}, 1)
endEnum(enum, enum, {, 0, })
endTopLevelDeclaration(enum)
@@ -413,7 +413,7 @@
handleNoConstructorReferenceContinuationAfterTypeArguments(})
endConstructorReference(v, null, }, ConstructorReferenceContext.Const)
handleNoArguments(v)
- handleEnumElement({)
+ handleEnumElement({, null)
handleEnumElements(}, 1)
endEnum(enum, enum, {, 0, })
endTopLevelDeclaration(enum)
@@ -441,7 +441,7 @@
handleNoConstructorReferenceContinuationAfterTypeArguments(})
endConstructorReference(v, null, }, ConstructorReferenceContext.Const)
handleNoArguments(v)
- handleEnumElement({)
+ handleEnumElement({, null)
handleEnumElements(}, 1)
endEnum(enum, enum, {, 0, })
endTopLevelDeclaration(enum)
@@ -475,7 +475,7 @@
handleNoConstructorReferenceContinuationAfterTypeArguments(})
endConstructorReference(v, null, }, ConstructorReferenceContext.Const)
handleNoArguments(v)
- handleEnumElement({)
+ handleEnumElement({, null)
handleEnumElements(}, 1)
endEnum(enum, enum, {, 0, })
endTopLevelDeclaration(enum)
@@ -505,7 +505,7 @@
handleNoConstructorReferenceContinuationAfterTypeArguments(})
endConstructorReference(v, null, }, ConstructorReferenceContext.Const)
handleNoArguments(v)
- handleEnumElement({)
+ handleEnumElement({, null)
handleEnumElements(}, 1)
endEnum(enum, enum, {, 0, })
endTopLevelDeclaration()
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_48371.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_48371.dart.intertwined.expect
index e872dfa..0474037 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_48371.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_48371.dart.intertwined.expect
@@ -34,7 +34,7 @@
listener: handleNoConstructorReferenceContinuationAfterTypeArguments(})
listener: endConstructorReference(v, null, }, ConstructorReferenceContext.Const)
listener: handleNoArguments(v)
- listener: handleEnumElement({)
+ listener: handleEnumElement({, null)
listener: handleEnumElements(}, 1)
listener: endEnum(enum, enum, {, 0, })
listener: endTopLevelDeclaration(enum)
@@ -73,7 +73,7 @@
listener: handleNoConstructorReferenceContinuationAfterTypeArguments(})
listener: endConstructorReference(v, null, }, ConstructorReferenceContext.Const)
listener: handleNoArguments(v)
- listener: handleEnumElement({)
+ listener: handleEnumElement({, null)
listener: handleEnumElements(}, 1)
listener: endEnum(enum, enum, {, 0, })
listener: endTopLevelDeclaration(enum)
@@ -114,7 +114,7 @@
listener: handleNoConstructorReferenceContinuationAfterTypeArguments(})
listener: endConstructorReference(v, null, }, ConstructorReferenceContext.Const)
listener: handleNoArguments(v)
- listener: handleEnumElement({)
+ listener: handleEnumElement({, null)
listener: handleEnumElements(}, 1)
listener: endEnum(enum, enum, {, 0, })
listener: endTopLevelDeclaration(enum)
@@ -160,7 +160,7 @@
listener: handleNoConstructorReferenceContinuationAfterTypeArguments(})
listener: endConstructorReference(v, null, }, ConstructorReferenceContext.Const)
listener: handleNoArguments(v)
- listener: handleEnumElement({)
+ listener: handleEnumElement({, null)
listener: handleEnumElements(}, 1)
listener: endEnum(enum, enum, {, 0, })
listener: endTopLevelDeclaration(enum)
@@ -196,7 +196,7 @@
listener: handleNoConstructorReferenceContinuationAfterTypeArguments(})
listener: endConstructorReference(v, null, }, ConstructorReferenceContext.Const)
listener: handleNoArguments(v)
- listener: handleEnumElement({)
+ listener: handleEnumElement({, null)
listener: handleEnumElements(}, 1)
listener: endEnum(enum, enum, {, 0, })
listener: endTopLevelDeclaration(enum)
@@ -232,7 +232,7 @@
listener: handleNoConstructorReferenceContinuationAfterTypeArguments(})
listener: endConstructorReference(v, null, }, ConstructorReferenceContext.Const)
listener: handleNoArguments(v)
- listener: handleEnumElement({)
+ listener: handleEnumElement({, null)
listener: handleEnumElements(}, 1)
listener: endEnum(enum, enum, {, 0, })
listener: endTopLevelDeclaration(enum)
@@ -273,7 +273,7 @@
listener: handleNoConstructorReferenceContinuationAfterTypeArguments(})
listener: endConstructorReference(v, null, }, ConstructorReferenceContext.Const)
listener: handleNoArguments(v)
- listener: handleEnumElement({)
+ listener: handleEnumElement({, null)
listener: handleEnumElements(}, 1)
listener: endEnum(enum, enum, {, 0, })
listener: endTopLevelDeclaration(enum)
@@ -315,7 +315,7 @@
listener: handleNoConstructorReferenceContinuationAfterTypeArguments(})
listener: endConstructorReference(v, null, }, ConstructorReferenceContext.Const)
listener: handleNoArguments(v)
- listener: handleEnumElement({)
+ listener: handleEnumElement({, null)
listener: handleEnumElements(}, 1)
listener: endEnum(enum, enum, {, 0, })
listener: endTopLevelDeclaration(enum)
@@ -354,7 +354,7 @@
listener: handleNoConstructorReferenceContinuationAfterTypeArguments(})
listener: endConstructorReference(v, null, }, ConstructorReferenceContext.Const)
listener: handleNoArguments(v)
- listener: handleEnumElement({)
+ listener: handleEnumElement({, null)
listener: handleEnumElements(}, 1)
listener: endEnum(enum, enum, {, 0, })
listener: endTopLevelDeclaration(enum)
@@ -396,7 +396,7 @@
listener: handleNoConstructorReferenceContinuationAfterTypeArguments(})
listener: endConstructorReference(v, null, }, ConstructorReferenceContext.Const)
listener: handleNoArguments(v)
- listener: handleEnumElement({)
+ listener: handleEnumElement({, null)
listener: handleEnumElements(}, 1)
listener: endEnum(enum, enum, {, 0, })
listener: endTopLevelDeclaration(enum)
@@ -437,7 +437,7 @@
listener: handleNoConstructorReferenceContinuationAfterTypeArguments(})
listener: endConstructorReference(v, null, }, ConstructorReferenceContext.Const)
listener: handleNoArguments(v)
- listener: handleEnumElement({)
+ listener: handleEnumElement({, null)
listener: handleEnumElements(}, 1)
listener: endEnum(enum, enum, {, 0, })
listener: endTopLevelDeclaration(enum)
@@ -486,7 +486,7 @@
listener: handleNoConstructorReferenceContinuationAfterTypeArguments(})
listener: endConstructorReference(v, null, }, ConstructorReferenceContext.Const)
listener: handleNoArguments(v)
- listener: handleEnumElement({)
+ listener: handleEnumElement({, null)
listener: handleEnumElements(}, 1)
listener: endEnum(enum, enum, {, 0, })
listener: endTopLevelDeclaration(enum)
@@ -535,7 +535,7 @@
listener: handleNoConstructorReferenceContinuationAfterTypeArguments(})
listener: endConstructorReference(v, null, }, ConstructorReferenceContext.Const)
listener: handleNoArguments(v)
- listener: handleEnumElement({)
+ listener: handleEnumElement({, null)
listener: handleEnumElements(}, 1)
listener: endEnum(enum, enum, {, 0, })
listener: endTopLevelDeclaration(enum)
@@ -597,7 +597,7 @@
listener: handleNoConstructorReferenceContinuationAfterTypeArguments(})
listener: endConstructorReference(v, null, }, ConstructorReferenceContext.Const)
listener: handleNoArguments(v)
- listener: handleEnumElement({)
+ listener: handleEnumElement({, null)
listener: handleEnumElements(}, 1)
listener: endEnum(enum, enum, {, 0, })
listener: endTopLevelDeclaration(enum)
@@ -658,7 +658,7 @@
listener: handleNoConstructorReferenceContinuationAfterTypeArguments(})
listener: endConstructorReference(v, null, }, ConstructorReferenceContext.Const)
listener: handleNoArguments(v)
- listener: handleEnumElement({)
+ listener: handleEnumElement({, null)
listener: handleEnumElements(}, 1)
listener: endEnum(enum, enum, {, 0, })
listener: endTopLevelDeclaration()
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_48380_1.dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_48380_1.dart.expect
index 92a2c53..8f0facc 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_48380_1.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_48380_1.dart.expect
@@ -42,7 +42,7 @@
handleRecoverableError(Message[ExpectedAfterButGot, Expected '(' after this., null, {string: (}], ;, ;)
beginArguments(()
endArguments(0, (, ))
- handleEnumElement({)
+ handleEnumElement({, null)
handleEnumElements(;, 1)
beginMetadataStar(const)
endMetadataStar(0)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_48380_1.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_48380_1.dart.intertwined.expect
index 148a24c..ad9a141 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_48380_1.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_48380_1.dart.intertwined.expect
@@ -54,7 +54,7 @@
parseArgumentsRest(()
listener: beginArguments(()
listener: endArguments(0, (, ))
- listener: handleEnumElement({)
+ listener: handleEnumElement({, null)
listener: handleEnumElements(;, 1)
notEofOrValue(}, const)
parseClassOrMixinOrExtensionOrEnumMemberImpl(;, DeclarationKind.Enum, E)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_48380_1_comma.dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_48380_1_comma.dart.expect
index 797ab29..32ccffb 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_48380_1_comma.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_48380_1_comma.dart.expect
@@ -42,7 +42,7 @@
handleRecoverableError(Message[ExpectedAfterButGot, Expected '(' after this., null, {string: (}], ,, ,)
beginArguments(()
endArguments(0, (, ))
- handleEnumElement({)
+ handleEnumElement({, null)
beginMetadataStar(v2)
endMetadataStar(0)
handleIdentifier(v2, enumValueDeclaration)
@@ -57,7 +57,7 @@
endConstructorReference(v2, ., (, ConstructorReferenceContext.Const)
beginArguments(()
endArguments(0, (, ))
- handleEnumElement(,)
+ handleEnumElement(,, null)
handleEnumElements(;, 2)
beginMetadataStar(const)
endMetadataStar(0)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_48380_1_comma.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_48380_1_comma.dart.intertwined.expect
index fcbdc40..97aedfa 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_48380_1_comma.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_48380_1_comma.dart.intertwined.expect
@@ -54,7 +54,7 @@
parseArgumentsRest(()
listener: beginArguments(()
listener: endArguments(0, (, ))
- listener: handleEnumElement({)
+ listener: handleEnumElement({, null)
parseEnumElement(,)
parseMetadataStar(,)
listener: beginMetadataStar(v2)
@@ -75,7 +75,7 @@
parseArgumentsRest(()
listener: beginArguments(()
listener: endArguments(0, (, ))
- listener: handleEnumElement(,)
+ listener: handleEnumElement(,, null)
listener: handleEnumElements(;, 2)
notEofOrValue(}, const)
parseClassOrMixinOrExtensionOrEnumMemberImpl(;, DeclarationKind.Enum, E)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_48380_1_comma_ok.dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_48380_1_comma_ok.dart.expect
index 45de7ff..52421be 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_48380_1_comma_ok.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_48380_1_comma_ok.dart.expect
@@ -30,7 +30,7 @@
endConstructorReference(v1, ., (, ConstructorReferenceContext.Const)
beginArguments(()
endArguments(0, (, ))
- handleEnumElement({)
+ handleEnumElement({, null)
beginMetadataStar(v2)
endMetadataStar(0)
handleIdentifier(v2, enumValueDeclaration)
@@ -45,7 +45,7 @@
endConstructorReference(v2, ., (, ConstructorReferenceContext.Const)
beginArguments(()
endArguments(0, (, ))
- handleEnumElement(,)
+ handleEnumElement(,, null)
handleEnumElements(;, 2)
beginMetadataStar(const)
endMetadataStar(0)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_48380_1_comma_ok.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_48380_1_comma_ok.dart.intertwined.expect
index 622b7b7..398eab7 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_48380_1_comma_ok.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_48380_1_comma_ok.dart.intertwined.expect
@@ -47,7 +47,7 @@
parseArgumentsRest(()
listener: beginArguments(()
listener: endArguments(0, (, ))
- listener: handleEnumElement({)
+ listener: handleEnumElement({, null)
parseEnumElement(,)
parseMetadataStar(,)
listener: beginMetadataStar(v2)
@@ -68,7 +68,7 @@
parseArgumentsRest(()
listener: beginArguments(()
listener: endArguments(0, (, ))
- listener: handleEnumElement(,)
+ listener: handleEnumElement(,, null)
listener: handleEnumElements(;, 2)
notEofOrValue(}, const)
parseClassOrMixinOrExtensionOrEnumMemberImpl(;, DeclarationKind.Enum, E)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_48380_1_ok.dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_48380_1_ok.dart.expect
index 793111a..ee09abe1b 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_48380_1_ok.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_48380_1_ok.dart.expect
@@ -30,7 +30,7 @@
endConstructorReference(v, ., (, ConstructorReferenceContext.Const)
beginArguments(()
endArguments(0, (, ))
- handleEnumElement({)
+ handleEnumElement({, null)
handleEnumElements(;, 1)
beginMetadataStar(const)
endMetadataStar(0)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_48380_1_ok.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_48380_1_ok.dart.intertwined.expect
index 0fb56b3..5e98c18 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_48380_1_ok.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_48380_1_ok.dart.intertwined.expect
@@ -47,7 +47,7 @@
parseArgumentsRest(()
listener: beginArguments(()
listener: endArguments(0, (, ))
- listener: handleEnumElement({)
+ listener: handleEnumElement({, null)
listener: handleEnumElements(;, 1)
notEofOrValue(}, const)
parseClassOrMixinOrExtensionOrEnumMemberImpl(;, DeclarationKind.Enum, E)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_48380_2.dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_48380_2.dart.expect
index 5707e49..39229b000 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_48380_2.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_48380_2.dart.expect
@@ -37,7 +37,7 @@
handleRecoverableError(Message[ExpectedAfterButGot, Expected '(' after this., null, {string: (}], >, >)
beginArguments(()
endArguments(0, (, ))
- handleEnumElement({)
+ handleEnumElement({, null)
handleEnumElements(;, 1)
beginMetadataStar(const)
endMetadataStar(0)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_48380_2.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_48380_2.dart.intertwined.expect
index 29d1f97..ac8110d 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_48380_2.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_48380_2.dart.intertwined.expect
@@ -49,7 +49,7 @@
parseArgumentsRest(()
listener: beginArguments(()
listener: endArguments(0, (, ))
- listener: handleEnumElement({)
+ listener: handleEnumElement({, null)
listener: handleEnumElements(;, 1)
notEofOrValue(}, const)
parseClassOrMixinOrExtensionOrEnumMemberImpl(;, DeclarationKind.Enum, E)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_48380_2_comma.dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_48380_2_comma.dart.expect
index dee48c0..30f8a41 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_48380_2_comma.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_48380_2_comma.dart.expect
@@ -37,7 +37,7 @@
handleRecoverableError(Message[ExpectedAfterButGot, Expected '(' after this., null, {string: (}], >, >)
beginArguments(()
endArguments(0, (, ))
- handleEnumElement({)
+ handleEnumElement({, null)
beginMetadataStar(v)
endMetadataStar(0)
handleIdentifier(v, enumValueDeclaration)
@@ -52,7 +52,7 @@
endConstructorReference(v, ., (, ConstructorReferenceContext.Const)
beginArguments(()
endArguments(0, (, ))
- handleEnumElement(,)
+ handleEnumElement(,, null)
handleEnumElements(;, 2)
beginMetadataStar(const)
endMetadataStar(0)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_48380_2_comma.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_48380_2_comma.dart.intertwined.expect
index 48adb88..5a57db8 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_48380_2_comma.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_48380_2_comma.dart.intertwined.expect
@@ -49,7 +49,7 @@
parseArgumentsRest(()
listener: beginArguments(()
listener: endArguments(0, (, ))
- listener: handleEnumElement({)
+ listener: handleEnumElement({, null)
parseEnumElement(,)
parseMetadataStar(,)
listener: beginMetadataStar(v)
@@ -70,7 +70,7 @@
parseArgumentsRest(()
listener: beginArguments(()
listener: endArguments(0, (, ))
- listener: handleEnumElement(,)
+ listener: handleEnumElement(,, null)
listener: handleEnumElements(;, 2)
notEofOrValue(}, const)
parseClassOrMixinOrExtensionOrEnumMemberImpl(;, DeclarationKind.Enum, E)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_48380_2_comma_ok.dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_48380_2_comma_ok.dart.expect
index 982eb8b..7dfdf49 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_48380_2_comma_ok.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_48380_2_comma_ok.dart.expect
@@ -30,7 +30,7 @@
endConstructorReference(v, null, (, ConstructorReferenceContext.Const)
beginArguments(()
endArguments(0, (, ))
- handleEnumElement({)
+ handleEnumElement({, null)
beginMetadataStar(v)
endMetadataStar(0)
handleIdentifier(v, enumValueDeclaration)
@@ -45,7 +45,7 @@
endConstructorReference(v, ., (, ConstructorReferenceContext.Const)
beginArguments(()
endArguments(0, (, ))
- handleEnumElement(,)
+ handleEnumElement(,, null)
handleEnumElements(;, 2)
beginMetadataStar(const)
endMetadataStar(0)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_48380_2_comma_ok.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_48380_2_comma_ok.dart.intertwined.expect
index a9664ff..77722aa 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_48380_2_comma_ok.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_48380_2_comma_ok.dart.intertwined.expect
@@ -46,7 +46,7 @@
parseArgumentsRest(()
listener: beginArguments(()
listener: endArguments(0, (, ))
- listener: handleEnumElement({)
+ listener: handleEnumElement({, null)
parseEnumElement(,)
parseMetadataStar(,)
listener: beginMetadataStar(v)
@@ -67,7 +67,7 @@
parseArgumentsRest(()
listener: beginArguments(()
listener: endArguments(0, (, ))
- listener: handleEnumElement(,)
+ listener: handleEnumElement(,, null)
listener: handleEnumElements(;, 2)
notEofOrValue(}, const)
parseClassOrMixinOrExtensionOrEnumMemberImpl(;, DeclarationKind.Enum, E)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_48380_2_ok.dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_48380_2_ok.dart.expect
index 3283ddc..38ef2b8 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_48380_2_ok.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_48380_2_ok.dart.expect
@@ -30,7 +30,7 @@
endConstructorReference(v, null, (, ConstructorReferenceContext.Const)
beginArguments(()
endArguments(0, (, ))
- handleEnumElement({)
+ handleEnumElement({, null)
handleEnumElements(;, 1)
beginMetadataStar(const)
endMetadataStar(0)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_48380_2_ok.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_48380_2_ok.dart.intertwined.expect
index 49e52de..68a00c8 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_48380_2_ok.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_48380_2_ok.dart.intertwined.expect
@@ -46,7 +46,7 @@
parseArgumentsRest(()
listener: beginArguments(()
listener: endArguments(0, (, ))
- listener: handleEnumElement({)
+ listener: handleEnumElement({, null)
listener: handleEnumElements(;, 1)
notEofOrValue(}, const)
parseClassOrMixinOrExtensionOrEnumMemberImpl(;, DeclarationKind.Enum, E)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_48380_3.dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_48380_3.dart.expect
index 9d4bf5d..0e7a062 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_48380_3.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_48380_3.dart.expect
@@ -30,7 +30,7 @@
handleRecoverableError(Message[ExpectedAfterButGot, Expected '(' after this., null, {string: (}], ;, ;)
beginArguments(()
endArguments(0, (, ))
- handleEnumElement({)
+ handleEnumElement({, null)
handleEnumElements(;, 1)
beginMetadataStar(const)
endMetadataStar(0)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_48380_3.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_48380_3.dart.intertwined.expect
index fc010a2..f39636a 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_48380_3.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_48380_3.dart.intertwined.expect
@@ -42,7 +42,7 @@
parseArgumentsRest(()
listener: beginArguments(()
listener: endArguments(0, (, ))
- listener: handleEnumElement({)
+ listener: handleEnumElement({, null)
listener: handleEnumElements(;, 1)
notEofOrValue(}, const)
parseClassOrMixinOrExtensionOrEnumMemberImpl(;, DeclarationKind.Enum, E)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_48380_3_comma.dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_48380_3_comma.dart.expect
index 6030d7a..c2f339c 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_48380_3_comma.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_48380_3_comma.dart.expect
@@ -30,7 +30,7 @@
handleRecoverableError(Message[ExpectedAfterButGot, Expected '(' after this., null, {string: (}], ,, ,)
beginArguments(()
endArguments(0, (, ))
- handleEnumElement({)
+ handleEnumElement({, null)
beginMetadataStar(v)
endMetadataStar(0)
handleIdentifier(v, enumValueDeclaration)
@@ -41,7 +41,7 @@
endConstructorReference(v, ., (, ConstructorReferenceContext.Const)
beginArguments(()
endArguments(0, (, ))
- handleEnumElement(,)
+ handleEnumElement(,, null)
handleEnumElements(;, 2)
beginMetadataStar(const)
endMetadataStar(0)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_48380_3_comma.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_48380_3_comma.dart.intertwined.expect
index 10441a4..8f8feb8 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_48380_3_comma.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_48380_3_comma.dart.intertwined.expect
@@ -42,7 +42,7 @@
parseArgumentsRest(()
listener: beginArguments(()
listener: endArguments(0, (, ))
- listener: handleEnumElement({)
+ listener: handleEnumElement({, null)
parseEnumElement(,)
parseMetadataStar(,)
listener: beginMetadataStar(v)
@@ -59,7 +59,7 @@
parseArgumentsRest(()
listener: beginArguments(()
listener: endArguments(0, (, ))
- listener: handleEnumElement(,)
+ listener: handleEnumElement(,, null)
listener: handleEnumElements(;, 2)
notEofOrValue(}, const)
parseClassOrMixinOrExtensionOrEnumMemberImpl(;, DeclarationKind.Enum, E)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_48380_3_comma_ok.dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_48380_3_comma_ok.dart.expect
index 22802d6..0072d68 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_48380_3_comma_ok.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_48380_3_comma_ok.dart.expect
@@ -18,7 +18,7 @@
endConstructorReference(v, ., (, ConstructorReferenceContext.Const)
beginArguments(()
endArguments(0, (, ))
- handleEnumElement({)
+ handleEnumElement({, null)
beginMetadataStar(v)
endMetadataStar(0)
handleIdentifier(v, enumValueDeclaration)
@@ -29,7 +29,7 @@
endConstructorReference(v, ., (, ConstructorReferenceContext.Const)
beginArguments(()
endArguments(0, (, ))
- handleEnumElement(,)
+ handleEnumElement(,, null)
handleEnumElements(;, 2)
beginMetadataStar(const)
endMetadataStar(0)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_48380_3_comma_ok.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_48380_3_comma_ok.dart.intertwined.expect
index 54fe9bc..2d988dc 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_48380_3_comma_ok.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_48380_3_comma_ok.dart.intertwined.expect
@@ -35,7 +35,7 @@
parseArgumentsRest(()
listener: beginArguments(()
listener: endArguments(0, (, ))
- listener: handleEnumElement({)
+ listener: handleEnumElement({, null)
parseEnumElement(,)
parseMetadataStar(,)
listener: beginMetadataStar(v)
@@ -52,7 +52,7 @@
parseArgumentsRest(()
listener: beginArguments(()
listener: endArguments(0, (, ))
- listener: handleEnumElement(,)
+ listener: handleEnumElement(,, null)
listener: handleEnumElements(;, 2)
notEofOrValue(}, const)
parseClassOrMixinOrExtensionOrEnumMemberImpl(;, DeclarationKind.Enum, E)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_48380_3_ok.dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_48380_3_ok.dart.expect
index 7728c0cf..8ade4fa 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_48380_3_ok.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_48380_3_ok.dart.expect
@@ -18,7 +18,7 @@
endConstructorReference(v, ., (, ConstructorReferenceContext.Const)
beginArguments(()
endArguments(0, (, ))
- handleEnumElement({)
+ handleEnumElement({, null)
handleEnumElements(;, 1)
beginMetadataStar(const)
endMetadataStar(0)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_48380_3_ok.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_48380_3_ok.dart.intertwined.expect
index 2d5d205..c12dfce 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_48380_3_ok.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_48380_3_ok.dart.intertwined.expect
@@ -35,7 +35,7 @@
parseArgumentsRest(()
listener: beginArguments(()
listener: endArguments(0, (, ))
- listener: handleEnumElement({)
+ listener: handleEnumElement({, null)
listener: handleEnumElements(;, 1)
notEofOrValue(}, const)
parseClassOrMixinOrExtensionOrEnumMemberImpl(;, DeclarationKind.Enum, E)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_48380_4.dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_48380_4.dart.expect
index cdfc777..1bc6132 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_48380_4.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_48380_4.dart.expect
@@ -17,7 +17,7 @@
handleNoConstructorReferenceContinuationAfterTypeArguments(;)
endConstructorReference(x, null, ;, ConstructorReferenceContext.Const)
handleNoArguments(x)
- handleEnumElement({)
+ handleEnumElement({, null)
handleEnumElements(;, 1)
beginMetadataStar(String)
endMetadataStar(0)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_48380_4.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_48380_4.dart.intertwined.expect
index c6c340c..6d98d04 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_48380_4.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_48380_4.dart.intertwined.expect
@@ -31,7 +31,7 @@
listener: handleNoConstructorReferenceContinuationAfterTypeArguments(;)
listener: endConstructorReference(x, null, ;, ConstructorReferenceContext.Const)
listener: handleNoArguments(x)
- listener: handleEnumElement({)
+ listener: handleEnumElement({, null)
listener: handleEnumElements(;, 1)
notEofOrValue(}, String)
parseClassOrMixinOrExtensionOrEnumMemberImpl(;, DeclarationKind.Enum, E)
diff --git a/pkg/front_end/test/parser_test_listener.dart b/pkg/front_end/test/parser_test_listener.dart
index 2745d5e..981e1b6 100644
--- a/pkg/front_end/test/parser_test_listener.dart
+++ b/pkg/front_end/test/parser_test_listener.dart
@@ -590,9 +590,10 @@
}
@override
- void handleEnumElement(Token beginToken) {
+ void handleEnumElement(Token beginToken, Token? augmentToken) {
seen(beginToken);
- doPrint('handleEnumElement(' '$beginToken)');
+ seen(augmentToken);
+ doPrint('handleEnumElement(' '$beginToken, ' '$augmentToken)');
}
@override