diff options
Diffstat (limited to 'gcc/rust/resolve/rust-early-name-resolver.cc')
-rw-r--r-- | gcc/rust/resolve/rust-early-name-resolver.cc | 38 |
1 files changed, 29 insertions, 9 deletions
diff --git a/gcc/rust/resolve/rust-early-name-resolver.cc b/gcc/rust/resolve/rust-early-name-resolver.cc index 3a485a0..4f01406 100644 --- a/gcc/rust/resolve/rust-early-name-resolver.cc +++ b/gcc/rust/resolve/rust-early-name-resolver.cc @@ -662,11 +662,8 @@ EarlyNameResolver::visit (AST::Function &function) for (auto &generic : function.get_generic_params ()) generic->accept_vis (*this); - if (function.has_self_param () && function.get_self_param ().has_type ()) - function.get_self_param ().get_type ()->accept_vis (*this); - - for (auto ¶m : function.get_function_params ()) - param.get_type ()->accept_vis (*this); + for (auto &p : function.get_function_params ()) + p->accept_vis (*this); if (function.has_return_type ()) function.get_return_type ()->accept_vis (*this); @@ -758,8 +755,8 @@ EarlyNameResolver::visit (AST::TraitItemFunc &item) for (auto &generic : decl.get_generic_params ()) generic->accept_vis (*this); - for (auto ¶m : decl.get_function_params ()) - param.get_type ()->accept_vis (*this); + for (auto &p : decl.get_function_params ()) + p->accept_vis (*this); if (item.has_definition ()) item.get_definition ()->accept_vis (*this); @@ -777,8 +774,8 @@ EarlyNameResolver::visit (AST::TraitItemMethod &item) for (auto &generic : decl.get_generic_params ()) generic->accept_vis (*this); - for (auto ¶m : decl.get_function_params ()) - param.get_type ()->accept_vis (*this); + for (auto &p : decl.get_function_params ()) + p->accept_vis (*this); if (item.has_definition ()) item.get_definition ()->accept_vis (*this); @@ -1232,5 +1229,28 @@ EarlyNameResolver::visit (AST::BareFunctionType &type) type.get_return_type ()->accept_vis (*this); } +void +EarlyNameResolver::visit (AST::VariadicParam ¶m) +{ + if (param.has_pattern ()) + param.get_pattern ()->accept_vis (*this); +} + +void +EarlyNameResolver::visit (AST::FunctionParam ¶m) +{ + param.get_pattern ()->accept_vis (*this); + param.get_type ()->accept_vis (*this); +} + +void +EarlyNameResolver::visit (AST::SelfParam ¶m) +{ + if (param.has_type ()) + param.get_type ()->accept_vis (*this); + if (param.has_lifetime ()) + param.get_lifetime ().accept_vis (*this); +} + } // namespace Resolver } // namespace Rust |