Change return of SkipPastLikelyEnd to be last consumed token (#3493)

This approach means the parse subtree includes the full token range
consumed.

---------

Co-authored-by: Jon Ross-Perkins <jperkins@google.com>
This commit is contained in:
josh11b
2023-12-11 22:11:09 +00:00
committed by GitHub
co-authored by Jon Ross-Perkins
parent 1addf10054
commit 6067ca3f49
28 changed files with 72 additions and 94 deletions
+3 -8
View File
@@ -401,14 +401,9 @@ auto HandleExprStatementFinish(Context& context) -> void {
context.emitter().Emit(*context.position(), ExpectedExprSemi);
}
if (auto semi_token = context.SkipPastLikelyEnd(state.token)) {
context.AddNode(NodeKind::ExprStatement, *semi_token, state.subtree_start,
/*has_error=*/true);
return;
}
// Found junk not even followed by a `;`, no node to add.
context.ReturnErrorOnState();
context.AddNode(NodeKind::ExprStatement,
context.SkipPastLikelyEnd(state.token), state.subtree_start,
/*has_error=*/true);
}
} // namespace Carbon::Parse