diff options
author | Arthur Cohen <arthur.cohen@embecosm.com> | 2023-08-02 11:22:10 +0200 |
---|---|---|
committer | CohenArthur <arthur.cohen@embecosm.com> | 2023-08-03 17:36:42 +0000 |
commit | d270a516e15e24876d77d4a27e76229e6468c2d5 (patch) | |
tree | 5206692de415c316ffaa7ee69afba4332537cd55 | |
parent | c9aeb8f914eb2b5c1480f5d67b23aa9b7e8b6b6f (diff) | |
download | gcc-d270a516e15e24876d77d4a27e76229e6468c2d5.zip gcc-d270a516e15e24876d77d4a27e76229e6468c2d5.tar.gz gcc-d270a516e15e24876d77d4a27e76229e6468c2d5.tar.bz2 |
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.
-rw-r--r-- | gcc/rust/resolve/rust-default-resolver.cc | 16 | ||||
-rw-r--r-- | gcc/rust/resolve/rust-default-resolver.h | 2 |
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 ¶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 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 &); |