From: Pierre-Emmanuel Patry <[email protected]>
HIR mappings are getting bigger, this commit attempts to regroup crate
related mappings within a single class.
gcc/rust/ChangeLog:
* ast/rust-collect-lang-items.cc (CollectLangItems::visit): Use sub
category.
* 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-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-forever-stack.h: Likewise.
* resolve/rust-name-resolution-context.h: 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.
(ConstInferType::clone): Likewise.
* util/rust-hir-map.cc (CrateMappings::CrateMappings): Add a new
specialized class to keep all crate related mappings.
(Mappings::Mappings): Move some member functions to CrateMappings.
(Mappings::get_next_crate_num): Likewise.
(CrateMappings::get_next_crate_num): Likewise.
(Mappings::set_current_crate): Likewise.
(CrateMappings::set_current_crate): Likewise.
(Mappings::get_current_crate): Likewise.
(CrateMappings::get_current_crate): Likewise.
(Mappings::get_crate_name): Likewise.
(CrateMappings::get_crate_name): Likewise.
(Mappings::lookup_crate_num): Likewise.
(CrateMappings::lookup_crate_num): Likewise.
(Mappings::set_crate_name): Likewise.
(CrateMappings::set_crate_name): Likewise.
(Mappings::get_current_crate_name): Likewise.
(CrateMappings::get_current_crate_name): Likewise.
(Mappings::lookup_crate_name): Likewise.
(CrateMappings::lookup_crate_name): Likewise.
(Mappings::crate_num_to_nodeid): Likewise.
(CrateMappings::crate_num_to_nodeid): Likewise.
(Mappings::node_is_crate): Likewise.
(CrateMappings::node_is_crate): Likewise.
(Mappings::get_ast_crate): Likewise.
(CrateMappings::get_ast_crate): Likewise.
(Mappings::get_ast_crate_by_node_id): Likewise.
(Mappings::get_ast_crate_by_node_id_raw): Likewise.
(CrateMappings::get_ast_crate_by_node_id_raw): Likewise.
(Mappings::insert_ast_crate): Likewise.
(CrateMappings::insert_ast_crate): Likewise.
(Mappings::insert_macro_def): Likewise.
(Mappings::insert_glob_container): Likewise.
* util/rust-hir-map.h (class Mappings): Move some declarations from
here...
(class CrateMappings): ...to here.
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/0ebe075ef16721fc8034b6a79472e304898cbcb6
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 | 6 +-
gcc/rust/backend/rust-compile-expr.cc | 3 +-
gcc/rust/backend/rust-compile-type.cc | 4 +-
.../errors/borrowck/rust-borrow-checker.cc | 4 +-
.../privacy/rust-visibility-resolver.cc | 3 +-
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 | 84 +++++++++----------
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 | 48 ++++++-----
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 | 15 ++--
gcc/rust/resolve/rust-default-resolver.cc | 15 ++--
gcc/rust/resolve/rust-forever-stack.h | 5 +-
.../resolve/rust-name-resolution-context.h | 10 ++-
gcc/rust/rust-session-manager.cc | 32 ++++---
.../typecheck/rust-hir-type-check-base.cc | 2 +-
.../typecheck/rust-hir-type-check-expr.cc | 9 +-
.../typecheck/rust-hir-type-check-implitem.cc | 4 +-
.../typecheck/rust-hir-type-check-item.cc | 10 +--
.../typecheck/rust-hir-type-check-struct.cc | 2 +-
gcc/rust/typecheck/rust-hir-type-check.cc | 2 +-
gcc/rust/typecheck/rust-type-util.cc | 6 +-
gcc/rust/typecheck/rust-tyty-bounds.cc | 2 +-
gcc/rust/typecheck/rust-tyty-subst.cc | 10 +--
gcc/rust/typecheck/rust-tyty-util.cc | 8 +-
gcc/rust/typecheck/rust-tyty.cc | 20 ++---
gcc/rust/util/rust-hir-map.cc | 42 +++++-----
gcc/rust/util/rust-hir-map.h | 51 +++++++----
35 files changed, 302 insertions(+), 261 deletions(-)
diff --git a/gcc/rust/ast/rust-collect-lang-items.cc
b/gcc/rust/ast/rust-collect-lang-items.cc
index 8a952f8dc..0b3214253 100644
--- a/gcc/rust/ast/rust-collect-lang-items.cc
+++ b/gcc/rust/ast/rust-collect-lang-items.cc
@@ -131,12 +131,12 @@ CollectLangItems::visit (AST::EnumItemDiscriminant &item)
void
CollectLangItems::visit (AST::ExternCrate &extern_crate)
{
- auto &mappings = Analysis::Mappings::get ();
+ auto &crate_mappings = Analysis::Mappings::get ().crate_mapping;
auto crate_num
- = mappings.lookup_crate_name (extern_crate.get_referenced_crate ());
+ = crate_mappings.lookup_crate_name (extern_crate.get_referenced_crate ());
if (crate_num)
{
- visit (mappings.get_ast_crate (*crate_num));
+ visit (crate_mappings.get_ast_crate (*crate_num));
}
DefaultASTVisitor::visit (extern_crate);
diff --git a/gcc/rust/backend/rust-compile-expr.cc
b/gcc/rust/backend/rust-compile-expr.cc
index e2e564493..0f16010a3 100644
--- a/gcc/rust/backend/rust-compile-expr.cc
+++ b/gcc/rust/backend/rust-compile-expr.cc
@@ -2696,7 +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 ().get_current_crate (), 0, t_tyvar.get_ref (), 0);
+ ctx->get_mappings ().crate_mapping.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 126705c5d..16d32ac73 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 ().get_current_crate ();
- auto &c = ctx->get_mappings ().get_ast_crate (cn);
+ auto cn = ctx->get_mappings ().crate_mapping.get_current_crate ();
+ auto &c = ctx->get_mappings ().crate_mapping.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 ba2b7067d..f9e9316f9 100644
--- a/gcc/rust/checks/errors/borrowck/rust-borrow-checker.cc
+++ b/gcc/rust/checks/errors/borrowck/rust-borrow-checker.cc
@@ -55,8 +55,8 @@ BorrowChecker::go (HIR::Crate &crate)
{
mkdir ("bir_dump", 0755);
auto &mappings = Analysis::Mappings::get ();
- crate_name
- = *mappings.get_crate_name (crate.get_mappings ().get_crate_num ());
+ crate_name = *mappings.crate_mapping.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 c24f0657e..d7c1955f8 100644
--- a/gcc/rust/checks/errors/privacy/rust-visibility-resolver.cc
+++ b/gcc/rust/checks/errors/privacy/rust-visibility-resolver.cc
@@ -82,7 +82,8 @@ VisibilityResolver::resolve_module_path (const
HIR::SimplePath &restriction,
rust_assert (hid.has_value ());
auto ref = hid.value ();
- auto crate = mappings.get_ast_crate (mappings.get_current_crate ());
+ auto crate = mappings.crate_mapping.get_ast_crate (
+ mappings.crate_mapping.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-substitute-ctx.cc
b/gcc/rust/expand/rust-macro-substitute-ctx.cc
index 4423abe57..44c7512f8 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.get_current_crate ();
+ auto current_crate = mappings.crate_mapping.get_current_crate ();
rust_assert (def_crate);
@@ -44,7 +44,7 @@ SubstituteCtx::substitute_dollar_crate (
}
else
{
- auto name = mappings.get_crate_name (*def_crate);
+ auto name = mappings.crate_mapping.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 33b1c2f51..1d55632e6 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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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 ¶m)
rust_assert (param.is_self ());
auto self = static_cast<AST::SelfParam &> (param);
- auto crate_num = mappings.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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 76cbfc553..3b36ea36c 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.get_current_crate ();
+ auto crate_num = resolver.mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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 3a24f477f..e5f06b40c 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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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 77811f2b8..61a3f10c3 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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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 ¶m : in_params)
params.emplace_back (ASTLoweringExpr::translate (*param));
- auto crate_num = mappings.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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 ¶m : in_params)
params.emplace_back (ASTLoweringExpr::translate (*param));
- auto crate_num = mappings.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.get_current_crate ();
Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
mappings.get_next_hir_id (crate_num),
UNKNOWN_LOCAL_DEFID);
@@ -348,9 +348,8 @@ ASTLoweringExpr::visit (AST::ArrayElemsValues &elems)
for (auto &elem : elems.get_values ())
elements.emplace_back (ASTLoweringExpr::translate (*elem));
- auto crate_num = mappings.get_current_crate ();
- Analysis::NodeMapping mapping (mappings.get_current_crate (),
- elems.get_node_id (),
+ auto crate_num = mappings.crate_mapping.get_current_crate ();
+ Analysis::NodeMapping mapping (crate_num, elems.get_node_id (),
mappings.get_next_hir_id (crate_num),
UNKNOWN_LOCAL_DEFID);
@@ -364,9 +363,8 @@ 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.get_current_crate ();
- Analysis::NodeMapping mapping (mappings.get_current_crate (),
- elems.get_node_id (),
+ auto crate_num = mappings.crate_mapping.get_current_crate ();
+ Analysis::NodeMapping mapping (crate_num, elems.get_node_id (),
mappings.get_next_hir_id (crate_num),
UNKNOWN_LOCAL_DEFID);
@@ -378,7 +376,7 @@ ASTLoweringExpr::visit (AST::ArrayElemsCopied &elems)
void
ASTLoweringExpr::visit (AST::LiteralExpr &expr)
{
- auto crate_num = mappings.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.get_current_crate ();
Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
mappings.get_next_hir_id (crate_num),
UNKNOWN_LOCAL_DEFID);
@@ -396,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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.get_current_crate ();
Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
mappings.get_next_hir_id (crate_num),
UNKNOWN_LOCAL_DEFID);
@@ -414,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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.get_current_crate ();
Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
mappings.get_next_hir_id (crate_num),
UNKNOWN_LOCAL_DEFID);
@@ -433,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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.get_current_crate ();
Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
mappings.get_next_hir_id (crate_num),
UNKNOWN_LOCAL_DEFID);
@@ -450,7 +448,7 @@ ASTLoweringExpr::visit (AST::NegationExpr &expr)
HIR::Expr *negated_value
= ASTLoweringExpr::translate (expr.get_negated_expr ());
- auto crate_num = mappings.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.get_current_crate ();
Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
mappings.get_next_hir_id (crate_num),
UNKNOWN_LOCAL_DEFID);
@@ -469,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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.get_current_crate ();
Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
mappings.get_next_hir_id (crate_num),
UNKNOWN_LOCAL_DEFID);
@@ -524,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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.get_current_crate ();
Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
mappings.get_next_hir_id (crate_num),
UNKNOWN_LOCAL_DEFID);
@@ -542,7 +540,7 @@ ASTLoweringExpr::visit (AST::StructExprStruct &struct_expr)
HIR::PathInExpression copied_path (*path);
delete path;
- auto crate_num = mappings.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.get_current_crate ();
Analysis::NodeMapping mapping (crate_num, struct_expr.get_node_id (),
mappings.get_next_hir_id (crate_num),
UNKNOWN_LOCAL_DEFID);
@@ -580,7 +578,7 @@ ASTLoweringExpr::visit (AST::StructExprStructFields
&struct_expr)
for (auto &field : in_fields)
fields.emplace_back (ASTLowerStructExprField::translate (*field));
- auto crate_num = mappings.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.get_current_crate ();
Analysis::NodeMapping mapping (crate_num, struct_expr.get_node_id (),
mappings.get_next_hir_id (crate_num),
UNKNOWN_LOCAL_DEFID);
@@ -599,7 +597,7 @@ ASTLoweringExpr::visit (AST::GroupedExpr &expr)
HIR::Expr *paren_expr
= ASTLoweringExpr::translate (expr.get_expr_in_parens ());
- auto crate_num = mappings.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.get_current_crate ();
Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
mappings.get_next_hir_id (crate_num),
UNKNOWN_LOCAL_DEFID);
@@ -615,7 +613,7 @@ ASTLoweringExpr::visit (AST::FieldAccessExpr &expr)
{
HIR::Expr *receiver = ASTLoweringExpr::translate (expr.get_receiver_expr ());
- auto crate_num = mappings.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.get_current_crate ();
Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
mappings.get_next_hir_id (crate_num),
UNKNOWN_LOCAL_DEFID);
@@ -649,7 +647,7 @@ ASTLoweringExpr::visit (AST::BreakExpr &expr)
? ASTLoweringExpr::translate (expr.get_break_expr_unchecked ())
: nullptr;
- auto crate_num = mappings.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.get_current_crate ();
Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
mappings.get_next_hir_id (crate_num),
UNKNOWN_LOCAL_DEFID);
@@ -667,7 +665,7 @@ ASTLoweringExpr::visit (AST::ContinueExpr &expr)
if (expr.has_label ())
break_label = lower_lifetime (expr.get_label_unchecked ());
- auto crate_num = mappings.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.get_current_crate ();
Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
mappings.get_next_hir_id (crate_num),
UNKNOWN_LOCAL_DEFID);
@@ -683,7 +681,7 @@ ASTLoweringExpr::visit (AST::BorrowExpr &expr)
HIR::Expr *borrow_lvalue
= ASTLoweringExpr::translate (expr.get_borrowed_expr ());
- auto crate_num = mappings.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.get_current_crate ();
Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
mappings.get_next_hir_id (crate_num),
UNKNOWN_LOCAL_DEFID);
@@ -716,7 +714,7 @@ ASTLoweringExpr::visit (AST::DereferenceExpr &expr)
HIR::Expr *dref_lvalue
= ASTLoweringExpr::translate (expr.get_dereferenced_expr ());
- auto crate_num = mappings.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.get_current_crate ();
Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
mappings.get_next_hir_id (crate_num),
UNKNOWN_LOCAL_DEFID);
@@ -736,7 +734,7 @@ ASTLoweringExpr::visit (AST::MatchExpr &expr)
void
ASTLoweringExpr::visit (AST::RangeFromToExpr &expr)
{
- auto crate_num = mappings.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.get_current_crate ();
Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
mappings.get_next_hir_id (crate_num),
UNKNOWN_LOCAL_DEFID);
@@ -754,7 +752,7 @@ ASTLoweringExpr::visit (AST::RangeFromToExpr &expr)
void
ASTLoweringExpr::visit (AST::RangeFromExpr &expr)
{
- auto crate_num = mappings.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.get_current_crate ();
Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
mappings.get_next_hir_id (crate_num),
UNKNOWN_LOCAL_DEFID);
@@ -769,7 +767,7 @@ ASTLoweringExpr::visit (AST::RangeFromExpr &expr)
void
ASTLoweringExpr::visit (AST::RangeToExpr &expr)
{
- auto crate_num = mappings.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.get_current_crate ();
Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
mappings.get_next_hir_id (crate_num),
UNKNOWN_LOCAL_DEFID);
@@ -784,7 +782,7 @@ ASTLoweringExpr::visit (AST::RangeToExpr &expr)
void
ASTLoweringExpr::visit (AST::RangeFullExpr &expr)
{
- auto crate_num = mappings.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.get_current_crate ();
Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
mappings.get_next_hir_id (crate_num),
UNKNOWN_LOCAL_DEFID);
@@ -795,7 +793,7 @@ ASTLoweringExpr::visit (AST::RangeFullExpr &expr)
void
ASTLoweringExpr::visit (AST::RangeFromToInclExpr &expr)
{
- auto crate_num = mappings.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.get_current_crate ();
Analysis::NodeMapping path_mapping (crate_num, mappings.get_next_node_id (),
mappings.get_next_hir_id (crate_num),
UNKNOWN_LOCAL_DEFID);
@@ -834,7 +832,7 @@ ASTLoweringExpr::visit (AST::ClosureExprInner &expr)
for (auto ¶m : expr.get_params ())
closure_params.emplace_back (lower_closure_param (param));
- auto crate_num = mappings.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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));
@@ -860,7 +858,7 @@ ASTLoweringExpr::visit (AST::ClosureExprInnerTyped &expr)
for (auto ¶m : expr.get_params ())
closure_params.emplace_back (lower_closure_param (param));
- auto crate_num = mappings.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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));
@@ -989,7 +987,7 @@ from_operand (const AST::InlineAsmOperand &operand)
void
ASTLoweringExpr::visit (AST::InlineAsm &expr)
{
- auto crate_num = mappings.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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));
@@ -1140,7 +1138,7 @@ ASTLoweringExpr::visit (AST::LlvmInlineAsm &expr)
"subset of %<llvm_asm%> to compile libcore");
}
- auto crate_num = mappings.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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));
@@ -1197,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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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 833e69cd2..c9cec8cb6 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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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 16a7c3b43..828d0065f 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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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 2ae524235..546ba6fb8 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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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,16 +791,18 @@ ASTLoweringItem::visit (AST::ExternCrate &extern_crate)
return;
auto &mappings = Analysis::Mappings::get ();
+ auto &crate_mapping = mappings.crate_mapping;
+
CrateNum num
- = mappings.lookup_crate_name (extern_crate.get_referenced_crate ())
+ = crate_mapping.lookup_crate_name (extern_crate.get_referenced_crate ())
.value ();
- AST::Crate &crate = mappings.get_ast_crate (num);
+ AST::Crate &crate = mappings.crate_mapping.get_ast_crate (num);
- auto saved_crate_num = mappings.get_current_crate ();
- mappings.set_current_crate (num);
+ auto saved_crate_num = mappings.crate_mapping.get_current_crate ();
+ crate_mapping.set_current_crate (num);
auto lowered = ASTLowering::Resolve (crate);
mappings.insert_hir_crate (std::move (lowered));
- mappings.set_current_crate (saved_crate_num);
+ crate_mapping.set_current_crate (saved_crate_num);
}
HIR::SimplePath
@@ -814,7 +816,7 @@ ASTLoweringSimplePath::translate (const AST::SimplePath
&path)
HIR::SimplePathSegment
ASTLoweringSimplePath::lower (const AST::SimplePathSegment &segment)
{
- auto crate_num = mappings.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.get_current_crate ();
auto node_id = segment.get_node_id ();
auto mapping = Analysis::NodeMapping (crate_num, node_id,
@@ -836,7 +838,7 @@ ASTLoweringSimplePath::lower (const AST::SimplePath &path)
for (auto &segment : path.get_segments ())
segments.emplace_back (lower (segment));
- auto crate_num = mappings.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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 17d4dc981..21544ff26 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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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 4792b9ac8..2f5eede12 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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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 3acdfeaa1..7bc9c6b97 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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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 ¶m)
void
ASTLowerGenericParam::visit (AST::LifetimeParam ¶m)
{
- auto crate_num = mappings.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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 ¶m)
void
ASTLowerGenericParam::visit (AST::ConstGenericParam ¶m)
{
- auto crate_num = mappings.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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 ¶m)
= tl::optional<std::unique_ptr<HIR::Type>> (std::unique_ptr<HIR::Type> (
ASTLoweringType::translate (param.get_type ())));
- auto crate_num = mappings.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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 413e3f0ba..f31cc92cd 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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.insert_hir_path_expr_seg (lowered_seg);
}
- auto crate_num = mappings.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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 4c36be9f5..1030f3209 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.lookup_crate_num (crate.get_mappings ().get_nodeid ());
- auto &ast_crate = mappings.get_ast_crate (crate_num.value ());
+ 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 ());
context.emit_crate (ast_crate);
for (auto ¯o : mappings.get_exported_macros ())
@@ -120,7 +120,8 @@ PublicInterface::write_to_object_file () const
md5_finish_ctx (&chksm, checksum);
// MAGIC MD5 DLIM DLIM buffer-size DELIM contents
- const std::string current_crate_name = mappings.get_current_crate_name ();
+ const std::string current_crate_name
+ = mappings.crate_mapping.get_current_crate_name ();
// extern void
rust_write_export_data (kMagicHeader, sizeof (kMagicHeader));
@@ -162,7 +163,8 @@ PublicInterface::write_to_path (const std::string &path)
const
md5_finish_ctx (&chksm, checksum);
// MAGIC MD5 DLIM DLIM buffer-size DELIM contents
- const std::string current_crate_name = mappings.get_current_crate_name ();
+ const std::string current_crate_name
+ = mappings.crate_mapping.get_current_crate_name ();
// write to path
FILE *nfd = fopen (path.c_str (), "wb");
@@ -264,7 +266,8 @@ PublicInterface::expected_metadata_filename ()
{
auto &mappings = Analysis::Mappings::get ();
- const std::string current_crate_name = mappings.get_current_crate_name ();
+ const std::string current_crate_name
+ = mappings.crate_mapping.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 ac2b7b196..043315648 100644
--- a/gcc/rust/resolve/rust-default-resolver.cc
+++ b/gcc/rust/resolve/rust-default-resolver.cc
@@ -41,11 +41,11 @@ DefaultResolver::visit (AST::Crate &crate)
AST::DefaultASTVisitor::visit (crate);
};
- auto &mappings = Analysis::Mappings::get ();
+ auto &crate_mappings = Analysis::Mappings::get ().crate_mapping;
- auto crate_num = mappings.lookup_crate_num (crate.get_node_id ());
+ auto crate_num = crate_mappings.lookup_crate_num (crate.get_node_id ());
rust_assert (crate_num.has_value ());
- auto crate_name = mappings.get_crate_name (*crate_num);
+ auto crate_name = crate_mappings.get_crate_name (*crate_num);
rust_assert (crate_name.has_value ());
ctx.canonical_ctx.scope_crate (crate.get_node_id (), *crate_name, inner_fn);
@@ -482,11 +482,12 @@ void
DefaultResolver::visit (AST::ExternCrate &crate)
{
auto &mappings = Analysis::Mappings::get ();
+ auto &crate_mappings = mappings.crate_mapping;
tl::optional<CrateNum> num_opt;
if (crate.get_referenced_crate () == "self")
- num_opt = mappings.get_current_crate ();
+ num_opt = crate_mappings.get_current_crate ();
else
- num_opt = mappings.lookup_crate_name (crate.get_referenced_crate ());
+ num_opt = crate_mappings.lookup_crate_name (crate.get_referenced_crate ());
if (!num_opt)
{
@@ -497,7 +498,7 @@ DefaultResolver::visit (AST::ExternCrate &crate)
CrateNum num = *num_opt;
- AST::Crate &referenced_crate = mappings.get_ast_crate (num);
+ AST::Crate &referenced_crate = mappings.crate_mapping.get_ast_crate (num);
auto sub_visitor_1
= [&, this] () { visit_extern_crate (crate, referenced_crate, num); };
@@ -505,7 +506,7 @@ DefaultResolver::visit (AST::ExternCrate &crate)
auto sub_visitor_2 = [&] () {
ctx.canonical_ctx.scope_crate (referenced_crate.get_node_id (),
crate.get_referenced_crate () == "self"
- ? mappings.get_current_crate_name ()
+ ? crate_mappings.get_current_crate_name ()
: crate.get_referenced_crate (),
std::move (sub_visitor_1));
};
diff --git a/gcc/rust/resolve/rust-forever-stack.h
b/gcc/rust/resolve/rust-forever-stack.h
index eb2133116..07eb6293b 100644
--- a/gcc/rust/resolve/rust-forever-stack.h
+++ b/gcc/rust/resolve/rust-forever-stack.h
@@ -597,8 +597,9 @@ 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 &mappings = Analysis::Mappings::get ();
- root.id = *mappings.crate_num_to_nodeid (mappings.get_current_crate ());
+ auto &crate_mappings = Analysis::Mappings::get ().crate_mapping;
+ 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 e30c5b59e..8903b23ae 100644
--- a/gcc/rust/resolve/rust-name-resolution-context.h
+++ b/gcc/rust/resolve/rust-name-resolution-context.h
@@ -253,8 +253,11 @@ public:
CanonicalPathRecordCrateRoot (NodeId node_id, std::string seg)
: node_id (node_id), seg (std::move (seg))
{
- rust_assert (Analysis::Mappings::get ().node_is_crate (node_id));
- crate_num = Analysis::Mappings::get ().lookup_crate_num (node_id).value ();
+ 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 ();
}
Resolver::CanonicalPath as_path (const NameResolutionContext &,
@@ -276,7 +279,8 @@ public:
: CanonicalPathRecordWithParent (parent_node_id), node_id (node_id),
seg (std::move (seg))
{
- rust_assert (!Analysis::Mappings::get ().node_is_crate (node_id));
+ rust_assert (
+ !Analysis::Mappings::get ().crate_mapping.node_is_crate (node_id));
}
Resolver::CanonicalPath as_path (const NameResolutionContext &,
diff --git a/gcc/rust/rust-session-manager.cc b/gcc/rust/rust-session-manager.cc
index 4f4f8d411..f65b09264 100644
--- a/gcc/rust/rust-session-manager.cc
+++ b/gcc/rust/rust-session-manager.cc
@@ -482,7 +482,6 @@ void
Session::handle_crate_name (const char *filename,
const AST::Crate &parsed_crate)
{
- auto &mappings = Analysis::Mappings::get ();
auto crate_name_found = false;
auto error = Error (UNDEF_LOCATION, std::string ());
@@ -544,8 +543,11 @@ Session::handle_crate_name (const char *filename,
if (saw_errors ())
return;
- CrateNum crate_num = mappings.get_next_crate_num (options.get_crate_name ());
- mappings.set_current_crate (crate_num);
+ auto &crate_mappings = Analysis::Mappings::get ().crate_mapping;
+
+ CrateNum crate_num
+ = crate_mappings.get_next_crate_num (options.get_crate_name ());
+ crate_mappings.set_current_crate (crate_num);
}
/** Parse additional attributes injected from the command line
@@ -667,9 +669,10 @@ Session::compile_crate (const char *filename)
}
// setup the mappings for this AST
- CrateNum current_crate = mappings.get_current_crate ();
+ CrateNum current_crate = mappings.crate_mapping.get_current_crate ();
AST::Crate &parsed_crate
- = mappings.insert_ast_crate (std::move (ast_crate), current_crate);
+ = mappings.crate_mapping.insert_ast_crate (std::move (ast_crate),
+ current_crate);
/* basic pipeline:
* - lex
@@ -1253,10 +1256,11 @@ 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;
// has it already been loaded?
- if (auto crate_num = mappings.lookup_crate_name (crate_name))
+ if (auto crate_num = crate_mapping.lookup_crate_name (crate_name))
{
- auto resolved_node_id = mappings.crate_num_to_nodeid (*crate_num);
+ auto resolved_node_id = crate_mapping.crate_num_to_nodeid (*crate_num);
rust_assert (resolved_node_id);
return tl::make_unexpected (
@@ -1309,7 +1313,8 @@ Session::load_extern_crate (const std::string
&crate_name, location_t locus)
}
// ensure the current vs this crate name don't collide
- const std::string current_crate_name = mappings.get_current_crate_name ();
+ const std::string current_crate_name
+ = crate_mapping.get_current_crate_name ();
if (current_crate_name.compare (extern_crate.get_crate_name ()) == 0)
{
rust_error_at (locus, "current crate name %qs collides with this",
@@ -1318,10 +1323,10 @@ Session::load_extern_crate (const std::string
&crate_name, location_t locus)
}
// setup mappings
- CrateNum saved_crate_num = mappings.get_current_crate ();
+ CrateNum saved_crate_num = crate_mapping.get_current_crate ();
CrateNum crate_num
- = mappings.get_next_crate_num (extern_crate.get_crate_name ());
- mappings.set_current_crate (crate_num);
+ = crate_mapping.get_next_crate_num (extern_crate.get_crate_name ());
+ crate_mapping.set_current_crate (crate_num);
// then lets parse this as a 2nd crate
Lexer lex (extern_crate.get_metadata (), linemap);
@@ -1329,7 +1334,8 @@ 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.insert_ast_crate (std::move (metadata_crate), crate_num);
+ = mappings.crate_mapping.insert_ast_crate (std::move (metadata_crate),
+ crate_num);
auto ctx = Resolver2_0::NameResolutionContext ();
Resolver2_0::Builtins::setup_lang_prelude (ctx);
@@ -1365,7 +1371,7 @@ Session::load_extern_crate (const std::string
&crate_name, location_t locus)
mappings.insert_derive_proc_macros (crate_num, derive_macros);
// always restore the crate_num
- mappings.set_current_crate (saved_crate_num);
+ crate_mapping.set_current_crate (saved_crate_num);
return LoadedCrate{crate_name, parsed_crate.get_node_id (), std::move (ctx)};
}
diff --git a/gcc/rust/typecheck/rust-hir-type-check-base.cc
b/gcc/rust/typecheck/rust-hir-type-check-base.cc
index f5f457f60..2bcc778c6 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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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 b2e10c622..0f02b3698 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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.get_current_crate ();
Analysis::NodeMapping mapping (crate_num, expr.get_mappings ().get_nodeid (),
implicit_args_id, UNKNOWN_LOCAL_DEFID);
HIR::TupleType *implicit_tuple
@@ -2401,8 +2401,9 @@ TypeCheckExpr::resolve_fn_trait_call (HIR::CallExpr &expr,
// crate implicit tuple
HirId implicit_arg_id = mappings.get_next_hir_id ();
- Analysis::NodeMapping mapping (mappings.get_current_crate (), UNKNOWN_NODEID,
- implicit_arg_id, UNKNOWN_LOCAL_DEFID);
+ Analysis::NodeMapping mapping (mappings.crate_mapping.get_current_crate (),
+ UNKNOWN_NODEID, implicit_arg_id,
+ UNKNOWN_LOCAL_DEFID);
TyTy::TupleType *tuple
= new TyTy::TupleType (implicit_arg_id, expr.get_locus (), call_args);
diff --git a/gcc/rust/typecheck/rust-hir-type-check-implitem.cc
b/gcc/rust/typecheck/rust-hir-type-check-implitem.cc
index 8c65390f7..5886e5796 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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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 5f54c0726..170676037 100644
--- a/gcc/rust/typecheck/rust-hir-type-check-item.cc
+++ b/gcc/rust/typecheck/rust-hir-type-check-item.cc
@@ -1132,17 +1132,17 @@ TypeCheckItem::visit (HIR::ExternCrate &extern_crate)
if (extern_crate.references_self ())
return;
- auto &mappings = Analysis::Mappings::get ();
+ auto &crate_mappings = Analysis::Mappings::get ().crate_mapping;
CrateNum num
- = mappings.lookup_crate_name (extern_crate.get_referenced_crate ())
+ = crate_mappings.lookup_crate_name (extern_crate.get_referenced_crate ())
.value ();
HIR::Crate &crate = mappings.get_hir_crate (num);
- CrateNum saved_crate_num = mappings.get_current_crate ();
- mappings.set_current_crate (num);
+ CrateNum saved_crate_num = crate_mappings.get_current_crate ();
+ crate_mappings.set_current_crate (num);
for (auto &item : crate.get_items ())
TypeCheckItem::Resolve (*item);
- mappings.set_current_crate (saved_crate_num);
+ crate_mappings.set_current_crate (saved_crate_num);
}
std::pair<std::vector<TyTy::SubstitutionParamMapping>, TyTy::RegionConstraints>
diff --git a/gcc/rust/typecheck/rust-hir-type-check-struct.cc
b/gcc/rust/typecheck/rust-hir-type-check-struct.cc
index b6ea1028f..8c3d540c1 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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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 d4c21d09c..25048a38f 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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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 7df36f0d3..96367df5c 100644
--- a/gcc/rust/typecheck/rust-type-util.cc
+++ b/gcc/rust/typecheck/rust-type-util.cc
@@ -76,7 +76,8 @@ query_type (HirId reference, TyTy::BaseType **result)
reference);
DefId item_defid = item.value ()->get_mappings ().get_defid ();
- bool is_local = item_defid.crateNum == mappings.get_current_crate ();
+ bool is_local
+ = item_defid.crateNum == mappings.crate_mapping.get_current_crate ();
bool is_fn
= item.value ()->get_item_kind () == HIR::Item::ItemKind::Function;
bool is_const_fn = false;
@@ -164,7 +165,8 @@ query_type (HirId reference, TyTy::BaseType **result)
"resolved impl-item {%u} to", reference);
DefId item_defid = impl_item->first->get_impl_mappings ().get_defid ();
- bool is_local = item_defid.crateNum == mappings.get_current_crate ();
+ bool is_local
+ = item_defid.crateNum == mappings.crate_mapping.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 0d762c8c0..a00cb6b3d 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.get_current_crate ();
+ auto crate_num = mappings.crate_mapping.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 ba237bcc7..08b618e8c 100644
--- a/gcc/rust/typecheck/rust-tyty-subst.cc
+++ b/gcc/rust/typecheck/rust-tyty-subst.cc
@@ -238,11 +238,11 @@ SubstitutionParamMapping::override_context ()
auto &mappings = Analysis::Mappings::get ();
auto context = Resolver::TypeCheckContext::get ();
- context->insert_type (Analysis::NodeMapping (mappings.get_current_crate (),
- UNKNOWN_NODEID,
- param->get_ref (),
- UNKNOWN_LOCAL_DEFID),
- param->resolve ());
+ context->insert_type (
+ Analysis::NodeMapping (mappings.crate_mapping.get_current_crate (),
+ UNKNOWN_NODEID, param->get_ref (),
+ UNKNOWN_LOCAL_DEFID),
+ param->resolve ());
}
SubstitutionArg::SubstitutionArg (const SubstitutionParamMapping *param,
diff --git a/gcc/rust/typecheck/rust-tyty-util.cc
b/gcc/rust/typecheck/rust-tyty-util.cc
index c9f8becb1..d63f45495 100644
--- a/gcc/rust/typecheck/rust-tyty-util.cc
+++ b/gcc/rust/typecheck/rust-tyty-util.cc
@@ -120,10 +120,10 @@ TyVar::monomorphized_clone () const
c->set_ref (mappings.get_next_hir_id ());
// insert it
- context->insert_type (Analysis::NodeMapping (mappings.get_current_crate (),
- UNKNOWN_NODEID, c->get_ref (),
- UNKNOWN_LOCAL_DEFID),
- c);
+ context->insert_type (
+ Analysis::NodeMapping (mappings.crate_mapping.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 a9b3dcc5e..b3696afa1 100644
--- a/gcc/rust/typecheck/rust-tyty.cc
+++ b/gcc/rust/typecheck/rust-tyty.cc
@@ -1371,11 +1371,11 @@ InferType::clone () const
= new InferType (mappings.get_next_hir_id (), get_infer_kind (),
default_hint, get_ident ().locus, get_combined_refs ());
- context->insert_type (Analysis::NodeMapping (mappings.get_current_crate (),
- UNKNOWN_NODEID,
- clone->get_ref (),
- UNKNOWN_LOCAL_DEFID),
- clone);
+ context->insert_type (
+ Analysis::NodeMapping (mappings.crate_mapping.get_current_crate (),
+ UNKNOWN_NODEID, clone->get_ref (),
+ UNKNOWN_LOCAL_DEFID),
+ clone);
mappings.insert_location (clone->get_ref (),
mappings.lookup_location (get_ref ()));
@@ -4212,11 +4212,11 @@ ConstInferType::clone () const
= new ConstInferType (specified_type, mappings.get_next_hir_id (),
get_ty_ref (), get_combined_refs ());
- context->insert_type (Analysis::NodeMapping (mappings.get_current_crate (),
- UNKNOWN_NODEID,
- clone->get_ref (),
- UNKNOWN_LOCAL_DEFID),
- clone);
+ context->insert_type (
+ Analysis::NodeMapping (mappings.crate_mapping.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 1151c5cae..6a96102ca 100644
--- a/gcc/rust/util/rust-hir-map.cc
+++ b/gcc/rust/util/rust-hir-map.cc
@@ -98,9 +98,12 @@ static const HirId kDefaultNodeIdBegin = 1;
static const HirId kDefaultHirIdBegin = 1;
static const HirId kDefaultCrateNumBegin = 0;
+CrateMappings::CrateMappings ()
+ : crateNumItr (kDefaultCrateNumBegin), currentCrateNum (UNKNOWN_CRATENUM)
+{}
+
Mappings::Mappings ()
- : crateNumItr (kDefaultCrateNumBegin), currentCrateNum (UNKNOWN_CRATENUM),
- hirIdIter (kDefaultHirIdBegin), nodeIdIter (kDefaultNodeIdBegin),
+ : hirIdIter (kDefaultHirIdBegin), nodeIdIter (kDefaultNodeIdBegin),
hirImplIndexesBuilt (false)
{
Analysis::NodeMapping node (0, 0, 0, 0);
@@ -121,7 +124,7 @@ Mappings::get ()
}
CrateNum
-Mappings::get_next_crate_num (const std::string &name)
+CrateMappings::get_next_crate_num (const std::string &name)
{
auto id = crateNumItr;
crateNumItr++;
@@ -130,19 +133,19 @@ Mappings::get_next_crate_num (const std::string &name)
}
void
-Mappings::set_current_crate (CrateNum crateNum)
+CrateMappings::set_current_crate (CrateNum crateNum)
{
currentCrateNum = crateNum;
}
CrateNum
-Mappings::get_current_crate () const
+CrateMappings::get_current_crate () const
{
return currentCrateNum;
}
tl::optional<const std::string &>
-Mappings::get_crate_name (CrateNum crate_num) const
+CrateMappings::get_crate_name (CrateNum crate_num) const
{
auto it = crate_names.find (crate_num);
if (it == crate_names.end ())
@@ -152,7 +155,7 @@ Mappings::get_crate_name (CrateNum crate_num) const
}
tl::optional<CrateNum>
-Mappings::lookup_crate_num (NodeId node_id) const
+CrateMappings::lookup_crate_num (NodeId node_id) const
{
auto it = crate_node_to_crate_num.find (node_id);
if (it == crate_node_to_crate_num.end ())
@@ -162,19 +165,19 @@ Mappings::lookup_crate_num (NodeId node_id) const
}
void
-Mappings::set_crate_name (CrateNum crate_num, const std::string &name)
+CrateMappings::set_crate_name (CrateNum crate_num, const std::string &name)
{
crate_names[crate_num] = name;
}
const std::string &
-Mappings::get_current_crate_name () const
+CrateMappings::get_current_crate_name () const
{
return get_crate_name (get_current_crate ()).value ();
}
tl::optional<CrateNum>
-Mappings::lookup_crate_name (const std::string &crate_name) const
+CrateMappings::lookup_crate_name (const std::string &crate_name) const
{
for (const auto &it : crate_names)
{
@@ -185,7 +188,7 @@ Mappings::lookup_crate_name (const std::string &crate_name)
const
}
tl::optional<NodeId>
-Mappings::crate_num_to_nodeid (const CrateNum &crate_num) const
+CrateMappings::crate_num_to_nodeid (const CrateNum &crate_num) const
{
auto it = ast_crate_mappings.find (crate_num);
if (it == ast_crate_mappings.end ())
@@ -195,7 +198,7 @@ Mappings::crate_num_to_nodeid (const CrateNum &crate_num)
const
}
bool
-Mappings::node_is_crate (NodeId node_id) const
+CrateMappings::node_is_crate (NodeId node_id) const
{
return lookup_crate_num (node_id).has_value ();
}
@@ -244,7 +247,7 @@ Mappings::get_next_localdef_id (CrateNum crateNum)
}
AST::Crate &
-Mappings::get_ast_crate (CrateNum crateNum)
+CrateMappings::get_ast_crate (CrateNum crateNum)
{
auto it = ast_crate_mappings.find (crateNum);
rust_assert (it != ast_crate_mappings.end ());
@@ -254,11 +257,11 @@ Mappings::get_ast_crate (CrateNum crateNum)
AST::Crate &
Mappings::get_ast_crate_by_node_id (NodeId id)
{
- return *get_ast_crate_by_node_id_raw (id);
+ return *crate_mapping.get_ast_crate_by_node_id_raw (id);
}
AST::Crate *
-Mappings::get_ast_crate_by_node_id_raw (NodeId id)
+CrateMappings::get_ast_crate_by_node_id_raw (NodeId id)
{
CrateNum crateNum = lookup_crate_num (id).value ();
auto it = ast_crate_mappings.find (crateNum);
@@ -267,8 +270,8 @@ Mappings::get_ast_crate_by_node_id_raw (NodeId id)
}
AST::Crate &
-Mappings::insert_ast_crate (std::unique_ptr<AST::Crate> &&crate,
- CrateNum crate_num)
+CrateMappings::insert_ast_crate (std::unique_ptr<AST::Crate> &&crate,
+ CrateNum crate_num)
{
auto it = ast_crate_mappings.find (crate_num);
rust_assert (it == ast_crate_mappings.end ());
@@ -1074,7 +1077,8 @@ 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, currentCrateNum};
+ macroMappings[macro->get_node_id ()]
+ = {macro, crate_mapping.get_current_crate ()};
}
tl::optional<AST::MacroRulesDefinition *>
@@ -1349,7 +1353,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] = get_ast_crate_by_node_id_raw (id);
+ glob_containers[id] = crate_mapping.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 344e13414..d92f0e0f1 100644
--- a/gcc/rust/util/rust-hir-map.h
+++ b/gcc/rust/util/rust-hir-map.h
@@ -71,11 +71,21 @@ private:
LocalDefId localDefId;
};
-class Mappings
+class CrateMappings
{
+ std::map<CrateNum, AST::Crate *> ast_crate_mappings;
+
+ // crate names
+ std::map<CrateNum, std::string> crate_names;
+
+ CrateNum crateNumItr;
+
+ CrateNum currentCrateNum;
+
+ std::map<NodeId, CrateNum> crate_node_to_crate_num;
+
public:
- static Mappings &get ();
- ~Mappings ();
+ CrateMappings ();
CrateNum get_next_crate_num (const std::string &name);
void set_current_crate (CrateNum crateNum);
@@ -90,19 +100,35 @@ public:
tl::optional<NodeId> crate_num_to_nodeid (const CrateNum &crate_num) const;
bool node_is_crate (NodeId node_id) const;
+ AST::Crate &insert_ast_crate (std::unique_ptr<AST::Crate> &&crate,
+ CrateNum crate_num);
+
+ AST::Crate &get_ast_crate (CrateNum crateNum);
+
+ AST::Crate *get_ast_crate_by_node_id_raw (NodeId id);
+};
+
+class Mappings
+{
+public:
+ static Mappings &get ();
+ ~Mappings ();
+
+ CrateMappings crate_mapping;
+
NodeId get_next_node_id ();
- HirId get_next_hir_id () { return get_next_hir_id (get_current_crate ()); }
+ HirId get_next_hir_id ()
+ {
+ return get_next_hir_id (crate_mapping.get_current_crate ());
+ }
HirId get_next_hir_id (CrateNum crateNum);
LocalDefId get_next_localdef_id ()
{
- return get_next_localdef_id (get_current_crate ());
+ return get_next_localdef_id (crate_mapping.get_current_crate ());
}
LocalDefId get_next_localdef_id (CrateNum crateNum);
- AST::Crate &get_ast_crate (CrateNum crateNum);
AST::Crate &get_ast_crate_by_node_id (NodeId id);
- AST::Crate &insert_ast_crate (std::unique_ptr<AST::Crate> &&crate,
- CrateNum crate_num);
HIR::Crate &insert_hir_crate (std::unique_ptr<HIR::Crate> &&crate);
HIR::Crate &get_hir_crate (CrateNum crateNum);
bool is_local_hirid_crate (HirId crateNum);
@@ -403,17 +429,11 @@ public:
private:
Mappings ();
- CrateNum crateNumItr;
- CrateNum currentCrateNum;
HirId hirIdIter;
NodeId nodeIdIter;
std::map<CrateNum, LocalDefId> localIdIter;
HIR::ImplBlock *builtinMarker;
- AST::Crate *get_ast_crate_by_node_id_raw (NodeId id);
-
- std::map<NodeId, CrateNum> crate_node_to_crate_num;
- std::map<CrateNum, AST::Crate *> ast_crate_mappings;
std::map<CrateNum, HIR::Crate *> hir_crate_mappings;
std::map<DefId, HIR::Item *> defIdMappings;
std::map<DefId, HIR::TraitItem *> defIdTraitItemMappings;
@@ -485,9 +505,6 @@ private:
std::map<NodeId, BangProcMacro> procmacroBangInvocations;
std::map<NodeId, AttributeProcMacro> procmacroAttributeInvocations;
- // crate names
- std::map<CrateNum, std::string> crate_names;
-
// Low level visibility map for each DefId
std::map<NodeId, Privacy::ModuleVisibility> visibility_map;
base-commit: 16d69057353334004bcbbf3f55b9ddd9052be095
--
2.55.0