From: Pierre-Emmanuel Patry <[email protected]>

Rename pmacro_mappings and crate_mappings to pmacro and crate
respectively to stay consistent with the other members name.

gcc/rust/ChangeLog:

        * ast/rust-collect-lang-items.cc (CollectLangItems::visit): Adapt name
        at call site.
        * backend/rust-compile-expr.cc: Likewise.
        * backend/rust-compile-type.cc (TyTyResolveCompile::get_unit_type):
        Likewise.
        * checks/errors/borrowck/rust-borrow-checker.cc (BorrowChecker::go):
        Likewise.
        * checks/errors/privacy/rust-visibility-resolver.cc
        (VisibilityResolver::resolve_module_path): Likewise.
        * expand/rust-macro-expand.h (struct MacroExpander): Likewise.
        * expand/rust-macro-substitute-ctx.cc: Likewise.
        * hir/rust-ast-lower-base.cc (ASTLoweringBase::lower_lifetime):
        Likewise.
        (ASTLoweringBase::lower_loop_label): Likewise.
        (ASTLoweringBase::lower_path_expr_seg): Likewise.
        (ASTLoweringBase::lower_self): Likewise.
        (ASTLoweringBase::lower_extern_block): Likewise.
        * hir/rust-ast-lower-block.h: Likewise.
        * hir/rust-ast-lower-enumitem.h: Likewise.
        * hir/rust-ast-lower-expr.cc (ASTLoweringExpr::visit): Likewise.
        * hir/rust-ast-lower-extern.h: Likewise.
        * hir/rust-ast-lower-implitem.cc (ASTLowerImplItem::visit): Likewise.
        (ASTLowerTraitItem::visit): Likewise.
        * hir/rust-ast-lower-item.cc (ASTLoweringItem::visit): Likewise.
        (ASTLoweringSimplePath::lower): Likewise.
        * hir/rust-ast-lower-pattern.cc (ASTLoweringPattern::visit): Likewise.
        * hir/rust-ast-lower-stmt.cc (ASTLoweringStmt::visit): Likewise.
        * hir/rust-ast-lower-type.cc (ASTLowerTypePath::visit): Likewise.
        (ASTLowerQualifiedPathInType::visit): Likewise.
        (ASTLoweringType::visit): Likewise.
        (ASTLowerGenericParam::visit): Likewise.
        (ASTLoweringTypeBounds::visit): Likewise.
        (ASTLowerWhereClauseItem::visit): Likewise.
        * hir/rust-ast-lower.cc (ASTLowering::go): Likewise.
        (ASTLoweringBlock::visit): Likewise.
        (ASTLoweringIfBlock::visit): Likewise.
        (ASTLoweringIfLetBlock::desugar_iflet): Likewise.
        (ASTLoweringIfLetBlock::visit): Likewise.
        (ASTLowerStructExprField::visit): Likewise.
        (ASTLoweringExprWithBlock::visit): Likewise.
        (ASTLowerPathInExpression::visit): Likewise.
        (ASTLoweringBase::lower_qual_path_type): Likewise.
        (ASTLowerQualPathInExpression::visit): Likewise.
        * metadata/rust-export-metadata.cc 
(PublicInterface::gather_export_data):
        Likewise.
        (PublicInterface::write_to_object_file): Likewise.
        (PublicInterface::write_to_path): Likewise.
        (PublicInterface::expected_metadata_filename): Likewise.
        * resolve/rust-default-resolver.cc (DefaultResolver::visit): Likewise.
        * resolve/rust-early-name-resolver-2.0.cc 
(Early::visit_derive_attribute):
        Likewise.
        (Early::visit_non_builtin_attribute): Likewise.
        * resolve/rust-forever-stack.h: Likewise.
        * resolve/rust-name-resolution-context.h: Likewise.
        * resolve/rust-toplevel-name-resolver-2.0.cc 
(TopLevel::visit_extern_crate):
        Likewise.
        * rust-session-manager.cc (Session::handle_crate_name): Likewise.
        (Session::compile_crate): Likewise.
        (Session::load_extern_crate): Likewise.
        * typecheck/rust-hir-type-check-base.cc 
(TypeCheckBase::resolve_literal):
        Likewise.
        * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit):
        Likewise.
        (TypeCheckExpr::resolve_fn_trait_call): Likewise.
        * typecheck/rust-hir-type-check-implitem.cc 
(TypeCheckTopLevelExternItem::visit):
        Likewise.
        (TypeCheckImplItem::resolve_function_signature): Likewise.
        * typecheck/rust-hir-type-check-item.cc (TypeCheckItem::visit):
        Likewise.
        * typecheck/rust-hir-type-check-struct.cc 
(TypeCheckStructExpr::resolve):
        Likewise.
        * typecheck/rust-hir-type-check.cc 
(TraitItemReference::get_type_from_fn):
        Likewise.
        * typecheck/rust-type-util.cc (query_type): Likewise.
        * typecheck/rust-tyty-bounds.cc: Likewise.
        * typecheck/rust-tyty-subst.cc 
(SubstitutionParamMapping::override_context):
        Likewise.
        * typecheck/rust-tyty-util.cc (TyVar::monomorphized_clone): Likewise.
        * typecheck/rust-tyty.cc (InferType::clone): Likewise.
        (VariantDef::clone): Likewise.
        (VariantDef::monomorphized_clone): Likewise.
        (ConstInferType::clone): Likewise.
        * util/rust-hir-map.cc (Mappings::get_ast_crate_by_node_id): Likewise.
        (Mappings::insert_macro_def): Likewise.
        (Mappings::insert_glob_container): Likewise.
        * util/rust-hir-map.h: Rename pmacro_mappings to pmacro and
        crate_mappings to crate.

Signed-off-by: Pierre-Emmanuel Patry <[email protected]>
---
This change was merged into the gccrs repository and is posted here for
upstream visibility and potential drive-by review, as requested by GCC
release managers.
Each commit email contains a link to its details on github from where you can
find the Pull-Request and associated discussions.


Commit on github: 
https://github.com/Rust-GCC/gccrs/commit/096f12784f850519602b201025fca7d1b66e7eb6

The commit has NOT been mentioned in any issue.

The commit has been mentioned in the following pull-request(s):
 - https://github.com/Rust-GCC/gccrs/pull/4878

 gcc/rust/ast/rust-collect-lang-items.cc       |  2 +-
 gcc/rust/backend/rust-compile-expr.cc         |  4 +-
 gcc/rust/backend/rust-compile-type.cc         |  4 +-
 .../errors/borrowck/rust-borrow-checker.cc    |  2 +-
 .../privacy/rust-visibility-resolver.cc       |  4 +-
 gcc/rust/expand/rust-macro-expand.h           |  6 +-
 gcc/rust/expand/rust-macro-substitute-ctx.cc  |  4 +-
 gcc/rust/hir/rust-ast-lower-base.cc           | 10 +--
 gcc/rust/hir/rust-ast-lower-block.h           |  4 +-
 gcc/rust/hir/rust-ast-lower-enumitem.h        | 12 +--
 gcc/rust/hir/rust-ast-lower-expr.cc           | 78 +++++++++----------
 gcc/rust/hir/rust-ast-lower-extern.h          |  8 +-
 gcc/rust/hir/rust-ast-lower-implitem.cc       | 16 ++--
 gcc/rust/hir/rust-ast-lower-item.cc           | 42 +++++-----
 gcc/rust/hir/rust-ast-lower-pattern.cc        | 26 +++----
 gcc/rust/hir/rust-ast-lower-stmt.cc           |  6 +-
 gcc/rust/hir/rust-ast-lower-type.cc           | 48 ++++++------
 gcc/rust/hir/rust-ast-lower.cc                | 32 ++++----
 gcc/rust/metadata/rust-export-metadata.cc     | 12 +--
 gcc/rust/resolve/rust-default-resolver.cc     |  6 +-
 .../resolve/rust-early-name-resolver-2.0.cc   | 15 ++--
 gcc/rust/resolve/rust-forever-stack.h         |  2 +-
 .../resolve/rust-name-resolution-context.h    | 11 +--
 .../rust-toplevel-name-resolver-2.0.cc        | 13 ++--
 gcc/rust/rust-session-manager.cc              | 19 ++---
 .../typecheck/rust-hir-type-check-base.cc     |  2 +-
 .../typecheck/rust-hir-type-check-expr.cc     |  6 +-
 .../typecheck/rust-hir-type-check-implitem.cc |  4 +-
 .../typecheck/rust-hir-type-check-item.cc     |  2 +-
 .../typecheck/rust-hir-type-check-struct.cc   |  2 +-
 gcc/rust/typecheck/rust-hir-type-check.cc     |  2 +-
 gcc/rust/typecheck/rust-type-util.cc          |  4 +-
 gcc/rust/typecheck/rust-tyty-bounds.cc        |  2 +-
 gcc/rust/typecheck/rust-tyty-subst.cc         |  5 +-
 gcc/rust/typecheck/rust-tyty-util.cc          |  4 +-
 gcc/rust/typecheck/rust-tyty.cc               | 10 +--
 gcc/rust/util/rust-hir-map.cc                 |  7 +-
 gcc/rust/util/rust-hir-map.h                  |  8 +-
 38 files changed, 216 insertions(+), 228 deletions(-)

diff --git a/gcc/rust/ast/rust-collect-lang-items.cc 
b/gcc/rust/ast/rust-collect-lang-items.cc
index 0b3214253..c7843c692 100644
--- a/gcc/rust/ast/rust-collect-lang-items.cc
+++ b/gcc/rust/ast/rust-collect-lang-items.cc
@@ -131,7 +131,7 @@ CollectLangItems::visit (AST::EnumItemDiscriminant &item)
 void
 CollectLangItems::visit (AST::ExternCrate &extern_crate)
 {
-  auto &crate_mappings = Analysis::Mappings::get ().crate_mapping;
+  auto &crate_mappings = Analysis::Mappings::get ().crate;
   auto crate_num
     = crate_mappings.lookup_crate_name (extern_crate.get_referenced_crate ());
   if (crate_num)
diff --git a/gcc/rust/backend/rust-compile-expr.cc 
b/gcc/rust/backend/rust-compile-expr.cc
index 0f16010a3..54ea68f3b 100644
--- a/gcc/rust/backend/rust-compile-expr.cc
+++ b/gcc/rust/backend/rust-compile-expr.cc
@@ -2696,8 +2696,8 @@ HIRCompileBase::resolve_unsized_adt_adjustment (
       TyTy::BaseType *cloned_target = target_adt->clone ();
       cloned_target->set_ref (t_tyvar.get_ref ());
       Analysis::NodeMapping pseudo_mapping (
-       ctx->get_mappings ().crate_mapping.get_current_crate (), 0,
-       t_tyvar.get_ref (), 0);
+       ctx->get_mappings ().crate.get_current_crate (), 0, t_tyvar.get_ref (),
+       0);
       ctx->get_tyctx ()->insert_type (pseudo_mapping, cloned_target);
 
       const TyTy::ReferenceType r (ctx->get_mappings ().get_next_hir_id (),
diff --git a/gcc/rust/backend/rust-compile-type.cc 
b/gcc/rust/backend/rust-compile-type.cc
index 16d32ac73..485180c7e 100644
--- a/gcc/rust/backend/rust-compile-type.cc
+++ b/gcc/rust/backend/rust-compile-type.cc
@@ -178,8 +178,8 @@ TyTyResolveCompile::get_unit_type (Context *ctx)
   static tree unit_type;
   if (unit_type == nullptr)
     {
-      auto cn = ctx->get_mappings ().crate_mapping.get_current_crate ();
-      auto &c = ctx->get_mappings ().crate_mapping.get_ast_crate (cn);
+      auto cn = ctx->get_mappings ().crate.get_current_crate ();
+      auto &c = ctx->get_mappings ().crate.get_ast_crate (cn);
       location_t locus = BUILTINS_LOCATION;
       if (c.items.size () > 0)
        {
diff --git a/gcc/rust/checks/errors/borrowck/rust-borrow-checker.cc 
b/gcc/rust/checks/errors/borrowck/rust-borrow-checker.cc
index f9e9316f9..16b8f76a8 100644
--- a/gcc/rust/checks/errors/borrowck/rust-borrow-checker.cc
+++ b/gcc/rust/checks/errors/borrowck/rust-borrow-checker.cc
@@ -55,7 +55,7 @@ BorrowChecker::go (HIR::Crate &crate)
     {
       mkdir ("bir_dump", 0755);
       auto &mappings = Analysis::Mappings::get ();
-      crate_name = *mappings.crate_mapping.get_crate_name (
+      crate_name = *mappings.crate.get_crate_name (
        crate.get_mappings ().get_crate_num ());
       mkdir ("nll_facts_gccrs", 0755);
     }
diff --git a/gcc/rust/checks/errors/privacy/rust-visibility-resolver.cc 
b/gcc/rust/checks/errors/privacy/rust-visibility-resolver.cc
index 76a949062..5e65619fe 100644
--- a/gcc/rust/checks/errors/privacy/rust-visibility-resolver.cc
+++ b/gcc/rust/checks/errors/privacy/rust-visibility-resolver.cc
@@ -82,8 +82,8 @@ VisibilityResolver::resolve_module_path (const 
HIR::SimplePath &restriction,
   rust_assert (hid.has_value ());
   auto ref = hid.value ();
 
-  auto crate = mappings.crate_mapping.get_ast_crate (
-    mappings.crate_mapping.get_current_crate ());
+  auto crate
+    = mappings.crate.get_ast_crate (mappings.crate.get_current_crate ());
 
   // we may be dealing with pub(crate)
   if (ref_node_id == crate.get_node_id ())
diff --git a/gcc/rust/expand/rust-macro-expand.h 
b/gcc/rust/expand/rust-macro-expand.h
index 02de84220..ae52bf79c 100644
--- a/gcc/rust/expand/rust-macro-expand.h
+++ b/gcc/rust/expand/rust-macro-expand.h
@@ -412,7 +412,7 @@ struct MacroExpander
   AST::Fragment expand_derive_proc_macro (T &item, AST::SimplePath &path)
   {
     tl::optional<CustomDeriveProcMacro &> macro
-      = mappings.pmacro_mappings.lookup_derive_invocation (path);
+      = mappings.pmacro.lookup_derive_invocation (path);
     if (!macro.has_value ())
       {
        rust_error_at (path.get_locus (), "macro not found");
@@ -435,7 +435,7 @@ struct MacroExpander
                                        AST::MacroInvocation &invocation)
   {
     tl::optional<BangProcMacro &> macro
-      = mappings.pmacro_mappings.lookup_bang_invocation (invocation);
+      = mappings.pmacro.lookup_bang_invocation (invocation);
     if (!macro.has_value ())
       {
        rust_error_at (invocation.get_locus (), "macro not found");
@@ -457,7 +457,7 @@ struct MacroExpander
   AST::Fragment expand_attribute_proc_macro (T &item, AST::SimplePath &path)
   {
     tl::optional<AttributeProcMacro &> macro
-      = mappings.pmacro_mappings.lookup_attribute_invocation (path);
+      = mappings.pmacro.lookup_attribute_invocation (path);
     if (!macro.has_value ())
       {
        rust_error_at (path.get_locus (), "macro not found");
diff --git a/gcc/rust/expand/rust-macro-substitute-ctx.cc 
b/gcc/rust/expand/rust-macro-substitute-ctx.cc
index 44c7512f8..5fa21e64f 100644
--- a/gcc/rust/expand/rust-macro-substitute-ctx.cc
+++ b/gcc/rust/expand/rust-macro-substitute-ctx.cc
@@ -30,7 +30,7 @@ SubstituteCtx::substitute_dollar_crate (
   auto &mappings = Analysis::Mappings::get ();
 
   auto def_crate = mappings.lookup_macro_def_crate (definition.get_node_id ());
-  auto current_crate = mappings.crate_mapping.get_current_crate ();
+  auto current_crate = mappings.crate.get_current_crate ();
 
   rust_assert (def_crate);
 
@@ -44,7 +44,7 @@ SubstituteCtx::substitute_dollar_crate (
     }
   else
     {
-      auto name = mappings.crate_mapping.get_crate_name (*def_crate);
+      auto name = mappings.crate.get_crate_name (*def_crate);
 
       rust_assert (name);
 
diff --git a/gcc/rust/hir/rust-ast-lower-base.cc 
b/gcc/rust/hir/rust-ast-lower-base.cc
index ddf866952..ffe9f91fd 100644
--- a/gcc/rust/hir/rust-ast-lower-base.cc
+++ b/gcc/rust/hir/rust-ast-lower-base.cc
@@ -596,7 +596,7 @@ ASTLoweringBase::lower_lifetime (AST::Lifetime &lifetime,
       lifetime_type = AST::Lifetime::STATIC;
     }
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, lifetime.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -611,7 +611,7 @@ ASTLoweringBase::lower_loop_label (AST::LoopLabel 
&loop_label)
 {
   HIR::Lifetime life = lower_lifetime (loop_label.get_lifetime ());
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, loop_label.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -636,7 +636,7 @@ ASTLoweringBase::lower_generic_params (
 HIR::PathExprSegment
 ASTLoweringBase::lower_path_expr_seg (AST::PathExprSegment &s)
 {
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, s.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -717,7 +717,7 @@ ASTLoweringBase::lower_self (AST::Param &param)
   rust_assert (param.is_self ());
 
   auto self = static_cast<AST::SelfParam &> (param);
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, self.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 mappings.get_next_localdef_id (crate_num));
@@ -1043,7 +1043,7 @@ ASTLoweringBase::lower_extern_block (AST::ExternBlock 
&extern_block)
 {
   HIR::Visibility vis = translate_visibility (extern_block.get_visibility ());
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, extern_block.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 mappings.get_next_localdef_id (crate_num));
diff --git a/gcc/rust/hir/rust-ast-lower-block.h 
b/gcc/rust/hir/rust-ast-lower-block.h
index cb5409e5f..eadaebd7e 100644
--- a/gcc/rust/hir/rust-ast-lower-block.h
+++ b/gcc/rust/hir/rust-ast-lower-block.h
@@ -51,7 +51,7 @@ public:
 
     HIR::BlockExpr *block
       = ASTLoweringBlock::translate (expr.get_block_expr (), terminated);
-    auto crate_num = resolver.mappings.crate_mapping.get_current_crate ();
+    auto crate_num = resolver.mappings.crate.get_current_crate ();
     Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                   resolver.mappings.get_next_hir_id (
                                     crate_num),
@@ -199,7 +199,7 @@ public:
     if (expr.has_loop_label ())
       loop_label = lower_loop_label (expr.get_loop_label ());
 
-    auto crate_num = mappings.crate_mapping.get_current_crate ();
+    auto crate_num = mappings.crate.get_current_crate ();
     Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                   mappings.get_next_hir_id (crate_num),
                                   UNKNOWN_LOCAL_DEFID);
diff --git a/gcc/rust/hir/rust-ast-lower-enumitem.h 
b/gcc/rust/hir/rust-ast-lower-enumitem.h
index e5f06b40c..0c3ef38c5 100644
--- a/gcc/rust/hir/rust-ast-lower-enumitem.h
+++ b/gcc/rust/hir/rust-ast-lower-enumitem.h
@@ -54,7 +54,7 @@ public:
 
   void visit (AST::EnumItem &item) override
   {
-    auto crate_num = mappings.crate_mapping.get_current_crate ();
+    auto crate_num = mappings.crate.get_current_crate ();
     Analysis::NodeMapping mapping (crate_num, item.get_node_id (),
                                   mappings.get_next_hir_id (crate_num),
                                   mappings.get_next_localdef_id (crate_num));
@@ -69,7 +69,7 @@ public:
 
   void visit (AST::EnumItemTuple &item) override
   {
-    auto crate_num = mappings.crate_mapping.get_current_crate ();
+    auto crate_num = mappings.crate.get_current_crate ();
     Analysis::NodeMapping mapping (crate_num, item.get_node_id (),
                                   mappings.get_next_hir_id (crate_num),
                                   mappings.get_next_localdef_id (crate_num));
@@ -87,7 +87,7 @@ public:
        HIR::Visibility vis = translate_visibility (field.get_visibility ());
        HIR::Type *type = ASTLoweringType::translate (field.get_field_type ());
 
-       auto crate_num = mappings.crate_mapping.get_current_crate ();
+       auto crate_num = mappings.crate.get_current_crate ();
        Analysis::NodeMapping field_mapping (
          crate_num, field.get_node_id (), mappings.get_next_hir_id (crate_num),
          mappings.get_next_localdef_id (crate_num));
@@ -104,7 +104,7 @@ public:
 
   void visit (AST::EnumItemStruct &item) override
   {
-    auto crate_num = mappings.crate_mapping.get_current_crate ();
+    auto crate_num = mappings.crate.get_current_crate ();
     Analysis::NodeMapping mapping (crate_num, item.get_node_id (),
                                   mappings.get_next_hir_id (crate_num),
                                   mappings.get_next_localdef_id (crate_num));
@@ -120,7 +120,7 @@ public:
        HIR::Visibility vis = translate_visibility (field.get_visibility ());
        HIR::Type *type = ASTLoweringType::translate (field.get_field_type ());
 
-       auto crate_num = mappings.crate_mapping.get_current_crate ();
+       auto crate_num = mappings.crate.get_current_crate ();
        Analysis::NodeMapping field_mapping (
          crate_num, field.get_node_id (), mappings.get_next_hir_id (crate_num),
          mappings.get_next_localdef_id (crate_num));
@@ -145,7 +145,7 @@ public:
 
   void visit (AST::EnumItemDiscriminant &item) override
   {
-    auto crate_num = mappings.crate_mapping.get_current_crate ();
+    auto crate_num = mappings.crate.get_current_crate ();
     Analysis::NodeMapping mapping (crate_num, item.get_node_id (),
                                   mappings.get_next_hir_id (crate_num),
                                   mappings.get_next_localdef_id (crate_num));
diff --git a/gcc/rust/hir/rust-ast-lower-expr.cc 
b/gcc/rust/hir/rust-ast-lower-expr.cc
index 4ab3ed56f..5aefbfaa3 100644
--- a/gcc/rust/hir/rust-ast-lower-expr.cc
+++ b/gcc/rust/hir/rust-ast-lower-expr.cc
@@ -66,7 +66,7 @@ ASTLoweringExpr::visit (AST::TupleIndexExpr &expr)
   HIR::Expr *tuple_expr
     = ASTLoweringExpr::translate (expr.get_tuple_expr (), &terminated);
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -86,7 +86,7 @@ ASTLoweringExpr::visit (AST::TupleExpr &expr)
   for (auto &e : expr.get_tuple_elems ())
     tuple_elements.emplace_back (ASTLoweringExpr::translate (*e));
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -131,7 +131,7 @@ void
 ASTLoweringExpr::visit (AST::AnonConst &expr)
 {
   auto &mappings = Analysis::Mappings::get ();
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   auto mapping = Analysis::NodeMapping (crate_num, expr.get_node_id (),
                                        mappings.get_next_hir_id (crate_num),
                                        UNKNOWN_LOCAL_DEFID);
@@ -161,7 +161,7 @@ ASTLoweringExpr::visit (AST::ConstBlock &expr)
   auto anon_const = static_cast<AnonConst *> (inner_expr);
 
   auto &mappings = Analysis::Mappings::get ();
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   auto mapping = Analysis::NodeMapping (crate_num, expr.get_node_id (),
                                        mappings.get_next_hir_id (crate_num),
                                        UNKNOWN_LOCAL_DEFID);
@@ -194,7 +194,7 @@ ASTLoweringExpr::visit (AST::BoxExpr &expr)
 {
   HIR::Expr *box_expr = ASTLoweringExpr::translate (expr.get_boxed_expr ());
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -212,7 +212,7 @@ ASTLoweringExpr::visit (AST::ReturnExpr &expr)
        ? ASTLoweringExpr::translate (expr.get_returned_expr ())
        : nullptr;
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -234,7 +234,7 @@ ASTLoweringExpr::visit (AST::CallExpr &expr)
   for (auto &param : in_params)
     params.emplace_back (ASTLoweringExpr::translate (*param));
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (
     crate_num, UNKNOWN_NODEID /* this can map back to the AST*/,
     mappings.get_next_hir_id (crate_num), UNKNOWN_LOCAL_DEFID);
@@ -259,7 +259,7 @@ ASTLoweringExpr::visit (AST::MethodCallExpr &expr)
   for (auto &param : in_params)
     params.emplace_back (ASTLoweringExpr::translate (*param));
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -276,7 +276,7 @@ ASTLoweringExpr::visit (AST::AssignmentExpr &expr)
   HIR::Expr *lhs = ASTLoweringExpr::translate (expr.get_left_expr ());
   HIR::Expr *rhs = ASTLoweringExpr::translate (expr.get_right_expr ());
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -290,7 +290,7 @@ ASTLoweringExpr::visit (AST::AssignmentExpr &expr)
 void
 ASTLoweringExpr::visit (AST::IdentifierExpr &expr)
 {
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping1 (crate_num, expr.get_node_id (),
                                  mappings.get_next_hir_id (crate_num),
                                  UNKNOWN_LOCAL_DEFID);
@@ -310,7 +310,7 @@ ASTLoweringExpr::visit (AST::ArrayExpr &expr)
   rust_assert (translated_array_elems != nullptr);
   HIR::ArrayElems *elems = translated_array_elems;
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -328,7 +328,7 @@ ASTLoweringExpr::visit (AST::ArrayIndexExpr &expr)
   HIR::Expr *array_index_expr
     = ASTLoweringExpr::translate (expr.get_index_expr ());
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -348,7 +348,7 @@ ASTLoweringExpr::visit (AST::ArrayElemsValues &elems)
   for (auto &elem : elems.get_values ())
     elements.emplace_back (ASTLoweringExpr::translate (*elem));
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, elems.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -363,7 +363,7 @@ ASTLoweringExpr::visit (AST::ArrayElemsCopied &elems)
   HIR::Expr *element = ASTLoweringExpr::translate (elems.get_elem_to_copy ());
   HIR::Expr *num_copies = ASTLoweringExpr::translate (elems.get_num_copies ());
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, elems.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -376,7 +376,7 @@ ASTLoweringExpr::visit (AST::ArrayElemsCopied &elems)
 void
 ASTLoweringExpr::visit (AST::LiteralExpr &expr)
 {
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -394,7 +394,7 @@ ASTLoweringExpr::visit (AST::ArithmeticOrLogicalExpr &expr)
   HIR::Expr *rhs = ASTLoweringExpr::translate (expr.get_right_expr ());
   rust_assert (rhs != nullptr);
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -412,7 +412,7 @@ ASTLoweringExpr::visit (AST::ComparisonExpr &expr)
   HIR::Expr *rhs = ASTLoweringExpr::translate (expr.get_right_expr ());
   rust_assert (rhs != nullptr);
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -431,7 +431,7 @@ ASTLoweringExpr::visit (AST::LazyBooleanExpr &expr)
   HIR::Expr *rhs = ASTLoweringExpr::translate (expr.get_right_expr ());
   rust_assert (rhs != nullptr);
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -448,7 +448,7 @@ ASTLoweringExpr::visit (AST::NegationExpr &expr)
   HIR::Expr *negated_value
     = ASTLoweringExpr::translate (expr.get_negated_expr ());
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -467,7 +467,7 @@ ASTLoweringExpr::visit (AST::TypeCastExpr &expr)
   HIR::Type *type_to_cast_to
     = lower_type_no_bounds (expr.get_type_to_cast_to ());
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -522,7 +522,7 @@ ASTLoweringExpr::visit (AST::CompoundAssignmentExpr &expr)
   HIR::Expr *asignee_expr = ASTLoweringExpr::translate (expr.get_left_expr ());
   HIR::Expr *value = ASTLoweringExpr::translate (expr.get_right_expr ());
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -540,7 +540,7 @@ ASTLoweringExpr::visit (AST::StructExprStruct &struct_expr)
   HIR::PathInExpression copied_path (*path);
   delete path;
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, struct_expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -578,7 +578,7 @@ ASTLoweringExpr::visit (AST::StructExprStructFields 
&struct_expr)
   for (auto &field : in_fields)
     fields.emplace_back (ASTLowerStructExprField::translate (*field));
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, struct_expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -597,7 +597,7 @@ ASTLoweringExpr::visit (AST::GroupedExpr &expr)
   HIR::Expr *paren_expr
     = ASTLoweringExpr::translate (expr.get_expr_in_parens ());
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -613,7 +613,7 @@ ASTLoweringExpr::visit (AST::FieldAccessExpr &expr)
 {
   HIR::Expr *receiver = ASTLoweringExpr::translate (expr.get_receiver_expr ());
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -647,7 +647,7 @@ ASTLoweringExpr::visit (AST::BreakExpr &expr)
        ? ASTLoweringExpr::translate (expr.get_break_expr_unchecked ())
        : nullptr;
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -665,7 +665,7 @@ ASTLoweringExpr::visit (AST::ContinueExpr &expr)
   if (expr.has_label ())
     break_label = lower_lifetime (expr.get_label_unchecked ());
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -681,7 +681,7 @@ ASTLoweringExpr::visit (AST::BorrowExpr &expr)
   HIR::Expr *borrow_lvalue
     = ASTLoweringExpr::translate (expr.get_borrowed_expr ());
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -714,7 +714,7 @@ ASTLoweringExpr::visit (AST::DereferenceExpr &expr)
   HIR::Expr *dref_lvalue
     = ASTLoweringExpr::translate (expr.get_dereferenced_expr ());
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -734,7 +734,7 @@ ASTLoweringExpr::visit (AST::MatchExpr &expr)
 void
 ASTLoweringExpr::visit (AST::RangeFromToExpr &expr)
 {
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -752,7 +752,7 @@ ASTLoweringExpr::visit (AST::RangeFromToExpr &expr)
 void
 ASTLoweringExpr::visit (AST::RangeFromExpr &expr)
 {
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -767,7 +767,7 @@ ASTLoweringExpr::visit (AST::RangeFromExpr &expr)
 void
 ASTLoweringExpr::visit (AST::RangeToExpr &expr)
 {
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -782,7 +782,7 @@ ASTLoweringExpr::visit (AST::RangeToExpr &expr)
 void
 ASTLoweringExpr::visit (AST::RangeFullExpr &expr)
 {
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -793,7 +793,7 @@ ASTLoweringExpr::visit (AST::RangeFullExpr &expr)
 void
 ASTLoweringExpr::visit (AST::RangeFromToInclExpr &expr)
 {
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping path_mapping (crate_num, mappings.get_next_node_id (),
                                      mappings.get_next_hir_id (crate_num),
                                      UNKNOWN_LOCAL_DEFID);
@@ -832,7 +832,7 @@ ASTLoweringExpr::visit (AST::ClosureExprInner &expr)
   for (auto &param : expr.get_params ())
     closure_params.emplace_back (lower_closure_param (param));
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 mappings.get_next_localdef_id (crate_num));
@@ -858,7 +858,7 @@ ASTLoweringExpr::visit (AST::ClosureExprInnerTyped &expr)
   for (auto &param : expr.get_params ())
     closure_params.emplace_back (lower_closure_param (param));
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 mappings.get_next_localdef_id (crate_num));
@@ -987,7 +987,7 @@ from_operand (const AST::InlineAsmOperand &operand)
 void
 ASTLoweringExpr::visit (AST::InlineAsm &expr)
 {
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 mappings.get_next_localdef_id (crate_num));
@@ -1138,7 +1138,7 @@ ASTLoweringExpr::visit (AST::LlvmInlineAsm &expr)
        "subset of %<llvm_asm%> to compile libcore");
     }
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 mappings.get_next_localdef_id (crate_num));
@@ -1195,7 +1195,7 @@ ASTLoweringExpr::visit (AST::OffsetOf &offset_of)
   auto type = std::unique_ptr<Type> (
     ASTLoweringType::translate (offset_of.get_type ()));
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, offset_of.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 mappings.get_next_localdef_id (crate_num));
diff --git a/gcc/rust/hir/rust-ast-lower-extern.h 
b/gcc/rust/hir/rust-ast-lower-extern.h
index c9cec8cb6..fb8b335d7 100644
--- a/gcc/rust/hir/rust-ast-lower-extern.h
+++ b/gcc/rust/hir/rust-ast-lower-extern.h
@@ -53,7 +53,7 @@ public:
     HIR::Visibility vis = translate_visibility (item.get_visibility ());
     HIR::Type *static_type = ASTLoweringType::translate (item.get_type ());
 
-    auto crate_num = mappings.crate_mapping.get_current_crate ();
+    auto crate_num = mappings.crate.get_current_crate ();
     Analysis::NodeMapping mapping (crate_num, item.get_node_id (),
                                   mappings.get_next_hir_id (crate_num),
                                   mappings.get_next_localdef_id (crate_num));
@@ -103,7 +103,7 @@ public:
 
        HIR::Type *param_type = ASTLoweringType::translate (param.get_type ());
 
-       auto crate_num = mappings.crate_mapping.get_current_crate ();
+       auto crate_num = mappings.crate.get_current_crate ();
        Analysis::NodeMapping mapping (crate_num, param.get_node_id (),
                                       mappings.get_next_hir_id (crate_num),
                                       mappings.get_next_localdef_id (
@@ -113,7 +113,7 @@ public:
                                      std::unique_ptr<HIR::Type> (param_type));
       }
 
-    auto crate_num = mappings.crate_mapping.get_current_crate ();
+    auto crate_num = mappings.crate.get_current_crate ();
     Analysis::NodeMapping mapping (crate_num, function.get_node_id (),
                                   mappings.get_next_hir_id (crate_num),
                                   mappings.get_next_localdef_id (crate_num));
@@ -127,7 +127,7 @@ public:
 
   void visit (AST::ExternalTypeItem &type) override
   {
-    auto crate_num = mappings.crate_mapping.get_current_crate ();
+    auto crate_num = mappings.crate.get_current_crate ();
     Analysis::NodeMapping mapping (crate_num, type.get_node_id (),
                                   mappings.get_next_hir_id (crate_num),
                                   mappings.get_next_localdef_id (crate_num));
diff --git a/gcc/rust/hir/rust-ast-lower-implitem.cc 
b/gcc/rust/hir/rust-ast-lower-implitem.cc
index ad9a0090d..736c4619b 100644
--- a/gcc/rust/hir/rust-ast-lower-implitem.cc
+++ b/gcc/rust/hir/rust-ast-lower-implitem.cc
@@ -66,7 +66,7 @@ ASTLowerImplItem::visit (AST::TypeAlias &alias)
   HIR::Type *existing_type
     = ASTLoweringType::translate (alias.get_type_aliased ());
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, alias.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 mappings.get_next_localdef_id (crate_num));
@@ -90,7 +90,7 @@ ASTLowerImplItem::visit (AST::ConstantItem &constant)
   HIR::Type *type = ASTLoweringType::translate (constant.get_type (), true);
   HIR::Expr *expr = ASTLoweringExpr::translate (constant.get_expr ());
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, constant.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 mappings.get_next_localdef_id (crate_num));
@@ -157,7 +157,7 @@ ASTLowerImplItem::visit (AST::Function &function)
       auto translated_type = std::unique_ptr<HIR::Type> (
        ASTLoweringType::translate (param.get_type ()));
 
-      auto crate_num = mappings.crate_mapping.get_current_crate ();
+      auto crate_num = mappings.crate.get_current_crate ();
       Analysis::NodeMapping mapping (crate_num, param.get_node_id (),
                                     mappings.get_next_hir_id (crate_num),
                                     UNKNOWN_LOCAL_DEFID);
@@ -173,7 +173,7 @@ ASTLowerImplItem::visit (AST::Function &function)
       ASTLoweringBlock::translate (*function.get_definition ().value (),
                                   &terminated));
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, function.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 mappings.get_next_localdef_id (crate_num));
@@ -271,7 +271,7 @@ ASTLowerTraitItem::visit (AST::Function &func)
       auto translated_type = std::unique_ptr<HIR::Type> (
        ASTLoweringType::translate (param.get_type ()));
 
-      auto crate_num = mappings.crate_mapping.get_current_crate ();
+      auto crate_num = mappings.crate.get_current_crate ();
       Analysis::NodeMapping mapping (crate_num, param.get_node_id (),
                                     mappings.get_next_hir_id (crate_num),
                                     UNKNOWN_LOCAL_DEFID);
@@ -304,7 +304,7 @@ ASTLowerTraitItem::visit (AST::Function &func)
                                     &terminated))
                       : nullptr;
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, func.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 mappings.get_next_localdef_id (crate_num));
@@ -330,7 +330,7 @@ ASTLowerTraitItem::visit (AST::ConstantItem &constant)
                      ? ASTLoweringExpr::translate (constant.get_expr ())
                      : nullptr;
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, constant.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 mappings.get_next_localdef_id (crate_num));
@@ -365,7 +365,7 @@ ASTLowerTraitItem::visit (AST::TraitItemType &type)
        std::unique_ptr<HIR::TypeParamBound> (lowered_bound));
     }
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, type.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 mappings.get_next_localdef_id (crate_num));
diff --git a/gcc/rust/hir/rust-ast-lower-item.cc 
b/gcc/rust/hir/rust-ast-lower-item.cc
index 56171ef88..03ac6ac9b 100644
--- a/gcc/rust/hir/rust-ast-lower-item.cc
+++ b/gcc/rust/hir/rust-ast-lower-item.cc
@@ -56,7 +56,7 @@ ASTLoweringItem::translate (AST::Item &item)
 void
 ASTLoweringItem::visit (AST::Module &module)
 {
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, module.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 mappings.get_next_localdef_id (crate_num));
@@ -106,7 +106,7 @@ ASTLoweringItem::visit (AST::TypeAlias &alias)
   HIR::Type *existing_type
     = ASTLoweringType::translate (alias.get_type_aliased ());
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, alias.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 mappings.get_next_localdef_id (crate_num));
@@ -151,7 +151,7 @@ ASTLoweringItem::visit (AST::TupleStruct &struct_decl)
       HIR::Visibility vis = translate_visibility (field.get_visibility ());
       HIR::Type *type = ASTLoweringType::translate (field.get_field_type ());
 
-      auto crate_num = mappings.crate_mapping.get_current_crate ();
+      auto crate_num = mappings.crate.get_current_crate ();
       Analysis::NodeMapping mapping (crate_num, field.get_node_id (),
                                     mappings.get_next_hir_id (crate_num),
                                     mappings.get_next_localdef_id (crate_num));
@@ -160,7 +160,7 @@ ASTLoweringItem::visit (AST::TupleStruct &struct_decl)
                           field.get_locus (), field.get_outer_attrs ());
     }
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, struct_decl.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 mappings.get_next_localdef_id (crate_num));
@@ -204,7 +204,7 @@ ASTLoweringItem::visit (AST::StructStruct &struct_decl)
       HIR::Visibility vis = translate_visibility (field.get_visibility ());
       HIR::Type *type = ASTLoweringType::translate (field.get_field_type ());
 
-      auto crate_num = mappings.crate_mapping.get_current_crate ();
+      auto crate_num = mappings.crate.get_current_crate ();
       Analysis::NodeMapping mapping (crate_num, field.get_node_id (),
                                     mappings.get_next_hir_id (crate_num),
                                     mappings.get_next_localdef_id (crate_num));
@@ -220,7 +220,7 @@ ASTLoweringItem::visit (AST::StructStruct &struct_decl)
       fields.push_back (std::move (translated_field));
     }
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, struct_decl.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 mappings.get_next_localdef_id (crate_num));
@@ -265,7 +265,7 @@ ASTLoweringItem::visit (AST::Enum &enum_decl)
       items.emplace_back (ASTLoweringEnumItem::translate (variant.get ()));
     }
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, enum_decl.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 mappings.get_next_localdef_id (crate_num));
@@ -310,7 +310,7 @@ ASTLoweringItem::visit (AST::Union &union_decl)
       HIR::Visibility vis = translate_visibility (variant.get_visibility ());
       HIR::Type *type = ASTLoweringType::translate (variant.get_field_type ());
 
-      auto crate_num = mappings.crate_mapping.get_current_crate ();
+      auto crate_num = mappings.crate.get_current_crate ();
       Analysis::NodeMapping mapping (crate_num, variant.get_node_id (),
                                     mappings.get_next_hir_id (crate_num),
                                     mappings.get_next_localdef_id (crate_num));
@@ -326,7 +326,7 @@ ASTLoweringItem::visit (AST::Union &union_decl)
       variants.push_back (std::move (translated_variant));
     }
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, union_decl.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 mappings.get_next_localdef_id (crate_num));
@@ -346,7 +346,7 @@ ASTLoweringItem::visit (AST::StaticItem &var)
   HIR::Type *type = ASTLoweringType::translate (var.get_type (), true);
   HIR::Expr *expr = ASTLoweringExpr::translate (var.get_expr ());
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, var.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 mappings.get_next_localdef_id (crate_num));
@@ -369,7 +369,7 @@ ASTLoweringItem::visit (AST::ConstantItem &constant)
   if (constant.has_expr ())
     expr = ASTLoweringExpr::translate (constant.get_expr ());
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, constant.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 mappings.get_next_localdef_id (crate_num));
@@ -418,7 +418,7 @@ ASTLoweringItem::visit (AST::Function &function)
   std::vector<HIR::FunctionParam> function_params;
   function_params.reserve (function.get_function_params ().size ());
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   for (auto &p : function.get_function_params ())
     {
       if (p->is_variadic ())
@@ -470,7 +470,7 @@ ASTLoweringItem::visit (AST::Function &function)
       auto translated_type = std::unique_ptr<HIR::Type> (
        ASTLoweringType::translate (param.get_type ()));
 
-      auto crate_num = mappings.crate_mapping.get_current_crate ();
+      auto crate_num = mappings.crate.get_current_crate ();
       Analysis::NodeMapping mapping (crate_num, param.get_node_id (),
                                     mappings.get_next_hir_id (crate_num),
                                     UNKNOWN_LOCAL_DEFID);
@@ -565,7 +565,7 @@ ASTLoweringItem::visit (AST::InherentImpl &impl_block)
 
   HIR::Type *impl_type = ASTLoweringType::translate (impl_block.get_type ());
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, impl_block.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 mappings.get_next_localdef_id (crate_num));
@@ -649,7 +649,7 @@ ASTLoweringItem::visit (AST::Trait &trait)
       trait_items.emplace_back (lowered);
     }
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, trait.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 mappings.get_next_localdef_id (crate_num));
@@ -729,7 +729,7 @@ ASTLoweringItem::visit (AST::TraitImpl &impl_block)
   HIR::TypePath *trait_ref
     = ASTLowerTypePath::translate (impl_block.get_trait_path ());
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, impl_block.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 mappings.get_next_localdef_id (crate_num));
@@ -791,14 +791,14 @@ ASTLoweringItem::visit (AST::ExternCrate &extern_crate)
     return;
 
   auto &mappings = Analysis::Mappings::get ();
-  auto &crate_mapping = mappings.crate_mapping;
+  auto &crate_mapping = mappings.crate;
 
   CrateNum num
     = crate_mapping.lookup_crate_name (extern_crate.get_referenced_crate ())
        .value ();
-  AST::Crate &crate = mappings.crate_mapping.get_ast_crate (num);
+  AST::Crate &crate = mappings.crate.get_ast_crate (num);
 
-  auto saved_crate_num = mappings.crate_mapping.get_current_crate ();
+  auto saved_crate_num = mappings.crate.get_current_crate ();
   crate_mapping.set_current_crate (num);
   auto lowered = ASTLowering::Resolve (crate);
   mappings.insert_hir_crate (std::move (lowered));
@@ -816,7 +816,7 @@ ASTLoweringSimplePath::translate (const AST::SimplePath 
&path)
 HIR::SimplePathSegment
 ASTLoweringSimplePath::lower (const AST::SimplePathSegment &segment)
 {
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   auto node_id = segment.get_node_id ();
 
   auto mapping = Analysis::NodeMapping (crate_num, node_id,
@@ -838,7 +838,7 @@ ASTLoweringSimplePath::lower (const AST::SimplePath &path)
   for (auto &segment : path.get_segments ())
     segments.emplace_back (lower (segment));
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   auto node_id = path.get_node_id ();
 
   auto mapping = Analysis::NodeMapping (crate_num, node_id,
diff --git a/gcc/rust/hir/rust-ast-lower-pattern.cc 
b/gcc/rust/hir/rust-ast-lower-pattern.cc
index ed5c68e71..6ab109560 100644
--- a/gcc/rust/hir/rust-ast-lower-pattern.cc
+++ b/gcc/rust/hir/rust-ast-lower-pattern.cc
@@ -46,7 +46,7 @@ ASTLoweringPattern::translate (AST::Pattern &pattern, bool 
is_let_top_level)
 void
 ASTLoweringPattern::visit (AST::IdentifierPattern &pattern)
 {
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, pattern.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -124,7 +124,7 @@ ASTLoweringPattern::visit (AST::TupleStructPattern &pattern)
       break;
     }
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, pattern.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -152,7 +152,7 @@ ASTLoweringPattern::visit (AST::StructPattern &pattern)
            auto &tuple
              = static_cast<AST::StructPatternFieldTuplePat &> (*field);
 
-           auto crate_num = mappings.crate_mapping.get_current_crate ();
+           auto crate_num = mappings.crate.get_current_crate ();
            Analysis::NodeMapping mapping (crate_num, tuple.get_node_id (),
                                           mappings.get_next_hir_id (crate_num),
                                           UNKNOWN_LOCAL_DEFID);
@@ -173,7 +173,7 @@ ASTLoweringPattern::visit (AST::StructPattern &pattern)
            AST::StructPatternFieldIdentPat &ident
              = static_cast<AST::StructPatternFieldIdentPat &> (*field);
 
-           auto crate_num = mappings.crate_mapping.get_current_crate ();
+           auto crate_num = mappings.crate.get_current_crate ();
            Analysis::NodeMapping mapping (crate_num, ident.get_node_id (),
                                           mappings.get_next_hir_id (crate_num),
                                           UNKNOWN_LOCAL_DEFID);
@@ -194,7 +194,7 @@ ASTLoweringPattern::visit (AST::StructPattern &pattern)
            AST::StructPatternFieldIdent &ident
              = static_cast<AST::StructPatternFieldIdent &> (*field.get ());
 
-           auto crate_num = mappings.crate_mapping.get_current_crate ();
+           auto crate_num = mappings.crate.get_current_crate ();
            Analysis::NodeMapping mapping (crate_num, ident.get_node_id (),
                                           mappings.get_next_hir_id (crate_num),
                                           UNKNOWN_LOCAL_DEFID);
@@ -217,7 +217,7 @@ ASTLoweringPattern::visit (AST::StructPattern &pattern)
       fields.emplace_back (f);
     }
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, pattern.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -230,7 +230,7 @@ ASTLoweringPattern::visit (AST::StructPattern &pattern)
 void
 ASTLoweringPattern::visit (AST::WildcardPattern &pattern)
 {
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, pattern.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -261,7 +261,7 @@ ASTLoweringPattern::visit (AST::TuplePattern &pattern)
       break;
     }
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, pattern.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -273,7 +273,7 @@ ASTLoweringPattern::visit (AST::TuplePattern &pattern)
 void
 ASTLoweringPattern::visit (AST::LiteralPattern &pattern)
 {
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, pattern.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -290,7 +290,7 @@ ASTLoweringPattern::visit (AST::RangePattern &pattern)
   auto upper_bound = lower_range_pattern_bound (pattern.get_upper_bound ());
   auto lower_bound = lower_range_pattern_bound (pattern.get_lower_bound ());
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, pattern.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -312,7 +312,7 @@ ASTLoweringPattern::visit (AST::GroupedPattern &pattern)
 void
 ASTLoweringPattern::visit (AST::ReferencePattern &pattern)
 {
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, pattern.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -360,7 +360,7 @@ ASTLoweringPattern::visit (AST::SlicePattern &pattern)
 
   // need this earlier than usual
   // since we might need to produce rest_bind
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
 
   for (size_t i = 0; i < sub_patterns.size (); i++)
     {
@@ -424,7 +424,7 @@ ASTLoweringPattern::visit (AST::SlicePattern &pattern)
 void
 ASTLoweringPattern::visit (AST::AltPattern &pattern)
 {
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, pattern.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
diff --git a/gcc/rust/hir/rust-ast-lower-stmt.cc 
b/gcc/rust/hir/rust-ast-lower-stmt.cc
index 7fe7d3bc5..5281659a6 100644
--- a/gcc/rust/hir/rust-ast-lower-stmt.cc
+++ b/gcc/rust/hir/rust-ast-lower-stmt.cc
@@ -49,7 +49,7 @@ ASTLoweringStmt::visit (AST::ExprStmt &stmt)
 {
   HIR::Expr *expr = ASTLoweringExpr::translate (stmt.get_expr (), &terminated);
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, stmt.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -87,7 +87,7 @@ ASTLoweringStmt::visit (AST::LetStmt &stmt)
     else_expr = std::unique_ptr<HIR::Expr> (
       ASTLoweringExpr::translate (stmt.get_else_expr ()));
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, stmt.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -125,7 +125,7 @@ ASTLoweringStmt::visit (AST::Enum &enum_decl)
 void
 ASTLoweringStmt::visit (AST::EmptyStmt &empty)
 {
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, empty.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 mappings.get_next_localdef_id (crate_num));
diff --git a/gcc/rust/hir/rust-ast-lower-type.cc 
b/gcc/rust/hir/rust-ast-lower-type.cc
index 031c137da..10e77e3a6 100644
--- a/gcc/rust/hir/rust-ast-lower-type.cc
+++ b/gcc/rust/hir/rust-ast-lower-type.cc
@@ -38,7 +38,7 @@ ASTLowerTypePath::translate (AST::TypePath &type)
 void
 ASTLowerTypePath::visit (AST::TypePathSegmentFunction &segment)
 {
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   auto hirid = mappings.get_next_hir_id (crate_num);
   Analysis::NodeMapping mapping (crate_num, segment.get_node_id (), hirid,
                                 UNKNOWN_LOCAL_DEFID);
@@ -69,7 +69,7 @@ ASTLowerTypePath::visit (AST::TypePathSegmentFunction 
&segment)
 void
 ASTLowerTypePath::visit (AST::TypePathSegment &segment)
 {
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   auto hirid = mappings.get_next_hir_id (crate_num);
   Analysis::NodeMapping mapping (crate_num, segment.get_node_id (), hirid,
                                 UNKNOWN_LOCAL_DEFID);
@@ -97,7 +97,7 @@ ASTLowerTypePath::visit (AST::TypePathSegmentGeneric &segment)
 
   auto generic_args = lower_generic_args (segment.get_generic_args ());
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   auto hirid = mappings.get_next_hir_id (crate_num);
   Analysis::NodeMapping mapping (crate_num, segment.get_node_id (), hirid,
                                 UNKNOWN_LOCAL_DEFID);
@@ -137,7 +137,7 @@ ASTLowerTypePath::visit (AST::TypePath &path)
        std::unique_ptr<HIR::TypePathSegment> (translated_segment));
     }
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   auto hirid = mappings.get_next_hir_id (crate_num);
   Analysis::NodeMapping mapping (crate_num, path.get_node_id (), hirid,
                                 mappings.get_next_localdef_id (crate_num));
@@ -160,7 +160,7 @@ ASTLowerQualifiedPathInType::translate 
(AST::QualifiedPathInType &type)
 void
 ASTLowerQualifiedPathInType::visit (AST::QualifiedPathInType &path)
 {
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   auto hirid = mappings.get_next_hir_id (crate_num);
   Analysis::NodeMapping qual_mappings (
     crate_num, path.get_qualified_path_type ().get_node_id (), hirid,
@@ -284,7 +284,7 @@ ASTLoweringType::visit (AST::BareFunctionType &fntype)
                                                impl_trait_allowed);
     }
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, fntype.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 mappings.get_next_localdef_id (crate_num));
@@ -306,7 +306,7 @@ ASTLoweringType::visit (AST::TupleType &tuple)
       elems.push_back (std::unique_ptr<HIR::Type> (t));
     }
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, tuple.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 mappings.get_next_localdef_id (crate_num));
@@ -336,7 +336,7 @@ ASTLoweringType::visit (AST::ArrayType &type)
                                  impl_trait_allowed);
   HIR::Expr *array_size = ASTLoweringExpr::translate (type.get_size_expr ());
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, type.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 mappings.get_next_localdef_id (crate_num));
@@ -357,7 +357,7 @@ ASTLoweringType::visit (AST::ReferenceType &type)
                                                     default_to_static_lifetime,
                                                     impl_trait_allowed);
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, type.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 mappings.get_next_localdef_id (crate_num));
@@ -377,7 +377,7 @@ ASTLoweringType::visit (AST::RawPointerType &type)
                                  default_to_static_lifetime,
                                  impl_trait_allowed);
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, type.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 mappings.get_next_localdef_id (crate_num));
@@ -399,7 +399,7 @@ ASTLoweringType::visit (AST::SliceType &type)
                                                     default_to_static_lifetime,
                                                     impl_trait_allowed);
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, type.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 mappings.get_next_localdef_id (crate_num));
@@ -412,7 +412,7 @@ ASTLoweringType::visit (AST::SliceType &type)
 void
 ASTLoweringType::visit (AST::InferredType &type)
 {
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, type.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 mappings.get_next_localdef_id (crate_num));
@@ -423,7 +423,7 @@ ASTLoweringType::visit (AST::InferredType &type)
 void
 ASTLoweringType::visit (AST::NeverType &type)
 {
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, type.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 mappings.get_next_localdef_id (crate_num));
@@ -439,7 +439,7 @@ ASTLoweringType::visit (AST::TraitObjectTypeOneBound &type)
     = ASTLoweringTypeBounds::translate (type.get_trait_bound ());
   bounds.push_back (std::unique_ptr<HIR::TypeParamBound> (translated_bound));
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, type.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 mappings.get_next_localdef_id (crate_num));
@@ -461,7 +461,7 @@ ASTLoweringType::visit (AST::TraitObjectType &type)
        std::unique_ptr<HIR::TypeParamBound> (translated_bound));
     }
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, type.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 mappings.get_next_localdef_id (crate_num));
@@ -477,7 +477,7 @@ ASTLoweringType::visit (AST::ParenthesisedType &type)
                                            default_to_static_lifetime,
                                            impl_trait_allowed);
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, type.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 mappings.get_next_localdef_id (crate_num));
@@ -502,7 +502,7 @@ ASTLoweringType::visit (AST::ImplTraitType &type)
       bounds.push_back (std::unique_ptr<HIR::TypeParamBound> (b));
     }
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, type.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 mappings.get_next_localdef_id (crate_num));
@@ -522,7 +522,7 @@ ASTLoweringType::visit (AST::ImplTraitTypeOneBound &type)
   auto b = ASTLoweringTypeBounds::translate (*type.get_trait_bound ().get ());
   bounds.push_back (std::unique_ptr<HIR::TypeParamBound> (b));
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, type.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 mappings.get_next_localdef_id (crate_num));
@@ -557,7 +557,7 @@ ASTLowerGenericParam::translate (AST::GenericParam &param)
 void
 ASTLowerGenericParam::visit (AST::LifetimeParam &param)
 {
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   AST::Lifetime lifetime = param.get_lifetime ();
   Analysis::NodeMapping mapping (crate_num, param.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
@@ -574,7 +574,7 @@ ASTLowerGenericParam::visit (AST::LifetimeParam &param)
 void
 ASTLowerGenericParam::visit (AST::ConstGenericParam &param)
 {
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, param.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 mappings.get_next_localdef_id (crate_num));
@@ -612,7 +612,7 @@ ASTLowerGenericParam::visit (AST::TypeParam &param)
       = tl::optional<std::unique_ptr<HIR::Type>> (std::unique_ptr<HIR::Type> (
        ASTLoweringType::translate (param.get_type ())));
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, param.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 mappings.get_next_localdef_id (crate_num));
@@ -652,7 +652,7 @@ ASTLoweringTypeBounds::visit (AST::TraitBound &bound)
   AST::TypePath &ast_trait_path = bound.get_type_path ();
   HIR::TypePath *trait_path = ASTLowerTypePath::translate (ast_trait_path);
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, bound.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -698,7 +698,7 @@ ASTLowerWhereClauseItem::visit 
(AST::LifetimeWhereClauseItem &item)
       lifetime_bounds.push_back (std::move (ll));
     }
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, item.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -731,7 +731,7 @@ ASTLowerWhereClauseItem::visit 
(AST::TypeBoundWhereClauseItem &item)
       type_param_bounds.push_back (std::unique_ptr<HIR::TypeParamBound> (b));
     }
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, item.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
diff --git a/gcc/rust/hir/rust-ast-lower.cc b/gcc/rust/hir/rust-ast-lower.cc
index 64ce2ef70..154468a72 100644
--- a/gcc/rust/hir/rust-ast-lower.cc
+++ b/gcc/rust/hir/rust-ast-lower.cc
@@ -82,7 +82,7 @@ ASTLowering::go ()
     }
 
   auto &mappings = Analysis::Mappings::get ();
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, astCrate.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -145,7 +145,7 @@ ASTLoweringBlock::visit (AST::BlockExpr &expr)
     }
 
   bool tail_reachable = !block_did_terminate;
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -168,7 +168,7 @@ ASTLoweringIfBlock::visit (AST::IfExpr &expr)
   HIR::BlockExpr *block
     = ASTLoweringBlock::translate (expr.get_if_block (), &ignored_terminated);
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -195,7 +195,7 @@ ASTLoweringIfBlock::visit (AST::IfExprConseqElse &expr)
 
   terminated = if_block_terminated && else_block_termianted;
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -245,7 +245,7 @@ ASTLoweringIfLetBlock::desugar_iflet (AST::IfLetExpr &expr,
   HIR::MatchArm arm (std::move (match_arm_pattern), expr.get_locus (), nullptr,
                     {});
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -286,7 +286,7 @@ ASTLoweringIfLetBlock::visit (AST::IfLetExpr &expr)
   HIR::Expr *branch_value;
 
   std::vector<HIR::MatchCase> match_arms;
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -326,7 +326,7 @@ ASTLoweringIfLetBlock::visit (AST::IfLetExprConseqElse 
&expr)
 
   desugar_iflet (expr, &branch_value, kase_else_expr, match_arms);
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -343,7 +343,7 @@ ASTLowerStructExprField::visit 
(AST::StructExprFieldIdentifierValue &field)
 {
   HIR::Expr *value = ASTLoweringExpr::translate (field.get_value ());
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, field.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -358,7 +358,7 @@ ASTLowerStructExprField::visit 
(AST::StructExprFieldIndexValue &field)
 {
   HIR::Expr *value = ASTLoweringExpr::translate (field.get_value ());
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, field.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -372,7 +372,7 @@ ASTLowerStructExprField::visit 
(AST::StructExprFieldIndexValue &field)
 void
 ASTLowerStructExprField::visit (AST::StructExprFieldIdentifier &field)
 {
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, field.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -397,7 +397,7 @@ ASTLoweringExprWithBlock::visit (AST::WhileLoopExpr &expr)
   HIR::Expr *loop_condition
     = ASTLoweringExpr::translate (expr.get_predicate_expr (), &terminated);
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -439,7 +439,7 @@ ASTLoweringExprWithBlock::visit (AST::MatchExpr &expr)
                         std::unique_ptr<HIR::Expr> (kase_guard_expr),
                         match_case.get_arm ().get_outer_attrs ());
 
-      auto crate_num = mappings.crate_mapping.get_current_crate ();
+      auto crate_num = mappings.crate.get_current_crate ();
       Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                     mappings.get_next_hir_id (crate_num),
                                     UNKNOWN_LOCAL_DEFID);
@@ -448,7 +448,7 @@ ASTLoweringExprWithBlock::visit (AST::MatchExpr &expr)
                               std::unique_ptr<HIR::Expr> (kase_expr));
     }
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -464,7 +464,7 @@ ASTLoweringExprWithBlock::visit (AST::MatchExpr &expr)
 void
 ASTLowerPathInExpression::visit (AST::PathInExpression &expr)
 {
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -504,7 +504,7 @@ ASTLoweringBase::lower_qual_path_type 
(AST::QualifiedPathType &qualified_type)
        ? ASTLowerTypePath::translate (qualified_type.get_as_type_path ())
        : nullptr;
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, qualified_type.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
@@ -534,7 +534,7 @@ ASTLowerQualPathInExpression::visit 
(AST::QualifiedPathInExpression &expr)
       mappings.hir.path_expr_segment.insert (lowered_seg);
     }
 
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
                                 mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
diff --git a/gcc/rust/metadata/rust-export-metadata.cc 
b/gcc/rust/metadata/rust-export-metadata.cc
index 1030f3209..f0618fa65 100644
--- a/gcc/rust/metadata/rust-export-metadata.cc
+++ b/gcc/rust/metadata/rust-export-metadata.cc
@@ -95,9 +95,9 @@ PublicInterface::ExportTo (HIR::Crate &crate, const 
std::string &output_path)
 void
 PublicInterface::gather_export_data ()
 {
-  auto crate_num = mappings.crate_mapping.lookup_crate_num (
-    crate.get_mappings ().get_nodeid ());
-  auto &ast_crate = mappings.crate_mapping.get_ast_crate (crate_num.value ());
+  auto crate_num
+    = mappings.crate.lookup_crate_num (crate.get_mappings ().get_nodeid ());
+  auto &ast_crate = mappings.crate.get_ast_crate (crate_num.value ());
   context.emit_crate (ast_crate);
 
   for (auto &macro : mappings.get_exported_macros ())
@@ -121,7 +121,7 @@ PublicInterface::write_to_object_file () const
 
   // MAGIC MD5 DLIM  DLIM buffer-size DELIM contents
   const std::string current_crate_name
-    = mappings.crate_mapping.get_current_crate_name ();
+    = mappings.crate.get_current_crate_name ();
 
   // extern void
   rust_write_export_data (kMagicHeader, sizeof (kMagicHeader));
@@ -164,7 +164,7 @@ PublicInterface::write_to_path (const std::string &path) 
const
 
   // MAGIC MD5 DLIM  DLIM buffer-size DELIM contents
   const std::string current_crate_name
-    = mappings.crate_mapping.get_current_crate_name ();
+    = mappings.crate.get_current_crate_name ();
 
   // write to path
   FILE *nfd = fopen (path.c_str (), "wb");
@@ -267,7 +267,7 @@ PublicInterface::expected_metadata_filename ()
   auto &mappings = Analysis::Mappings::get ();
 
   const std::string current_crate_name
-    = mappings.crate_mapping.get_current_crate_name ();
+    = mappings.crate.get_current_crate_name ();
   return current_crate_name + extension_path;
 }
 
diff --git a/gcc/rust/resolve/rust-default-resolver.cc 
b/gcc/rust/resolve/rust-default-resolver.cc
index 043315648..585df8979 100644
--- a/gcc/rust/resolve/rust-default-resolver.cc
+++ b/gcc/rust/resolve/rust-default-resolver.cc
@@ -41,7 +41,7 @@ DefaultResolver::visit (AST::Crate &crate)
     AST::DefaultASTVisitor::visit (crate);
   };
 
-  auto &crate_mappings = Analysis::Mappings::get ().crate_mapping;
+  auto &crate_mappings = Analysis::Mappings::get ().crate;
 
   auto crate_num = crate_mappings.lookup_crate_num (crate.get_node_id ());
   rust_assert (crate_num.has_value ());
@@ -482,7 +482,7 @@ void
 DefaultResolver::visit (AST::ExternCrate &crate)
 {
   auto &mappings = Analysis::Mappings::get ();
-  auto &crate_mappings = mappings.crate_mapping;
+  auto &crate_mappings = mappings.crate;
   tl::optional<CrateNum> num_opt;
   if (crate.get_referenced_crate () == "self")
     num_opt = crate_mappings.get_current_crate ();
@@ -498,7 +498,7 @@ DefaultResolver::visit (AST::ExternCrate &crate)
 
   CrateNum num = *num_opt;
 
-  AST::Crate &referenced_crate = mappings.crate_mapping.get_ast_crate (num);
+  AST::Crate &referenced_crate = mappings.crate.get_ast_crate (num);
 
   auto sub_visitor_1
     = [&, this] () { visit_extern_crate (crate, referenced_crate, num); };
diff --git a/gcc/rust/resolve/rust-early-name-resolver-2.0.cc 
b/gcc/rust/resolve/rust-early-name-resolver-2.0.cc
index d45536717..a0a5eec87 100644
--- a/gcc/rust/resolve/rust-early-name-resolver-2.0.cc
+++ b/gcc/rust/resolve/rust-early-name-resolver-2.0.cc
@@ -402,12 +402,11 @@ Early::visit_derive_attribute (AST::Attribute &attr,
          continue;
        }
 
-      auto pm_def = mappings.pmacro_mappings.lookup_derive_def (
-       ns_def->definition.get_node_id ());
+      auto pm_def
+       = mappings.pmacro.lookup_derive_def (ns_def->definition.get_node_id ());
 
       if (pm_def.has_value ())
-       mappings.pmacro_mappings.insert_derive_invocation (trait,
-                                                          pm_def.value ());
+       mappings.pmacro.insert_derive_invocation (trait, pm_def.value ());
     }
 }
 
@@ -425,14 +424,14 @@ Early::visit_non_builtin_attribute (AST::Attribute &attr,
                            name.c_str ()));
       return;
     }
-  auto pm_def = mappings.pmacro_mappings.lookup_attribute_def (
-    ns_def->definition.get_node_id ());
+  auto pm_def
+    = mappings.pmacro.lookup_attribute_def (ns_def->definition.get_node_id ());
 
   if (!pm_def.has_value ())
     return;
 
-  mappings.pmacro_mappings.insert_attribute_invocation (attr.get_path (),
-                                                       pm_def.value ());
+  mappings.pmacro.insert_attribute_invocation (attr.get_path (),
+                                              pm_def.value ());
 }
 
 void
diff --git a/gcc/rust/resolve/rust-forever-stack.h 
b/gcc/rust/resolve/rust-forever-stack.h
index 07eb6293b..3e18fea86 100644
--- a/gcc/rust/resolve/rust-forever-stack.h
+++ b/gcc/rust/resolve/rust-forever-stack.h
@@ -597,7 +597,7 @@ public:
 
     // TODO: Should we be using the forever stack root as the crate scope?
     // TODO: Is this how we should be getting the crate node id?
-    auto &crate_mappings = Analysis::Mappings::get ().crate_mapping;
+    auto &crate_mappings = Analysis::Mappings::get ().crate;
     root.id = *crate_mappings.crate_num_to_nodeid (
       crate_mappings.get_current_crate ());
   }
diff --git a/gcc/rust/resolve/rust-name-resolution-context.h 
b/gcc/rust/resolve/rust-name-resolution-context.h
index 8903b23ae..8311d6dd8 100644
--- a/gcc/rust/resolve/rust-name-resolution-context.h
+++ b/gcc/rust/resolve/rust-name-resolution-context.h
@@ -253,11 +253,9 @@ public:
   CanonicalPathRecordCrateRoot (NodeId node_id, std::string seg)
     : node_id (node_id), seg (std::move (seg))
   {
-    rust_assert (
-      Analysis::Mappings::get ().crate_mapping.node_is_crate (node_id));
-    crate_num = Analysis::Mappings::get ()
-                 .crate_mapping.lookup_crate_num (node_id)
-                 .value ();
+    rust_assert (Analysis::Mappings::get ().crate.node_is_crate (node_id));
+    crate_num
+      = Analysis::Mappings::get ().crate.lookup_crate_num (node_id).value ();
   }
 
   Resolver::CanonicalPath as_path (const NameResolutionContext &,
@@ -279,8 +277,7 @@ public:
     : CanonicalPathRecordWithParent (parent_node_id), node_id (node_id),
       seg (std::move (seg))
   {
-    rust_assert (
-      !Analysis::Mappings::get ().crate_mapping.node_is_crate (node_id));
+    rust_assert (!Analysis::Mappings::get ().crate.node_is_crate (node_id));
   }
 
   Resolver::CanonicalPath as_path (const NameResolutionContext &,
diff --git a/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc 
b/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc
index 4b2fae0dd..0e4172239 100644
--- a/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc
+++ b/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc
@@ -187,31 +187,30 @@ TopLevel::visit_extern_crate (AST::ExternCrate 
&extern_crate, AST::Crate &crate,
 {
   auto &mappings = Analysis::Mappings::get ();
 
-  auto attribute_macros
-    = mappings.pmacro_mappings.lookup_attribute_proc_macros (num);
+  auto attribute_macros = mappings.pmacro.lookup_attribute_proc_macros (num);
 
-  auto bang_macros = mappings.pmacro_mappings.lookup_bang_proc_macros (num);
+  auto bang_macros = mappings.pmacro.lookup_bang_proc_macros (num);
 
-  auto derive_macros = mappings.pmacro_mappings.lookup_derive_proc_macros 
(num);
+  auto derive_macros = mappings.pmacro.lookup_derive_proc_macros (num);
 
   // TODO: Find a way to keep this part clean without the double dispatch.
   if (derive_macros.has_value ())
     {
       insert_macros (derive_macros.value (), ctx);
       for (auto &macro : derive_macros.value ())
-       mappings.pmacro_mappings.insert_derive_def (macro);
+       mappings.pmacro.insert_derive_def (macro);
     }
   if (attribute_macros.has_value ())
     {
       insert_macros (attribute_macros.value (), ctx);
       for (auto &macro : attribute_macros.value ())
-       mappings.pmacro_mappings.insert_attribute_def (macro);
+       mappings.pmacro.insert_attribute_def (macro);
     }
   if (bang_macros.has_value ())
     {
       insert_macros (bang_macros.value (), ctx);
       for (auto &macro : bang_macros.value ())
-       mappings.pmacro_mappings.insert_bang_def (macro);
+       mappings.pmacro.insert_bang_def (macro);
     }
 
   // We do *NOT* visit the crate because loaded crates are resolved
diff --git a/gcc/rust/rust-session-manager.cc b/gcc/rust/rust-session-manager.cc
index 868216024..e12147700 100644
--- a/gcc/rust/rust-session-manager.cc
+++ b/gcc/rust/rust-session-manager.cc
@@ -543,7 +543,7 @@ Session::handle_crate_name (const char *filename,
   if (saw_errors ())
     return;
 
-  auto &crate_mappings = Analysis::Mappings::get ().crate_mapping;
+  auto &crate_mappings = Analysis::Mappings::get ().crate;
 
   CrateNum crate_num
     = crate_mappings.get_next_crate_num (options.get_crate_name ());
@@ -669,10 +669,9 @@ Session::compile_crate (const char *filename)
     }
 
   // setup the mappings for this AST
-  CrateNum current_crate = mappings.crate_mapping.get_current_crate ();
+  CrateNum current_crate = mappings.crate.get_current_crate ();
   AST::Crate &parsed_crate
-    = mappings.crate_mapping.insert_ast_crate (std::move (ast_crate),
-                                              current_crate);
+    = mappings.crate.insert_ast_crate (std::move (ast_crate), current_crate);
 
   /* basic pipeline:
    *  - lex
@@ -1256,7 +1255,7 @@ Session::dump_hir_pretty (HIR::Crate &crate) const
 tl::expected<Session::LoadedCrate, Session::LoadingError>
 Session::load_extern_crate (const std::string &crate_name, location_t locus)
 {
-  auto &crate_mapping = mappings.crate_mapping;
+  auto &crate_mapping = mappings.crate;
   // has it already been loaded?
   if (auto crate_num = crate_mapping.lookup_crate_name (crate_name))
     {
@@ -1334,8 +1333,7 @@ Session::load_extern_crate (const std::string 
&crate_name, location_t locus)
   std::unique_ptr<AST::Crate> metadata_crate = parser.parse_crate ();
 
   AST::Crate &parsed_crate
-    = mappings.crate_mapping.insert_ast_crate (std::move (metadata_crate),
-                                              crate_num);
+    = mappings.crate.insert_ast_crate (std::move (metadata_crate), crate_num);
 
   auto ctx = Resolver2_0::NameResolutionContext ();
   Resolver2_0::Builtins::setup_lang_prelude (ctx);
@@ -1366,10 +1364,9 @@ Session::load_extern_crate (const std::string 
&crate_name, location_t locus)
        }
     }
 
-  mappings.pmacro_mappings.insert_attribute_proc_macros (crate_num,
-                                                        attribute_macros);
-  mappings.pmacro_mappings.insert_bang_proc_macros (crate_num, bang_macros);
-  mappings.pmacro_mappings.insert_derive_proc_macros (crate_num, 
derive_macros);
+  mappings.pmacro.insert_attribute_proc_macros (crate_num, attribute_macros);
+  mappings.pmacro.insert_bang_proc_macros (crate_num, bang_macros);
+  mappings.pmacro.insert_derive_proc_macros (crate_num, derive_macros);
 
   // always restore the crate_num
   crate_mapping.set_current_crate (saved_crate_num);
diff --git a/gcc/rust/typecheck/rust-hir-type-check-base.cc 
b/gcc/rust/typecheck/rust-hir-type-check-base.cc
index 2bcc778c6..dc556b574 100644
--- a/gcc/rust/typecheck/rust-hir-type-check-base.cc
+++ b/gcc/rust/typecheck/rust-hir-type-check-base.cc
@@ -386,7 +386,7 @@ TypeCheckBase::resolve_literal (const Analysis::NodeMapping 
&expr_mappings,
        auto ok = context->lookup_builtin ("u8", &u8);
        rust_assert (ok);
 
-       auto crate_num = mappings.crate_mapping.get_current_crate ();
+       auto crate_num = mappings.crate.get_current_crate ();
        Analysis::NodeMapping capacity_mapping (crate_num, UNKNOWN_NODEID,
                                                mappings.get_next_hir_id (
                                                  crate_num),
diff --git a/gcc/rust/typecheck/rust-hir-type-check-expr.cc 
b/gcc/rust/typecheck/rust-hir-type-check-expr.cc
index 0f02b3698..b1fc902e4 100644
--- a/gcc/rust/typecheck/rust-hir-type-check-expr.cc
+++ b/gcc/rust/typecheck/rust-hir-type-check-expr.cc
@@ -1210,7 +1210,7 @@ TypeCheckExpr::visit (HIR::ArrayExpr &expr)
                            expr.get_locus ());
          }
 
-       auto crate_num = mappings.crate_mapping.get_current_crate ();
+       auto crate_num = mappings.crate.get_current_crate ();
        Analysis::NodeMapping mapping (crate_num, UNKNOWN_NODEID,
                                       mappings.get_next_hir_id (crate_num),
                                       UNKNOWN_LOCAL_DEFID);
@@ -1998,7 +1998,7 @@ TypeCheckExpr::visit (HIR::ClosureExpr &expr)
 
   // lets generate an implicit Type so that it resolves to the implict tuple
   // type we have created
-  auto crate_num = mappings.crate_mapping.get_current_crate ();
+  auto crate_num = mappings.crate.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_mappings ().get_nodeid (),
                                 implicit_args_id, UNKNOWN_LOCAL_DEFID);
   HIR::TupleType *implicit_tuple
@@ -2401,7 +2401,7 @@ TypeCheckExpr::resolve_fn_trait_call (HIR::CallExpr &expr,
 
   // crate implicit tuple
   HirId implicit_arg_id = mappings.get_next_hir_id ();
-  Analysis::NodeMapping mapping (mappings.crate_mapping.get_current_crate (),
+  Analysis::NodeMapping mapping (mappings.crate.get_current_crate (),
                                 UNKNOWN_NODEID, implicit_arg_id,
                                 UNKNOWN_LOCAL_DEFID);
 
diff --git a/gcc/rust/typecheck/rust-hir-type-check-implitem.cc 
b/gcc/rust/typecheck/rust-hir-type-check-implitem.cc
index 5886e5796..0b4a8f026 100644
--- a/gcc/rust/typecheck/rust-hir-type-check-implitem.cc
+++ b/gcc/rust/typecheck/rust-hir-type-check-implitem.cc
@@ -108,7 +108,7 @@ TypeCheckTopLevelExternItem::visit 
(HIR::ExternalFunctionItem &function)
       auto param_tyty = TypeCheckType::Resolve (param.get_type ());
 
       // these are implicit mappings and not used
-      auto crate_num = mappings.crate_mapping.get_current_crate ();
+      auto crate_num = mappings.crate.get_current_crate ();
       Analysis::NodeMapping mapping (crate_num, mappings.get_next_node_id (),
                                     mappings.get_next_hir_id (crate_num),
                                     UNKNOWN_LOCAL_DEFID);
@@ -273,7 +273,7 @@ TypeCheckImplItem::resolve_function_signature 
(HIR::Function &function)
   if (function.is_method ())
     {
       // these are implicit mappings and not used
-      auto crate_num = mappings.crate_mapping.get_current_crate ();
+      auto crate_num = mappings.crate.get_current_crate ();
       Analysis::NodeMapping mapping (crate_num, mappings.get_next_node_id (),
                                     mappings.get_next_hir_id (crate_num),
                                     UNKNOWN_LOCAL_DEFID);
diff --git a/gcc/rust/typecheck/rust-hir-type-check-item.cc 
b/gcc/rust/typecheck/rust-hir-type-check-item.cc
index 170676037..1f66d68ac 100644
--- a/gcc/rust/typecheck/rust-hir-type-check-item.cc
+++ b/gcc/rust/typecheck/rust-hir-type-check-item.cc
@@ -1132,7 +1132,7 @@ TypeCheckItem::visit (HIR::ExternCrate &extern_crate)
   if (extern_crate.references_self ())
     return;
 
-  auto &crate_mappings = Analysis::Mappings::get ().crate_mapping;
+  auto &crate_mappings = Analysis::Mappings::get ().crate;
   CrateNum num
     = crate_mappings.lookup_crate_name (extern_crate.get_referenced_crate ())
        .value ();
diff --git a/gcc/rust/typecheck/rust-hir-type-check-struct.cc 
b/gcc/rust/typecheck/rust-hir-type-check-struct.cc
index 8c3d540c1..eb871c488 100644
--- a/gcc/rust/typecheck/rust-hir-type-check-struct.cc
+++ b/gcc/rust/typecheck/rust-hir-type-check-struct.cc
@@ -191,7 +191,7 @@ TypeCheckStructExpr::resolve (HIR::StructExprStructFields 
&struct_expr)
              HIR::StructExprField *implicit_field = nullptr;
 
              AST::AttrVec outer_attribs;
-             auto crate_num = mappings.crate_mapping.get_current_crate ();
+             auto crate_num = mappings.crate.get_current_crate ();
              Analysis::NodeMapping mapping (crate_num,
                                             struct_expr.get_struct_base ()
                                               .get_base ()
diff --git a/gcc/rust/typecheck/rust-hir-type-check.cc 
b/gcc/rust/typecheck/rust-hir-type-check.cc
index 25048a38f..892dcb359 100644
--- a/gcc/rust/typecheck/rust-hir-type-check.cc
+++ b/gcc/rust/typecheck/rust-hir-type-check.cc
@@ -206,7 +206,7 @@ TraitItemReference::get_type_from_fn (/*const*/ 
HIR::TraitItemFunc &fn) const
     {
       // these are implicit mappings and not used
       auto &mappings = Analysis::Mappings::get ();
-      auto crate_num = mappings.crate_mapping.get_current_crate ();
+      auto crate_num = mappings.crate.get_current_crate ();
       Analysis::NodeMapping mapping (crate_num, mappings.get_next_node_id (),
                                     mappings.get_next_hir_id (crate_num),
                                     UNKNOWN_LOCAL_DEFID);
diff --git a/gcc/rust/typecheck/rust-type-util.cc 
b/gcc/rust/typecheck/rust-type-util.cc
index 85fafdea0..5acbdfa78 100644
--- a/gcc/rust/typecheck/rust-type-util.cc
+++ b/gcc/rust/typecheck/rust-type-util.cc
@@ -77,7 +77,7 @@ query_type (HirId reference, TyTy::BaseType **result)
 
       DefId item_defid = item.value ()->get_mappings ().get_defid ();
       bool is_local
-       = item_defid.crateNum == mappings.crate_mapping.get_current_crate ();
+       = item_defid.crateNum == mappings.crate.get_current_crate ();
       bool is_fn
        = item.value ()->get_item_kind () == HIR::Item::ItemKind::Function;
       bool is_const_fn = false;
@@ -166,7 +166,7 @@ query_type (HirId reference, TyTy::BaseType **result)
 
       DefId item_defid = impl_item->first->get_impl_mappings ().get_defid ();
       bool is_local
-       = item_defid.crateNum == mappings.crate_mapping.get_current_crate ();
+       = item_defid.crateNum == mappings.crate.get_current_crate ();
       bool is_fn
        = impl_item->first->get_impl_item_type () == HIR::ImplItem::FUNCTION;
       bool is_const_fn = false;
diff --git a/gcc/rust/typecheck/rust-tyty-bounds.cc 
b/gcc/rust/typecheck/rust-tyty-bounds.cc
index a00cb6b3d..1f908cb6d 100644
--- a/gcc/rust/typecheck/rust-tyty-bounds.cc
+++ b/gcc/rust/typecheck/rust-tyty-bounds.cc
@@ -316,7 +316,7 @@ TypeCheckBase::get_predicate_from_bound (
 
        // we need to make implicit generic args which must be an implicit
        // Tuple
-       auto crate_num = mappings.crate_mapping.get_current_crate ();
+       auto crate_num = mappings.crate.get_current_crate ();
        HirId implicit_args_id = mappings.get_next_hir_id ();
        Analysis::NodeMapping mapping (crate_num,
                                       final_seg.get_mappings ().get_nodeid (),
diff --git a/gcc/rust/typecheck/rust-tyty-subst.cc 
b/gcc/rust/typecheck/rust-tyty-subst.cc
index 08b618e8c..f4bc1cf65 100644
--- a/gcc/rust/typecheck/rust-tyty-subst.cc
+++ b/gcc/rust/typecheck/rust-tyty-subst.cc
@@ -239,9 +239,8 @@ SubstitutionParamMapping::override_context ()
   auto context = Resolver::TypeCheckContext::get ();
 
   context->insert_type (
-    Analysis::NodeMapping (mappings.crate_mapping.get_current_crate (),
-                          UNKNOWN_NODEID, param->get_ref (),
-                          UNKNOWN_LOCAL_DEFID),
+    Analysis::NodeMapping (mappings.crate.get_current_crate (), UNKNOWN_NODEID,
+                          param->get_ref (), UNKNOWN_LOCAL_DEFID),
     param->resolve ());
 }
 
diff --git a/gcc/rust/typecheck/rust-tyty-util.cc 
b/gcc/rust/typecheck/rust-tyty-util.cc
index d63f45495..f94bc3ec6 100644
--- a/gcc/rust/typecheck/rust-tyty-util.cc
+++ b/gcc/rust/typecheck/rust-tyty-util.cc
@@ -121,8 +121,8 @@ TyVar::monomorphized_clone () const
 
   // insert it
   context->insert_type (
-    Analysis::NodeMapping (mappings.crate_mapping.get_current_crate (),
-                          UNKNOWN_NODEID, c->get_ref (), UNKNOWN_LOCAL_DEFID),
+    Analysis::NodeMapping (mappings.crate.get_current_crate (), UNKNOWN_NODEID,
+                          c->get_ref (), UNKNOWN_LOCAL_DEFID),
     c);
 
   return TyVar (c->get_ref ());
diff --git a/gcc/rust/typecheck/rust-tyty.cc b/gcc/rust/typecheck/rust-tyty.cc
index b3696afa1..ab702dd82 100644
--- a/gcc/rust/typecheck/rust-tyty.cc
+++ b/gcc/rust/typecheck/rust-tyty.cc
@@ -1372,9 +1372,8 @@ InferType::clone () const
                     default_hint, get_ident ().locus, get_combined_refs ());
 
   context->insert_type (
-    Analysis::NodeMapping (mappings.crate_mapping.get_current_crate (),
-                          UNKNOWN_NODEID, clone->get_ref (),
-                          UNKNOWN_LOCAL_DEFID),
+    Analysis::NodeMapping (mappings.crate.get_current_crate (), UNKNOWN_NODEID,
+                          clone->get_ref (), UNKNOWN_LOCAL_DEFID),
     clone);
   mappings.insert_location (clone->get_ref (),
                            mappings.lookup_location (get_ref ()));
@@ -4213,9 +4212,8 @@ ConstInferType::clone () const
                          get_ty_ref (), get_combined_refs ());
 
   context->insert_type (
-    Analysis::NodeMapping (mappings.crate_mapping.get_current_crate (),
-                          UNKNOWN_NODEID, clone->get_ref (),
-                          UNKNOWN_LOCAL_DEFID),
+    Analysis::NodeMapping (mappings.crate.get_current_crate (), UNKNOWN_NODEID,
+                          clone->get_ref (), UNKNOWN_LOCAL_DEFID),
     clone);
   mappings.insert_location (clone->get_ref (),
                            mappings.lookup_location (get_ref ()));
diff --git a/gcc/rust/util/rust-hir-map.cc b/gcc/rust/util/rust-hir-map.cc
index 47ccc540a..c3eea4594 100644
--- a/gcc/rust/util/rust-hir-map.cc
+++ b/gcc/rust/util/rust-hir-map.cc
@@ -257,7 +257,7 @@ CrateMappings::get_ast_crate (CrateNum crateNum)
 AST::Crate &
 Mappings::get_ast_crate_by_node_id (NodeId id)
 {
-  return *crate_mapping.get_ast_crate_by_node_id_raw (id);
+  return *crate.get_ast_crate_by_node_id_raw (id);
 }
 
 AST::Crate *
@@ -816,8 +816,7 @@ Mappings::insert_macro_def (AST::MacroRulesDefinition 
*macro)
   auto it = macroMappings.find (macro->get_node_id ());
   rust_assert (it == macroMappings.end ());
 
-  macroMappings[macro->get_node_id ()]
-    = {macro, crate_mapping.get_current_crate ()};
+  macroMappings[macro->get_node_id ()] = {macro, crate.get_current_crate ()};
 }
 
 tl::optional<AST::MacroRulesDefinition *>
@@ -1076,7 +1075,7 @@ Mappings::insert_glob_container (NodeId id, 
AST::GlobContainer *container)
 
   // Crates have different memory managements that regular items
   if (container->get_glob_container_kind () == AST::GlobContainer::Kind::Crate)
-    glob_containers[id] = crate_mapping.get_ast_crate_by_node_id_raw (id);
+    glob_containers[id] = crate.get_ast_crate_by_node_id_raw (id);
   else
     glob_containers[id] = container;
 }
diff --git a/gcc/rust/util/rust-hir-map.h b/gcc/rust/util/rust-hir-map.h
index 3b02d83ab..d9db37b84 100644
--- a/gcc/rust/util/rust-hir-map.h
+++ b/gcc/rust/util/rust-hir-map.h
@@ -232,20 +232,20 @@ public:
   static Mappings &get ();
   ~Mappings ();
 
-  CrateMappings crate_mapping;
-  ProcMacroMappings pmacro_mappings;
+  CrateMappings crate;
+  ProcMacroMappings pmacro;
   ASTMappings ast;
   HIRMappings hir;
 
   NodeId get_next_node_id ();
   HirId get_next_hir_id ()
   {
-    return get_next_hir_id (crate_mapping.get_current_crate ());
+    return get_next_hir_id (crate.get_current_crate ());
   }
   HirId get_next_hir_id (CrateNum crateNum);
   LocalDefId get_next_localdef_id ()
   {
-    return get_next_localdef_id (crate_mapping.get_current_crate ());
+    return get_next_localdef_id (crate.get_current_crate ());
   }
   LocalDefId get_next_localdef_id (CrateNum crateNum);
 
-- 
2.55.0

Reply via email to