Further generalize parse diagnostics functions
AppAppWorks opened this issue · 1 comments
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 TokenSyntax
s 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.
Synced to Apple’s issue tracker as rdar://132444863