From: Arthur Cohen Date: Wed, 2 Aug 2023 09:22:10 +0000 (+0200) Subject: gccrs: nr2.0: Visit receiver/call expression and arguments in calls/methods X-Git-Tag: basepoints/gcc-15~2252 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2bde73fa4669dfb34a981aa91b750e5ca8433491;p=thirdparty%2Fgcc.git gccrs: nr2.0: Visit receiver/call expression and arguments in calls/methods gcc/rust/ChangeLog: * resolve/rust-default-resolver.cc (DefaultResolver::visit): Visit CallExpr and MethodCallExpr properly. * resolve/rust-default-resolver.h: Switch "node" to plural in documentation. --- diff --git a/gcc/rust/resolve/rust-default-resolver.cc b/gcc/rust/resolve/rust-default-resolver.cc index 5cf4fe79ea1a..1d54f91e644e 100644 --- a/gcc/rust/resolve/rust-default-resolver.cc +++ b/gcc/rust/resolve/rust-default-resolver.cc @@ -303,15 +303,25 @@ DefaultResolver::visit (AST::StructExprFieldIndexValue &) void DefaultResolver::visit (AST::CallExpr &expr) -{} +{ + expr.get_function_expr ()->accept_vis (*this); + for (auto ¶m : expr.get_params ()) + param->accept_vis (*this); +} void DefaultResolver::visit (AST::MethodCallExpr &expr) -{} +{ + expr.get_receiver_expr ()->accept_vis (*this); + for (auto ¶m : expr.get_params ()) + param->accept_vis (*this); +} void DefaultResolver::visit (AST::FieldAccessExpr &expr) -{} +{ + expr.get_receiver_expr ()->accept_vis (*this); +} void DefaultResolver::visit (AST::ClosureExprInner &) diff --git a/gcc/rust/resolve/rust-default-resolver.h b/gcc/rust/resolve/rust-default-resolver.h index 17b87ef54350..03b4a5421a4f 100644 --- a/gcc/rust/resolve/rust-default-resolver.h +++ b/gcc/rust/resolve/rust-default-resolver.h @@ -56,7 +56,7 @@ public: void visit (AST::Union &); void visit (AST::Enum &); - // Visitors that visit their expression node + // Visitors that visit their expression node(s) void visit (AST::BorrowExpr &); void visit (AST::DereferenceExpr &); void visit (AST::ErrorPropagationExpr &);