Skip to content

Further generalize parse diagnostics functions #2753

Open
@AppAppWorks

Description

@AppAppWorks

Description

#2731 has embarked on the generalization of parse diagnostics functions. It was driven by the necessity of manipulating a whole TypeSyntax (the thrown type) instead of discrete TokenSyntaxs which the functions were originally designed for.

The refactoring effort stopped at generalizing ParseDiagnosticsGenerator.exchangeTokens into ParseDiagnosticsGenerator.exchangeNodes that has relaxed the accepted input type from TokenSyntax to Syntax. However several implementations of ParserError such as EffectsSpecifierAfterArrow, and implementations of ParserFixIt such as MoveTokensAfterFixIt that constitute Diagnostic still expect TokenSyntax. More importantly, nodesDescriptionAndCommonParent, the common utility function responsible for rendering several messages in the diagnostic, expects a list of TokenSyntax as its input.

We should continue refactoring on these functions to further improve generality.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions