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
+1 -5
View File
@@ -72,12 +72,8 @@ static auto HandleStatementKeywordFinish(Context& context, NodeKind node_kind)
context.emitter().Emit(*context.position(), ExpectedStatementSemi,
context.tokens().GetKind(state.token));
state.has_error = true;
// Recover to the next semicolon if possible, otherwise indicate the
// keyword for the error.
// Recover to the next semicolon if possible.
semi = context.SkipPastLikelyEnd(state.token);
if (!semi) {
semi = state.token;
}
}
context.AddNode(node_kind, *semi, state.subtree_start, state.has_error);
}