mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-04 22:02:52 +01:00
Separate node kind for bindings inside var (#4822)
This is a step toward making binding pattern handling more robust, by removing its reliance on the node stack for context.
This commit is contained in:
@@ -8,11 +8,12 @@
|
||||
namespace Carbon::Parse {
|
||||
|
||||
auto HandlePattern(Context& context) -> void {
|
||||
context.PopAndDiscardState();
|
||||
auto state = context.PopState();
|
||||
if (context.PositionKind() == Lex::TokenKind::OpenParen) {
|
||||
context.PushState(State::PatternListAsTuple);
|
||||
context.PushStateForPattern(State::PatternListAsTuple,
|
||||
state.in_var_pattern);
|
||||
} else {
|
||||
context.PushState(State::BindingPattern);
|
||||
context.PushStateForPattern(State::BindingPattern, state.in_var_pattern);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user