From 2ca2aaeae07d8187f297008fe19e6306919d39fc Mon Sep 17 00:00:00 2001 From: Pierre-Emmanuel Patry Date: Thu, 23 Mar 2023 11:02:47 +0100 Subject: ast: Implement remaining expr TokenStream visitor Implement the missing expression functions visitors for TokenStream. gcc/rust/ChangeLog: * ast/rust-ast-tokenstream.cc (TokenStream::visit): Add visitors. (TokenStream::visit_closure_common): Merge common code for closure visitors. * ast/rust-ast-tokenstream.h: Add function prototype. * ast/rust-expr.h: Add missing move attribute getter. Signed-off-by: Pierre-Emmanuel Patry --- gcc/rust/ast/rust-ast-tokenstream.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'gcc/rust/ast/rust-ast-tokenstream.h') diff --git a/gcc/rust/ast/rust-ast-tokenstream.h b/gcc/rust/ast/rust-ast-tokenstream.h index c8a6982..bf3e0b2 100644 --- a/gcc/rust/ast/rust-ast-tokenstream.h +++ b/gcc/rust/ast/rust-ast-tokenstream.h @@ -94,6 +94,8 @@ private: void visit_function_common (std::unique_ptr &return_type, std::unique_ptr &block); + void visit_closure_common (ClosureExpr &expr); + void visit_loop_common (BaseLoopExpr &expr); void visit (LoopLabel &label); @@ -170,6 +172,7 @@ private: void visit (CallExpr &expr); void visit (MethodCallExpr &expr); void visit (FieldAccessExpr &expr); + void visit (ClosureParam ¶m); void visit (ClosureExprInner &expr); void visit (BlockExpr &expr); void visit (ClosureExprInnerTyped &expr); @@ -195,6 +198,8 @@ private: void visit (IfLetExprConseqElse &expr); void visit (IfLetExprConseqIf &expr); void visit (IfLetExprConseqIfLet &expr); + void visit (MatchArm &arm); + void visit (MatchCase &arm); void visit (MatchExpr &expr); void visit (AwaitExpr &expr); void visit (AsyncBlockExpr &expr); -- cgit v1.1