https://gcc.gnu.org/g:4023eb2397f1da03e5bbfdf9278ef4aaf03e3b86
commit 4023eb2397f1da03e5bbfdf9278ef4aaf03e3b86 Author: Arthur Cohen <arthur.co...@embecosm.com> Date: Tue Aug 22 15:40:25 2023 +0200 nr2.0: Store mappings in NameResolutionContext gcc/rust/ChangeLog: * resolve/rust-name-resolution-context.h: Store a reference to the mappings. * resolve/rust-name-resolution-context.cc (NameResolutionContext::NameResolutionContext): Likewise. Diff: --- gcc/rust/resolve/rust-name-resolution-context.cc | 4 ++++ gcc/rust/resolve/rust-name-resolution-context.h | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/gcc/rust/resolve/rust-name-resolution-context.cc b/gcc/rust/resolve/rust-name-resolution-context.cc index 82771cdd923e..8bb7a9a15c10 100644 --- a/gcc/rust/resolve/rust-name-resolution-context.cc +++ b/gcc/rust/resolve/rust-name-resolution-context.cc @@ -21,6 +21,10 @@ namespace Rust { namespace Resolver2_0 { +NameResolutionContext::NameResolutionContext () + : mappings (*Analysis::Mappings::get ()) +{} + tl::expected<NodeId, DuplicateNameError> NameResolutionContext::insert (Identifier name, NodeId id, Namespace ns) { diff --git a/gcc/rust/resolve/rust-name-resolution-context.h b/gcc/rust/resolve/rust-name-resolution-context.h index 6d14be35986a..d63ee33378b8 100644 --- a/gcc/rust/resolve/rust-name-resolution-context.h +++ b/gcc/rust/resolve/rust-name-resolution-context.h @@ -21,6 +21,7 @@ #include "optional.h" #include "rust-forever-stack.h" +#include "rust-hir-map.h" namespace Rust { namespace Resolver2_0 { @@ -136,6 +137,8 @@ correct class NameResolutionContext { public: + NameResolutionContext (); + /** * Insert a new value in the current rib. * @@ -174,6 +177,8 @@ public: ForeverStack<Namespace::Types> types; ForeverStack<Namespace::Macros> macros; ForeverStack<Namespace::Labels> labels; + + Analysis::Mappings &mappings; }; } // namespace Resolver2_0