diff options
author | Philip Herron <philip.herron@embecosm.com> | 2022-06-28 13:54:41 +0100 |
---|---|---|
committer | Philip Herron <philip.herron@embecosm.com> | 2022-06-28 14:05:34 +0100 |
commit | 7f8479378a99d17de6847d4482f23e11944d35c5 (patch) | |
tree | a0a5c3ec7cd50b2c1d63d804ab25aa02cf5d11c7 | |
parent | 700849ffd066855f9d831a6bb34d4fc3de30ed50 (diff) | |
download | gcc-7f8479378a99d17de6847d4482f23e11944d35c5.zip gcc-7f8479378a99d17de6847d4482f23e11944d35c5.tar.gz gcc-7f8479378a99d17de6847d4482f23e11944d35c5.tar.bz2 |
remove unnessecary useage of ResolveTypeToCanonicalPath when we dont need it here
-rw-r--r-- | gcc/rust/resolve/rust-ast-resolve-item.cc | 25 | ||||
-rw-r--r-- | gcc/rust/resolve/rust-ast-resolve-toplevel.h | 29 |
2 files changed, 20 insertions, 34 deletions
diff --git a/gcc/rust/resolve/rust-ast-resolve-item.cc b/gcc/rust/resolve/rust-ast-resolve-item.cc index 222da03..5b30cdb 100644 --- a/gcc/rust/resolve/rust-ast-resolve-item.cc +++ b/gcc/rust/resolve/rust-ast-resolve-item.cc @@ -598,13 +598,10 @@ ResolveItem::visit (AST::InherentImpl &impl_block) rust_assert (!self_cpath.is_empty ()); // Setup paths - bool canonicalize_type_args = !impl_block.has_generics (); - bool type_resolve_generic_args = false; - + std::string raw_impl_type_path = impl_block.get_type ()->as_string (); CanonicalPath impl_type - = ResolveTypeToCanonicalPath::resolve (*impl_block.get_type ().get (), - canonicalize_type_args, - type_resolve_generic_args); + = CanonicalPath::new_seg (impl_block.get_type ()->get_node_id (), + raw_impl_type_path); CanonicalPath impl_prefix = prefix.append (impl_type); // see https://godbolt.org/z/a3vMbsT6W @@ -762,17 +759,15 @@ ResolveItem::visit (AST::TraitImpl &impl_block) rust_assert (!canonical_impl_type.is_empty ()); // setup paths - bool canonicalize_type_args = !impl_block.has_generics (); - bool type_resolve_generic_args = false; - + std::string raw_impl_type_path = impl_block.get_type ()->as_string (); CanonicalPath impl_type_seg - = ResolveTypeToCanonicalPath::resolve (*impl_block.get_type ().get (), - canonicalize_type_args, - type_resolve_generic_args); + = CanonicalPath::new_seg (impl_block.get_type ()->get_node_id (), + raw_impl_type_path); + + std::string raw_trait_type_path = impl_block.get_trait_path ().as_string (); CanonicalPath trait_type_seg - = ResolveTypeToCanonicalPath::resolve (impl_block.get_trait_path (), - canonicalize_type_args, - type_resolve_generic_args); + = CanonicalPath::new_seg (impl_block.get_trait_path ().get_node_id (), + raw_trait_type_path); CanonicalPath projection = CanonicalPath::trait_impl_projection_seg (impl_block.get_node_id (), diff --git a/gcc/rust/resolve/rust-ast-resolve-toplevel.h b/gcc/rust/resolve/rust-ast-resolve-toplevel.h index 15f5af7..7aacc0a 100644 --- a/gcc/rust/resolve/rust-ast-resolve-toplevel.h +++ b/gcc/rust/resolve/rust-ast-resolve-toplevel.h @@ -325,34 +325,27 @@ public: void visit (AST::InherentImpl &impl_block) override { - bool canonicalize_type_args = !impl_block.has_generics (); - bool type_resolve_generic_args = false; - + std::string raw_impl_type_path = impl_block.get_type ()->as_string (); CanonicalPath impl_type - = ResolveTypeToCanonicalPath::resolve (*impl_block.get_type ().get (), - canonicalize_type_args, - type_resolve_generic_args); + = CanonicalPath::new_seg (impl_block.get_type ()->get_node_id (), + raw_impl_type_path); CanonicalPath impl_prefix = prefix.append (impl_type); for (auto &impl_item : impl_block.get_impl_items ()) ResolveToplevelImplItem::go (impl_item.get (), impl_prefix); - - // we cannot resolve canonical paths here until later on } void visit (AST::TraitImpl &impl_block) override { - bool canonicalize_type_args = !impl_block.has_generics (); - bool type_resolve_generic_args = false; - + std::string raw_impl_type_path = impl_block.get_type ()->as_string (); CanonicalPath impl_type_seg - = ResolveTypeToCanonicalPath::resolve (*impl_block.get_type ().get (), - canonicalize_type_args, - type_resolve_generic_args); + = CanonicalPath::new_seg (impl_block.get_type ()->get_node_id (), + raw_impl_type_path); + + std::string raw_trait_type_path = impl_block.get_trait_path ().as_string (); CanonicalPath trait_type_seg - = ResolveTypeToCanonicalPath::resolve (impl_block.get_trait_path (), - canonicalize_type_args, - type_resolve_generic_args); + = CanonicalPath::new_seg (impl_block.get_trait_path ().get_node_id (), + raw_trait_type_path); CanonicalPath projection = CanonicalPath::trait_impl_projection_seg (impl_block.get_node_id (), @@ -370,8 +363,6 @@ public: for (auto &impl_item : impl_block.get_impl_items ()) ResolveToplevelImplItem::go (impl_item.get (), impl_prefix); - - // we cannot resolve canonical paths here until later on } void visit (AST::Trait &trait) override |