mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-02 22:02:51 +01:00
Addr Keyword Implementation (#1255)
* Implement addr keyword * Add files that were deleted during merge Some files got deleted during merging trunk because of the executable semantics rename. * Implement changes from code review. Major changes: - Rename AddrBindingPattern to AddrPattern - Fix AddrPattern related changes in fuzzing * Update documentation for GetField * Fix AddPattern according to @zygoloid's suggestions * Apply @zygoloid's changes to method comment * Add a multi-component field example * Incorporate AST changes to fuzzer corpus * Refactor the deduced_param_list grammar rule Suggested by @zygoloid
This commit is contained in:
@@ -56,6 +56,9 @@ void Pattern::Print(llvm::raw_ostream& out) const {
|
||||
case PatternKind::VarPattern:
|
||||
out << "var" << cast<VarPattern>(*this).pattern();
|
||||
break;
|
||||
case PatternKind::AddrPattern:
|
||||
out << "addr" << cast<AddrPattern>(*this).binding();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -87,6 +90,9 @@ void Pattern::PrintID(llvm::raw_ostream& out) const {
|
||||
case PatternKind::VarPattern:
|
||||
out << "var ...";
|
||||
break;
|
||||
case PatternKind::AddrPattern:
|
||||
out << "addr ...";
|
||||
break;
|
||||
case PatternKind::ExpressionPattern:
|
||||
out << "...";
|
||||
break;
|
||||
@@ -112,6 +118,8 @@ auto VisitNestedPatterns(const Pattern& pattern,
|
||||
visitor);
|
||||
case PatternKind::VarPattern:
|
||||
return VisitNestedPatterns(cast<VarPattern>(pattern).pattern(), visitor);
|
||||
case PatternKind::AddrPattern:
|
||||
return VisitNestedPatterns(cast<AddrPattern>(pattern).binding(), visitor);
|
||||
case PatternKind::BindingPattern:
|
||||
case PatternKind::AutoPattern:
|
||||
case PatternKind::ExpressionPattern:
|
||||
|
||||
Reference in New Issue
Block a user