aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/resolve/rust-ast-resolve-expr.h
diff options
context:
space:
mode:
authorNirmal Patel <npate012@gmail.com>2021-10-28 13:58:03 -0400
committerNirmal Patel <npate012@gmail.com>2021-10-28 13:58:03 -0400
commit08b83163db07c903a6524f15f9adce4a0e7fa359 (patch)
tree22cc4400519d1b4826596dceb1faf6cb07520fc8 /gcc/rust/resolve/rust-ast-resolve-expr.h
parente28c43f2f40cf405e89b3892aa65f6a06fa1c802 (diff)
downloadgcc-08b83163db07c903a6524f15f9adce4a0e7fa359.zip
gcc-08b83163db07c903a6524f15f9adce4a0e7fa359.tar.gz
gcc-08b83163db07c903a6524f15f9adce4a0e7fa359.tar.bz2
Remove iterate_params from AST::CallExpr and AST::MethodCallExpr
These lambda iterators are removed because they make working with IR more complex. Instead, we are using the get_params () to access the parameters with the help of a for loop. Fixes #722 #723 Signed-off-by: Nirmal Patel <npate012@gmail.com>
Diffstat (limited to 'gcc/rust/resolve/rust-ast-resolve-expr.h')
-rw-r--r--gcc/rust/resolve/rust-ast-resolve-expr.h14
1 files changed, 6 insertions, 8 deletions
diff --git a/gcc/rust/resolve/rust-ast-resolve-expr.h b/gcc/rust/resolve/rust-ast-resolve-expr.h
index 48906f5..12a4f8c 100644
--- a/gcc/rust/resolve/rust-ast-resolve-expr.h
+++ b/gcc/rust/resolve/rust-ast-resolve-expr.h
@@ -101,10 +101,9 @@ public:
void visit (AST::CallExpr &expr) override
{
ResolveExpr::go (expr.get_function_expr ().get (), expr.get_node_id ());
- expr.iterate_params ([&] (AST::Expr *p) mutable -> bool {
- ResolveExpr::go (p, expr.get_node_id ());
- return true;
- });
+ auto const &in_params = expr.get_params ();
+ for (auto &param : in_params)
+ ResolveExpr::go (param.get (), expr.get_node_id ());
}
void visit (AST::MethodCallExpr &expr) override
@@ -117,10 +116,9 @@ public:
ResolveTypeToCanonicalPath::type_resolve_generic_args (args);
}
- expr.iterate_params ([&] (AST::Expr *p) mutable -> bool {
- ResolveExpr::go (p, expr.get_node_id ());
- return true;
- });
+ auto const &in_params = expr.get_params ();
+ for (auto &param : in_params)
+ ResolveExpr::go (param.get (), expr.get_node_id ());
}
void visit (AST::AssignmentExpr &expr) override