mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-06 09:24:46 +01:00
Add support for var patterns (#5069)
Co-authored-by: Richard Smith <richard@metafoo.co.uk>
This commit is contained in:
co-authored by
Richard Smith
parent
331f55f0a2
commit
6d4f2567a7
@@ -9,11 +9,17 @@ namespace Carbon::Parse {
|
||||
|
||||
auto HandlePattern(Context& context) -> void {
|
||||
auto state = context.PopState();
|
||||
if (context.PositionKind() == Lex::TokenKind::OpenParen) {
|
||||
context.PushStateForPattern(State::PatternListAsTuple,
|
||||
state.in_var_pattern);
|
||||
} else {
|
||||
context.PushStateForPattern(State::BindingPattern, state.in_var_pattern);
|
||||
switch (context.PositionKind()) {
|
||||
case Lex::TokenKind::OpenParen:
|
||||
context.PushStateForPattern(State::PatternListAsTuple,
|
||||
state.in_var_pattern);
|
||||
break;
|
||||
case Lex::TokenKind::Var:
|
||||
context.PushStateForPattern(State::VariablePattern, state.in_var_pattern);
|
||||
break;
|
||||
default:
|
||||
context.PushStateForPattern(State::BindingPattern, state.in_var_pattern);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user