gccrs: Add HIR lowering for GroupedPattern

gcc/rust/ChangeLog:

	* hir/rust-ast-lower-pattern.cc (ASTLoweringPattern::visit): Add proper visitor.
	* hir/rust-ast-lower-pattern.h: Declare it.

Signed-off-by: Owen Avery <powerboat9.gamer@gmail.com>
This commit is contained in:
Owen Avery
2023-01-11 11:54:54 -05:00
committed by Arthur Cohen
parent cb42610bfb
commit 93fcadd208
2 changed files with 17 additions and 0 deletions

View File

@@ -243,5 +243,21 @@ ASTLoweringPattern::visit (AST::RangePattern &pattern)
std::move (upper_bound), pattern.get_locus ());
}
void
ASTLoweringPattern::visit (AST::GroupedPattern &pattern)
{
auto crate_num = mappings->get_current_crate ();
Analysis::NodeMapping mapping (crate_num, pattern.get_node_id (),
mappings->get_next_hir_id (crate_num),
UNKNOWN_LOCAL_DEFID);
HIR::Pattern *inner
= ASTLoweringPattern::translate (pattern.get_pattern_in_parens ().get ());
translated
= new HIR::GroupedPattern (mapping, std::unique_ptr<HIR::Pattern> (inner),
pattern.get_locus ());
}
} // namespace HIR
} // namespace Rust

View File

@@ -39,6 +39,7 @@ public:
void visit (AST::TuplePattern &pattern) override;
void visit (AST::LiteralPattern &pattern) override;
void visit (AST::RangePattern &pattern) override;
void visit (AST::GroupedPattern &pattern) override;
private:
ASTLoweringPattern ();