mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-09-28 19:14:54 +01:00
Let variables (#1095)
* Modify parser and AST nodes to include let statement * Implement let variables * Remove redundant code in fail_match_choice test * Add comment for has_value_category() * Apply suggestions from code review Co-authored-by: Jon Meow <46229924+jonmeow@users.noreply.github.com> * clang-format changes * Update comments for new BindingPattern methods * Implement nested vars in patterns * Apply suggestions from @geoffromer's code review Co-authored-by: Geoff Romer <gromer@google.com> * Implement changes from code review. * Remove maybe_var_pattern grammar rule Co-authored-by: Jon Meow <46229924+jonmeow@users.noreply.github.com> Co-authored-by: Geoff Romer <gromer@google.com>
This commit is contained in:
committed by
GitHub
co-authored by
Jon Meow
Geoff Romer
parent
93842ad878
commit
20b272446f
@@ -48,6 +48,9 @@ void Pattern::Print(llvm::raw_ostream& out) const {
|
||||
case PatternKind::ExpressionPattern:
|
||||
out << cast<ExpressionPattern>(*this).expression();
|
||||
break;
|
||||
case PatternKind::VarPattern:
|
||||
out << "var" << cast<VarPattern>(*this).pattern();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,6 +74,9 @@ static void GetBindingsImpl(
|
||||
case PatternKind::AutoPattern:
|
||||
case PatternKind::ExpressionPattern:
|
||||
return;
|
||||
case PatternKind::VarPattern:
|
||||
GetBindingsImpl(cast<VarPattern>(pattern).pattern(), bindings);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user