https://gcc.gnu.org/g:f55311e39ea1d6484a71152a2e746ea0812f0b1e
commit r17-5158-gf55311e39ea1d6484a71152a2e746ea0812f0b1e Author: Pierre-Emmanuel Patry <[email protected]> Date: Wed Sep 16 17:05:44 2026 +0200 gccrs: Separate crate related mappings within hir map 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]> Diff: --- 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 +- .../checks/errors/borrowck/rust-borrow-checker.cc | 4 +- .../errors/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 +- gcc/rust/resolve/rust-name-resolution-context.h | 10 ++- gcc/rust/rust-session-manager.cc | 32 +++++---- gcc/rust/typecheck/rust-hir-type-check-base.cc | 2 +- gcc/rust/typecheck/rust-hir-type-check-expr.cc | 9 +-- gcc/rust/typecheck/rust-hir-type-check-implitem.cc | 4 +- gcc/rust/typecheck/rust-hir-type-check-item.cc | 10 +-- gcc/rust/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 8a952f8dceed..0b3214253b0c 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 e2e5644938e7..0f16010a375a 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 126705c5ddfb..16d32ac7321b 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 ba2b7067dca2..f9e9316f9713 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 c24f0657e58e..d7c1955f8add 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 4423abe57a8a..44c7512f86a3 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 33b1c2f51ad4..1d55632e6900 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 76cbfc5539a7..3b36ea36c258 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 3a24f477f745..e5f06b40c86e 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 77811f2b8dac..61a3f10c3fde 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 833e69cd23a7..c9cec8cb6c04 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 16a7c3b4368c..828d0065fa71 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 2ae5242357f2..546ba6fb848b 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 17d4dc981e1d..21544ff26645 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 4792b9ac8a83..2f5eede12030 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 3acdfeaa1e59..7bc9c6b97193 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 413e3f0baaa8..f31cc92cdb07 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 4c36be9f5ae2..1030f32092b2 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 ac2b7b196586..0433156482d3 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 eb21331166cb..07eb6293bd3f 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 e30c5b59e42a..8903b23ae327 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 4f4f8d411d83..f65b09264476 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 f5f457f60203..2bcc778c6845 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 b2e10c6225bd..0f02b3698dda 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 8c65390f781c..5886e57968d7 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 5f54c0726fa4..17067603719d 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 b6ea1028f7a5..8c3d540c17c6 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 d4c21d09ca84..25048a38f11c 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 7df36f0d3cff..96367df5cb5f 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 0d762c8c09c1..a00cb6b3d4a9 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 ba237bcc7447..08b618e8cca8 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 c9f8becb12c6..d63f4549587e 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 a9b3dcc5e6ae..b3696afa1605 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 1151c5cae19c..6a96102ca3f5 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 344e13414fef..d92f0e0f16a7 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;
