Skip to content

Commit

Permalink
Merge pull request #43798 from lochana-chathura/fix-nodeparser-diagno…
Browse files Browse the repository at this point in the history
…stic

Fix invalid token diagnostic in NodeParser
  • Loading branch information
gimantha authored Feb 6, 2025
2 parents 71c8173 + 94b26b3 commit c44e140
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -257,7 +257,7 @@ protected STNode invalidateRestAndAddToTrailingMinutiae(STNode node) {
while (peek().kind != SyntaxKind.EOF_TOKEN) {
STToken invalidToken = consume();
node = SyntaxErrors.cloneWithTrailingInvalidNodeMinutiae(node, invalidToken,
DiagnosticErrorCode.ERROR_INVALID_TOKEN);
DiagnosticErrorCode.ERROR_INVALID_TOKEN, invalidToken.text());
}

return node;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -151,4 +151,13 @@ public void testWithExprRecovery2() {
Assert.assertEquals(expressionNode.trailingInvalidTokens().size(), 0);
Assert.assertEquals(expressionNode.toString(), "foo ? MISSING[] MISSING[:] MISSING[]");
}

@Test
public void testInvalidTokenDiagnostic() {
ExpressionNode expressionNode = NodeParser.parseExpression("ab cd");
Assert.assertEquals(expressionNode.kind(), SyntaxKind.SIMPLE_NAME_REFERENCE);
Assert.assertTrue(expressionNode.hasDiagnostics());
Assert.assertEquals(expressionNode.toString(), "ab INVALID[cd]");
Assert.assertEquals(expressionNode.diagnostics().iterator().next().message(), "invalid token 'cd'");
}
}

0 comments on commit c44e140

Please sign in to comment.