aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust
diff options
context:
space:
mode:
authorArthur Cohen <arthur.cohen@embecosm.com>2023-08-02 11:22:10 +0200
committerArthur Cohen <arthur.cohen@embecosm.com>2024-01-16 19:00:27 +0100
commit2bde73fa4669dfb34a981aa91b750e5ca8433491 (patch)
tree6dee29c51a6f7755d6b297357c08d98002ed20b3 /gcc/rust
parent3a5a74d91774dccd4ff7adc8b809781dd25a0f44 (diff)
downloadgcc-2bde73fa4669dfb34a981aa91b750e5ca8433491.zip
gcc-2bde73fa4669dfb34a981aa91b750e5ca8433491.tar.gz
gcc-2bde73fa4669dfb34a981aa91b750e5ca8433491.tar.bz2
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.
Diffstat (limited to 'gcc/rust')
-rw-r--r--gcc/rust/resolve/rust-default-resolver.cc16
-rw-r--r--gcc/rust/resolve/rust-default-resolver.h2
2 files changed, 14 insertions, 4 deletions
diff --git a/gcc/rust/resolve/rust-default-resolver.cc b/gcc/rust/resolve/rust-default-resolver.cc
index 5cf4fe7..1d54f91 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 &param : expr.get_params ())
+ param->accept_vis (*this);
+}
void
DefaultResolver::visit (AST::MethodCallExpr &expr)
-{}
+{
+ expr.get_receiver_expr ()->accept_vis (*this);
+ for (auto &param : 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 17b87ef..03b4a54 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 &);