]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
gccrs: Change singleton returned type to a reference
authorPierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
Wed, 24 Apr 2024 08:51:13 +0000 (10:51 +0200)
committerArthur Cohen <arthur.cohen@embecosm.com>
Mon, 17 Mar 2025 15:35:22 +0000 (16:35 +0100)
We do not need a raw pointer for this singleton,
nor we need having it on the heap through a
smart pointer.

gcc/rust/ChangeLog:

* ast/rust-ast.h: Change dereference from a pointer to a reference
accessor.
* ast/rust-expr.h: Likewise.
* ast/rust-item.h: Likewise.
* ast/rust-macro.h: Likewise.
* ast/rust-path.h: Likewise.
* ast/rust-pattern.h: Likewise.
* ast/rust-type.h: Likewise.
* backend/rust-compile-base.cc (HIRCompileBase::resolve_method_address):
Likewise.
* backend/rust-compile-context.h: Likewise.
* backend/rust-compile-expr.cc (CompileExpr::visit): Likewise.
(CompileExpr::generate_closure_function): Likewise.
* backend/rust-compile-extern.h: Likewise.
* backend/rust-compile-implitem.cc (CompileTraitItem::visit): Likewise.
* backend/rust-compile-intrinsic.cc (Intrinsics::compile): Likewise.
* backend/rust-compile-item.cc (CompileItem::visit): Likewise.
* backend/rust-compile-resolve-path.cc (ResolvePathRef::resolve):
Likewise.
(HIRCompileBase::query_compile): Likewise.
* backend/rust-compile-type.cc (TyTyResolveCompile::visit): Likewise.
(TyTyResolveCompile::create_dyn_obj_record): Likewise.
* backend/rust-compile.cc (HIRCompileBase::coerce_to_dyn_object):
Likewise.
* backend/rust-mangle-v0.cc (v0_path): Likewise.
(v0_mangle_item): Likewise.
* checks/errors/borrowck/rust-borrow-checker.cc (BorrowChecker::go):
Likewise.
* checks/errors/privacy/rust-privacy-check.cc (Resolver::resolve):
Likewise.
* checks/errors/rust-const-checker.cc (ConstChecker::ConstChecker):
Likewise.
* checks/errors/rust-unsafe-checker.cc (UnsafeChecker::UnsafeChecker):
Likewise.
* checks/lints/rust-lint-marklive-base.h: Likewise.
* checks/lints/rust-lint-marklive.cc (MarkLive::go): Likewise.
(MarkLive::visit): Likewise.
(MarkLive::visit_path_segment): Likewise.
* checks/lints/rust-lint-marklive.h: Likewise.
* checks/lints/rust-lint-scan-deadcode.h: Likewise.
* expand/rust-macro-expand.cc (MacroExpander::expand_invoc): Likewise.
* expand/rust-macro-expand.h (struct MacroExpander): Change mapping
from pointer to a reference.
* expand/rust-proc-macro.cc (BangProcMacro::BangProcMacro): Replace
pointer accessor with reference accessor.
(AttributeProcMacro::AttributeProcMacro): Likewise.
(CustomDeriveProcMacro::CustomDeriveProcMacro): 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::handle_lang_item_attribute): Likewise.
(ASTLoweringBase::lower_extern_block): Likewise.
(ASTLoweringBase::lower_macro_definition): Likewise.
* hir/rust-ast-lower-base.h: Likewise.
* hir/rust-ast-lower-block.h: Likewise.
* hir/rust-ast-lower-enumitem.h: Likewise.
* hir/rust-ast-lower-expr.cc (ASTLoweringExpr::translate): Likewise.
(ASTLoweringExpr::visit): Likewise.
* hir/rust-ast-lower-extern.h: Likewise.
* hir/rust-ast-lower-implitem.cc (ASTLowerImplItem::translate):
Likewise.
(ASTLowerImplItem::visit): Likewise.
(ASTLowerTraitItem::translate): Likewise.
(ASTLowerTraitItem::visit): Likewise.
* hir/rust-ast-lower-item.cc (ASTLoweringItem::translate): Likewise.
(ASTLoweringItem::visit): Likewise.
(ASTLoweringSimplePath::lower): Likewise.
* hir/rust-ast-lower-pattern.cc (ASTLoweringPattern::translate):
Likewise.
(ASTLoweringPattern::visit): Likewise.
* hir/rust-ast-lower-stmt.cc (ASTLoweringStmt::translate): Likewise.
(ASTLoweringStmt::visit): Likewise.
* hir/rust-ast-lower-struct-field-expr.h: Likewise.
* hir/rust-ast-lower-type.cc (ASTLowerTypePath::visit): Likewise.
(ASTLowerQualifiedPathInType::visit): Likewise.
(ASTLoweringType::translate): Likewise.
(ASTLoweringType::visit): Likewise.
(ASTLowerGenericParam::translate): Likewise.
(ASTLowerGenericParam::visit): Likewise.
(ASTLoweringTypeBounds::translate): Likewise.
(ASTLoweringTypeBounds::visit): Likewise.
(ASTLowerWhereClauseItem::translate): Likewise.
(ASTLowerWhereClauseItem::visit): Likewise.
* hir/rust-ast-lower.cc (ASTLowering::go): Likewise.
(ASTLoweringBlock::visit): Likewise.
(ASTLoweringIfBlock::visit): 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 (ExportContext::emit_trait):
Likewise.
(ExportContext::emit_function): Likewise.
(ExportContext::emit_macro): Likewise.
(PublicInterface::PublicInterface): Likewise.
(PublicInterface::expected_metadata_filename): Likewise.
* metadata/rust-export-metadata.h: Likewise.
* resolve/rust-ast-resolve-base.h: Likewise.
* resolve/rust-ast-resolve-implitem.h: Likewise.
* resolve/rust-ast-resolve-item.cc (ResolveTraitItems::visit):
Likewise.
(ResolveItem::visit): Likewise.
(ResolveExternItem::visit): Likewise.
* resolve/rust-ast-resolve-path.cc (ResolvePath::resolve_path):
Likewise.
* resolve/rust-ast-resolve-stmt.h: Likewise.
* resolve/rust-ast-resolve-toplevel.h: Likewise.
* resolve/rust-ast-resolve-type.cc (ResolveRelativeTypePath::go):
Likewise.
(ResolveTypeToCanonicalPath::visit): Likewise.
* resolve/rust-ast-resolve-type.h: Likewise.
* resolve/rust-ast-resolve.cc (NameResolution::NameResolution):
Likewise.
(NameResolution::go): Likewise.
* resolve/rust-ast-resolve.h: Likewise.
* resolve/rust-early-name-resolver-2.0.cc (Early::visit_attributes):
Likewise.
* resolve/rust-early-name-resolver.cc (EarlyNameResolver::EarlyNameResolver):
Likewise.
* resolve/rust-late-name-resolver-2.0.cc (next_node_id): Likewise.
(next_hir_id): Likewise.
* resolve/rust-name-resolution-context.cc (NameResolutionContext::NameResolutionContext):
Likewise.
* resolve/rust-name-resolver.cc (Resolver::Resolver): Likewise.
(Resolver::generate_builtins): Likewise.
(Resolver::setup_builtin): Likewise.
* resolve/rust-name-resolver.h: Likewise.
* resolve/rust-toplevel-name-resolver-2.0.cc (TopLevel::visit):
Likewise.
(TopLevel::handle_use_glob): Likewise.
* rust-session-manager.cc (Session::get_instance): Likewise.
(Session::handle_input_files): Likewise.
(Session::handle_crate_name): Likewise.
(Session::compile_crate): Likewise.
(Session::load_extern_crate): Likewise.
* rust-session-manager.h: Likewise.
* typecheck/rust-autoderef.cc (Adjuster::try_unsize_type): Likewise.
* typecheck/rust-coercion.cc (TypeCoercionRules::do_coercion):
Likewise.
(TypeCoercionRules::coerce_unsafe_ptr): Likewise.
(TypeCoercionRules::coerce_borrowed_pointer): Likewise.
(TypeCoercionRules::coerce_unsized): Likewise.
* typecheck/rust-coercion.h: Likewise.
* typecheck/rust-hir-dot-operator.cc (MethodResolver::select):
Likewise.
* typecheck/rust-hir-inherent-impl-overlap.h: Likewise.
* typecheck/rust-hir-path-probe.cc (PathProbeType::process_enum_item_for_candiates):
Likewise.
(PathProbeType::process_impl_items_for_candidates): Likewise.
(PathProbeImplTrait::process_trait_impl_items_for_candidates):
Likewise.
* typecheck/rust-hir-trait-resolve.cc (TraitResolver::resolve_path_to_trait):
Likewise.
(TraitItemReference::get_parent_trait_mappings): Likewise.
* typecheck/rust-hir-type-check-base.cc (TypeCheckBase::resolve_literal):
Likewise.
(TypeCheckBase::get_marker_predicate): Likewise.
* typecheck/rust-hir-type-check-base.h: Likewise.
* typecheck/rust-hir-type-check-enumitem.cc (TypeCheckEnumItem::visit):
Likewise.
* typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit):
Likewise.
(TypeCheckExpr::resolve_operator_overload): Likewise.
(TypeCheckExpr::resolve_fn_trait_call): Likewise.
* typecheck/rust-hir-type-check-implitem.cc (TypeCheckTopLevelExternItem::visit):
Likewise.
(TypeCheckImplItem::visit): Likewise.
* typecheck/rust-hir-type-check-item.cc (TypeCheckItem::visit):
Likewise.
* typecheck/rust-hir-type-check-path.cc (TypeCheckExpr::resolve_root_path):
Likewise.
(TypeCheckExpr::resolve_segments): Likewise.
* typecheck/rust-hir-type-check-pattern.cc (TypeCheckPattern::emit_pattern_size_error):
Likewise.
(ClosureParamInfer::Resolve): Likewise.
* typecheck/rust-hir-type-check-struct.cc (TypeCheckStructExpr::resolve):
Likewise.
* typecheck/rust-hir-type-check-type.cc (TypeCheckType::visit): Likewise.
(TypeCheckType::resolve_root_path): Likewise.
(TypeResolveGenericParam::visit): Likewise.
(ResolveWhereClauseItem::visit): Likewise.
* typecheck/rust-hir-type-check.cc (TraitItemReference::get_type_from_fn):
Likewise.
* typecheck/rust-type-util.cc (query_type): Likewise.
* typecheck/rust-typecheck-context.cc (TypeCheckContext::compute_inference_variables):
Likewise.
* typecheck/rust-tyty-bounds.cc (TypeBoundsProbe::scan): Likewise.
(TypeBoundsProbe::assemble_builtin_candidate): Likewise.
(TypeCheckBase::get_predicate_from_bound): Likewise.
* typecheck/rust-tyty-call.cc (TypeCheckCallExpr::visit): Likewise.
(TypeCheckMethodCallExpr::check): Likewise.
* typecheck/rust-tyty-call.h: Likewise.
* typecheck/rust-tyty-cmp.h: Likewise.
* typecheck/rust-tyty-subst.cc (SubstitutionParamMapping::override_context):
Likewise.
(SubstitutionRef::monomorphize): Likewise.
* typecheck/rust-tyty-util.cc (TyVar::get_implicit_infer_var):
Likewise.
(TyVar::monomorphized_clone): Likewise.
(TyWithLocation::TyWithLocation): Likewise.
* typecheck/rust-tyty.cc (BaseType::satisfies_bound): Likewise.
(InferType::clone): Likewise.
(ADTType::handle_substitions): Likewise.
(TupleType::handle_substitions): Likewise.
(FnType::handle_substitions): Likewise.
(ClosureType::setup_fn_once_output): Likewise.
(ArrayType::handle_substitions): Likewise.
(SliceType::handle_substitions): Likewise.
(ReferenceType::handle_substitions): Likewise.
(PointerType::handle_substitions): Likewise.
(ParamType::handle_substitions): Likewise.
* typecheck/rust-tyty.h: Likewise.
* typecheck/rust-unify.cc (UnifyRules::UnifyRules): Likewise.
(UnifyRules::commit): Likewise.
* util/rust-hir-map.cc: Change getter return type to a reference.
* util/rust-hir-map.h: Update function's prototype.

Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
94 files changed:
gcc/rust/ast/rust-ast.h
gcc/rust/ast/rust-expr.h
gcc/rust/ast/rust-item.h
gcc/rust/ast/rust-macro.h
gcc/rust/ast/rust-path.h
gcc/rust/ast/rust-pattern.h
gcc/rust/ast/rust-type.h
gcc/rust/backend/rust-compile-base.cc
gcc/rust/backend/rust-compile-context.h
gcc/rust/backend/rust-compile-expr.cc
gcc/rust/backend/rust-compile-extern.h
gcc/rust/backend/rust-compile-implitem.cc
gcc/rust/backend/rust-compile-intrinsic.cc
gcc/rust/backend/rust-compile-item.cc
gcc/rust/backend/rust-compile-resolve-path.cc
gcc/rust/backend/rust-compile-type.cc
gcc/rust/backend/rust-compile.cc
gcc/rust/backend/rust-mangle-v0.cc
gcc/rust/checks/errors/borrowck/rust-borrow-checker.cc
gcc/rust/checks/errors/privacy/rust-privacy-check.cc
gcc/rust/checks/errors/rust-const-checker.cc
gcc/rust/checks/errors/rust-unsafe-checker.cc
gcc/rust/checks/lints/rust-lint-marklive-base.h
gcc/rust/checks/lints/rust-lint-marklive.cc
gcc/rust/checks/lints/rust-lint-marklive.h
gcc/rust/checks/lints/rust-lint-scan-deadcode.h
gcc/rust/expand/rust-macro-expand.cc
gcc/rust/expand/rust-macro-expand.h
gcc/rust/expand/rust-proc-macro.cc
gcc/rust/hir/rust-ast-lower-base.cc
gcc/rust/hir/rust-ast-lower-base.h
gcc/rust/hir/rust-ast-lower-block.h
gcc/rust/hir/rust-ast-lower-enumitem.h
gcc/rust/hir/rust-ast-lower-expr.cc
gcc/rust/hir/rust-ast-lower-extern.h
gcc/rust/hir/rust-ast-lower-implitem.cc
gcc/rust/hir/rust-ast-lower-item.cc
gcc/rust/hir/rust-ast-lower-pattern.cc
gcc/rust/hir/rust-ast-lower-stmt.cc
gcc/rust/hir/rust-ast-lower-struct-field-expr.h
gcc/rust/hir/rust-ast-lower-type.cc
gcc/rust/hir/rust-ast-lower.cc
gcc/rust/metadata/rust-export-metadata.cc
gcc/rust/metadata/rust-export-metadata.h
gcc/rust/resolve/rust-ast-resolve-base.h
gcc/rust/resolve/rust-ast-resolve-implitem.h
gcc/rust/resolve/rust-ast-resolve-item.cc
gcc/rust/resolve/rust-ast-resolve-path.cc
gcc/rust/resolve/rust-ast-resolve-stmt.h
gcc/rust/resolve/rust-ast-resolve-toplevel.h
gcc/rust/resolve/rust-ast-resolve-type.cc
gcc/rust/resolve/rust-ast-resolve-type.h
gcc/rust/resolve/rust-ast-resolve.cc
gcc/rust/resolve/rust-ast-resolve.h
gcc/rust/resolve/rust-early-name-resolver-2.0.cc
gcc/rust/resolve/rust-early-name-resolver.cc
gcc/rust/resolve/rust-late-name-resolver-2.0.cc
gcc/rust/resolve/rust-name-resolution-context.cc
gcc/rust/resolve/rust-name-resolver.cc
gcc/rust/resolve/rust-name-resolver.h
gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc
gcc/rust/rust-session-manager.cc
gcc/rust/rust-session-manager.h
gcc/rust/typecheck/rust-autoderef.cc
gcc/rust/typecheck/rust-coercion.cc
gcc/rust/typecheck/rust-coercion.h
gcc/rust/typecheck/rust-hir-dot-operator.cc
gcc/rust/typecheck/rust-hir-inherent-impl-overlap.h
gcc/rust/typecheck/rust-hir-path-probe.cc
gcc/rust/typecheck/rust-hir-trait-resolve.cc
gcc/rust/typecheck/rust-hir-type-check-base.cc
gcc/rust/typecheck/rust-hir-type-check-base.h
gcc/rust/typecheck/rust-hir-type-check-enumitem.cc
gcc/rust/typecheck/rust-hir-type-check-expr.cc
gcc/rust/typecheck/rust-hir-type-check-implitem.cc
gcc/rust/typecheck/rust-hir-type-check-item.cc
gcc/rust/typecheck/rust-hir-type-check-path.cc
gcc/rust/typecheck/rust-hir-type-check-pattern.cc
gcc/rust/typecheck/rust-hir-type-check-struct.cc
gcc/rust/typecheck/rust-hir-type-check-type.cc
gcc/rust/typecheck/rust-hir-type-check.cc
gcc/rust/typecheck/rust-type-util.cc
gcc/rust/typecheck/rust-typecheck-context.cc
gcc/rust/typecheck/rust-tyty-bounds.cc
gcc/rust/typecheck/rust-tyty-call.cc
gcc/rust/typecheck/rust-tyty-call.h
gcc/rust/typecheck/rust-tyty-cmp.h
gcc/rust/typecheck/rust-tyty-subst.cc
gcc/rust/typecheck/rust-tyty-util.cc
gcc/rust/typecheck/rust-tyty.cc
gcc/rust/typecheck/rust-tyty.h
gcc/rust/typecheck/rust-unify.cc
gcc/rust/util/rust-hir-map.cc
gcc/rust/util/rust-hir-map.h

index 0db46d64f3244bf28b0152d9b00c7f15068375e8..0693b10bd2eea06d4b0b2abcb6538dcc8807da3f 100644 (file)
@@ -374,7 +374,7 @@ public:
   // TODO: put checks in constructor to enforce this rule?
   SimplePathSegment (std::string segment_name, location_t locus)
     : segment_name (std::move (segment_name)), locus (locus),
-      node_id (Analysis::Mappings::get ()->get_next_node_id ())
+      node_id (Analysis::Mappings::get ().get_next_node_id ())
   {}
 
   /* Returns whether simple path segment is in an invalid state (currently, if
@@ -425,14 +425,14 @@ public:
              location_t locus = UNDEF_LOCATION)
     : opening_scope_resolution (has_opening_scope_resolution),
       segments (std::move (path_segments)), locus (locus),
-      node_id (Analysis::Mappings::get ()->get_next_node_id ())
+      node_id (Analysis::Mappings::get ().get_next_node_id ())
   {}
 
   SimplePath (Identifier ident)
     : opening_scope_resolution (false),
       segments ({SimplePathSegment (ident.as_string (), ident.get_locus ())}),
       locus (ident.get_locus ()),
-      node_id (Analysis::Mappings::get ()->get_next_node_id ())
+      node_id (Analysis::Mappings::get ().get_next_node_id ())
   {}
 
   // Creates an empty SimplePath.
@@ -1127,7 +1127,7 @@ public:
   virtual void add_semicolon () {}
 
 protected:
-  Stmt () : node_id (Analysis::Mappings::get ()->get_next_node_id ()) {}
+  Stmt () : node_id (Analysis::Mappings::get ().get_next_node_id ()) {}
 
   // Clone function implementation as pure virtual method
   virtual Stmt *clone_stmt_impl () const = 0;
@@ -1264,7 +1264,7 @@ public:
 
 protected:
   // Constructor
-  Expr () : node_id (Analysis::Mappings::get ()->get_next_node_id ()) {}
+  Expr () : node_id (Analysis::Mappings::get ().get_next_node_id ()) {}
 
   // Clone function implementation as pure virtual method
   virtual Expr *clone_expr_impl () const = 0;
@@ -1437,7 +1437,7 @@ public:
   NodeId get_node_id () const { return node_id; }
 
 protected:
-  Type () : node_id (Analysis::Mappings::get ()->get_next_node_id ()) {}
+  Type () : node_id (Analysis::Mappings::get ().get_next_node_id ()) {}
 
   // Clone function implementation as pure virtual method
   virtual Type *clone_type_impl () const = 0;
@@ -1519,7 +1519,7 @@ public:
   // Constructor
   Lifetime (LifetimeType type, std::string name = std::string (),
            location_t locus = UNDEF_LOCATION)
-    : TypeParamBound (Analysis::Mappings::get ()->get_next_node_id ()),
+    : TypeParamBound (Analysis::Mappings::get ().get_next_node_id ()),
       lifetime_type (type), lifetime_name (std::move (name)), locus (locus)
   {}
 
@@ -1588,7 +1588,7 @@ public:
   NodeId get_node_id () { return node_id; }
 
 protected:
-  GenericParam () : node_id (Analysis::Mappings::get ()->get_next_node_id ()) {}
+  GenericParam () : node_id (Analysis::Mappings::get ().get_next_node_id ()) {}
   GenericParam (NodeId node_id) : node_id (node_id) {}
 
   // Clone function implementation as pure virtual method
@@ -1682,12 +1682,12 @@ class TraitItem : public AssociatedItem
 {
 protected:
   TraitItem (location_t locus)
-    : node_id (Analysis::Mappings::get ()->get_next_node_id ()),
+    : node_id (Analysis::Mappings::get ().get_next_node_id ()),
       vis (Visibility::create_private ()), locus (locus)
   {}
 
   TraitItem (Visibility vis, location_t locus)
-    : node_id (Analysis::Mappings::get ()->get_next_node_id ()), vis (vis),
+    : node_id (Analysis::Mappings::get ().get_next_node_id ()), vis (vis),
       locus (locus)
   {}
 
@@ -1713,7 +1713,7 @@ public:
 class ExternalItem : public Visitable
 {
 public:
-  ExternalItem () : node_id (Analysis::Mappings::get ()->get_next_node_id ()) {}
+  ExternalItem () : node_id (Analysis::Mappings::get ().get_next_node_id ()) {}
 
   ExternalItem (NodeId node_id) : node_id (node_id) {}
 
@@ -1987,7 +1987,7 @@ public:
   Crate (std::vector<std::unique_ptr<Item>> items,
         std::vector<Attribute> inner_attrs)
     : inner_attrs (std::move (inner_attrs)), items (std::move (items)),
-      node_id (Analysis::Mappings::get ()->get_next_node_id ())
+      node_id (Analysis::Mappings::get ().get_next_node_id ())
   {}
 
   // Copy constructor with vector clone
index d3dc197ea558d99e9ddee8a5aa70fccb584319c9..b990358df299cfae15428d32c650708b91563afc 100644 (file)
@@ -26,7 +26,7 @@ public:
 
   LoopLabel (Lifetime loop_label, location_t locus = UNDEF_LOCATION)
     : label (std::move (loop_label)), locus (locus),
-      node_id (Analysis::Mappings::get ()->get_next_node_id ())
+      node_id (Analysis::Mappings::get ().get_next_node_id ())
   {}
 
   // Returns whether the LoopLabel is in an error state.
@@ -1113,7 +1113,7 @@ public:
   NodeId get_node_id () const { return node_id; }
 
 protected:
-  ArrayElems () : node_id (Analysis::Mappings::get ()->get_next_node_id ()) {}
+  ArrayElems () : node_id (Analysis::Mappings::get ().get_next_node_id ()) {}
 
   // pure virtual clone implementation
   virtual ArrayElems *clone_array_elems_impl () const = 0;
@@ -1762,7 +1762,7 @@ protected:
   // pure virtual clone implementation
   virtual StructExprField *clone_struct_expr_field_impl () const = 0;
 
-  StructExprField () : node_id (Analysis::Mappings::get ()->get_next_node_id ())
+  StructExprField () : node_id (Analysis::Mappings::get ().get_next_node_id ())
   {}
 
   NodeId node_id;
@@ -4298,7 +4298,7 @@ private:
 public:
   MatchCase (MatchArm arm, std::unique_ptr<Expr> expr)
     : arm (std::move (arm)), expr (std::move (expr)),
-      node_id (Analysis::Mappings::get ()->get_next_node_id ())
+      node_id (Analysis::Mappings::get ().get_next_node_id ())
   {}
 
   MatchCase (const MatchCase &other)
index e22ca7d22e41b16ad98fc89dbeb659826d63ef61..d11835a147cd50db600164c6be5de9027a4ae9eb 100644 (file)
@@ -86,7 +86,7 @@ public:
             = std::vector<std::unique_ptr<TypeParamBound>> (),
             std::unique_ptr<Type> type = nullptr,
             Attribute outer_attr = Attribute::create_empty ())
-    : GenericParam (Analysis::Mappings::get ()->get_next_node_id ()),
+    : GenericParam (Analysis::Mappings::get ().get_next_node_id ()),
       outer_attr (std::move (outer_attr)),
       type_representation (std::move (type_representation)),
       type_param_bounds (std::move (type_param_bounds)),
@@ -210,7 +210,7 @@ public:
                           location_t locus)
     : lifetime (std::move (lifetime)),
       lifetime_bounds (std::move (lifetime_bounds)), locus (locus),
-      node_id (Analysis::Mappings::get ()->get_next_node_id ())
+      node_id (Analysis::Mappings::get ().get_next_node_id ())
   {}
 
   std::string as_string () const override;
@@ -258,7 +258,7 @@ public:
     : for_lifetimes (std::move (for_lifetimes)),
       bound_type (std::move (bound_type)),
       type_param_bounds (std::move (type_param_bounds)),
-      node_id (Analysis::Mappings::get ()->get_next_node_id ()), locus (locus)
+      node_id (Analysis::Mappings::get ().get_next_node_id ()), locus (locus)
   {}
 
   // Copy constructor requires clone
@@ -339,7 +339,7 @@ class WhereClause
 public:
   WhereClause (std::vector<std::unique_ptr<WhereClauseItem>> where_clause_items)
     : where_clause_items (std::move (where_clause_items)),
-      node_id (Analysis::Mappings::get ()->get_next_node_id ())
+      node_id (Analysis::Mappings::get ().get_next_node_id ())
   {}
 
   // copy constructor with vector clone
@@ -396,7 +396,7 @@ class Param : public Visitable
 public:
   Param (std::vector<Attribute> outer_attrs, location_t locus)
     : outer_attrs (std::move (outer_attrs)), locus (locus),
-      node_id (Analysis::Mappings::get ()->get_next_node_id ())
+      node_id (Analysis::Mappings::get ().get_next_node_id ())
   {}
 
   virtual ~Param () = default;
@@ -1018,7 +1018,7 @@ protected:
   virtual UseTree *clone_use_tree_impl () const = 0;
 
   UseTree (location_t locus)
-    : locus (locus), node_id (Analysis::Mappings::get ()->get_next_node_id ())
+    : locus (locus), node_id (Analysis::Mappings::get ().get_next_node_id ())
   {}
 };
 
@@ -1718,7 +1718,7 @@ public:
               std::vector<Attribute> outer_attrs = std::vector<Attribute> ())
     : outer_attrs (std::move (outer_attrs)), visibility (std::move (vis)),
       field_name (std::move (field_name)), field_type (std::move (field_type)),
-      node_id (Analysis::Mappings::get ()->get_next_node_id ()), locus (locus)
+      node_id (Analysis::Mappings::get ().get_next_node_id ()), locus (locus)
   {}
 
   // Copy constructor
@@ -1878,7 +1878,7 @@ public:
              std::vector<Attribute> outer_attrs = std::vector<Attribute> ())
     : outer_attrs (std::move (outer_attrs)), visibility (std::move (vis)),
       field_type (std::move (field_type)),
-      node_id (Analysis::Mappings::get ()->get_next_node_id ()), locus (locus)
+      node_id (Analysis::Mappings::get ().get_next_node_id ()), locus (locus)
   {}
 
   // Copy constructor with clone
@@ -3573,7 +3573,7 @@ public:
                      std::vector<Attribute> outer_attrs, location_t locus)
     : name (std::move (name)), param_type (std::move (param_type)),
       outer_attrs (std::move (outer_attrs)),
-      node_id (Analysis::Mappings::get ()->get_next_node_id ()), locus (locus),
+      node_id (Analysis::Mappings::get ().get_next_node_id ()), locus (locus),
       variadic (false)
   {}
 
@@ -3581,13 +3581,13 @@ public:
                      location_t locus)
     : name (std::move (name)), param_type (nullptr),
       outer_attrs (std::move (outer_attrs)),
-      node_id (Analysis::Mappings::get ()->get_next_node_id ()), locus (locus),
+      node_id (Analysis::Mappings::get ().get_next_node_id ()), locus (locus),
       variadic (true)
   {}
 
   NamedFunctionParam (std::vector<Attribute> outer_attrs, location_t locus)
     : name (""), param_type (nullptr), outer_attrs (std::move (outer_attrs)),
-      node_id (Analysis::Mappings::get ()->get_next_node_id ()), locus (locus),
+      node_id (Analysis::Mappings::get ().get_next_node_id ()), locus (locus),
       variadic (true)
   {}
 
index b0b02ca680d06f5fda53c631a42e68006bf3f500..e2f37891b5848e420c73cfc2296adbf6318c2e45 100644 (file)
@@ -720,7 +720,7 @@ private:
     location_t locus, bool is_semi_coloned,
     std::vector<std::unique_ptr<MacroInvocation>> &&pending_eager_invocs)
     : TraitItem (locus), outer_attrs (std::move (outer_attrs)), locus (locus),
-      node_id (Analysis::Mappings::get ()->get_next_node_id ()),
+      node_id (Analysis::Mappings::get ().get_next_node_id ()),
       invoc_data (std::move (invoc_data)), is_semi_coloned (is_semi_coloned),
       kind (kind), builtin_kind (builtin_kind),
       pending_eager_invocs (std::move (pending_eager_invocs))
index 46d1a930d66354516d0cfc92f8c8c708cd93c105..60eec59b72e7360db9c0a485c1913cd13a231bb9 100644 (file)
@@ -506,7 +506,7 @@ public:
                   GenericArgs generic_args = GenericArgs::create_empty ())
     : segment_name (std::move (segment_name)),
       generic_args (std::move (generic_args)), locus (locus),
-      node_id (Analysis::Mappings::get ()->get_next_node_id ())
+      node_id (Analysis::Mappings::get ().get_next_node_id ())
   {}
 
   /* Constructor for segment with generic arguments (from segment name and all
@@ -519,7 +519,7 @@ public:
       generic_args (GenericArgs (std::move (lifetime_args),
                                 std::move (generic_args),
                                 std::move (binding_args))),
-      locus (locus), node_id (Analysis::Mappings::get ()->get_next_node_id ())
+      locus (locus), node_id (Analysis::Mappings::get ().get_next_node_id ())
   {}
 
   // Returns whether path expression segment is in an error state.
@@ -621,7 +621,7 @@ public:
     : PathPattern (std::move (path_segments)),
       outer_attrs (std::move (outer_attrs)),
       has_opening_scope_resolution (has_opening_scope_resolution),
-      locus (locus), _node_id (Analysis::Mappings::get ()->get_next_node_id ())
+      locus (locus), _node_id (Analysis::Mappings::get ().get_next_node_id ())
   {}
 
   // Creates an error state path in expression.
@@ -743,7 +743,7 @@ public:
                   bool has_separating_scope_resolution, location_t locus)
     : ident_segment (std::move (ident_segment)), locus (locus),
       has_separating_scope_resolution (has_separating_scope_resolution),
-      node_id (Analysis::Mappings::get ()->get_next_node_id ())
+      node_id (Analysis::Mappings::get ().get_next_node_id ())
   {}
 
   TypePathSegment (std::string segment_name,
@@ -751,7 +751,7 @@ public:
     : ident_segment (PathIdentSegment (std::move (segment_name), locus)),
       locus (locus),
       has_separating_scope_resolution (has_separating_scope_resolution),
-      node_id (Analysis::Mappings::get ()->get_next_node_id ())
+      node_id (Analysis::Mappings::get ().get_next_node_id ())
   {}
 
   TypePathSegment (TypePathSegment const &other)
@@ -1149,7 +1149,7 @@ public:
                     TypePath trait_path = TypePath::create_error ())
     : type_to_invoke_on (std::move (invoke_on_type)),
       trait_path (std::move (trait_path)), locus (locus),
-      node_id (Analysis::Mappings::get ()->get_next_node_id ())
+      node_id (Analysis::Mappings::get ().get_next_node_id ())
   {}
 
   // Copy constructor uses custom deep copy for Type to preserve polymorphism
@@ -1243,7 +1243,7 @@ public:
     : PathPattern (std::move (path_segments)),
       outer_attrs (std::move (outer_attrs)),
       path_type (std::move (qual_path_type)), locus (locus),
-      _node_id (Analysis::Mappings::get ()->get_next_node_id ())
+      _node_id (Analysis::Mappings::get ().get_next_node_id ())
   {}
 
   /* TODO: maybe make a shortcut constructor that has QualifiedPathType
index 172f359dbb560eeb7522f62f420eba97dac09b17..7cb09a5c2abe2a13104d0225b6195bb3f40cce3c 100644 (file)
@@ -36,13 +36,13 @@ public:
   // Constructor for a literal pattern
   LiteralPattern (Literal lit, location_t locus)
     : lit (std::move (lit)), locus (locus),
-      node_id (Analysis::Mappings::get ()->get_next_node_id ())
+      node_id (Analysis::Mappings::get ().get_next_node_id ())
   {}
 
   LiteralPattern (std::string val, Literal::LitType type, location_t locus,
                  PrimitiveCoreType type_hint)
     : lit (Literal (std::move (val), type, type_hint)), locus (locus),
-      node_id (Analysis::Mappings::get ()->get_next_node_id ())
+      node_id (Analysis::Mappings::get ().get_next_node_id ())
   {}
 
   location_t get_locus () const override final { return locus; }
@@ -90,7 +90,7 @@ public:
                     std::unique_ptr<Pattern> to_bind = nullptr)
     : Pattern (), variable_ident (std::move (ident)), is_ref (is_ref),
       is_mut (is_mut), to_bind (std::move (to_bind)), locus (locus),
-      node_id (Analysis::Mappings::get ()->get_next_node_id ())
+      node_id (Analysis::Mappings::get ().get_next_node_id ())
   {}
 
   IdentifierPattern (NodeId node_id, Identifier ident, location_t locus,
@@ -175,7 +175,7 @@ public:
   std::string as_string () const override { return std::string (1, '_'); }
 
   WildcardPattern (location_t locus)
-    : locus (locus), node_id (Analysis::Mappings::get ()->get_next_node_id ())
+    : locus (locus), node_id (Analysis::Mappings::get ().get_next_node_id ())
   {}
 
   location_t get_locus () const override final { return locus; }
@@ -204,7 +204,7 @@ public:
   std::string as_string () const override { return ".."; }
 
   RestPattern (location_t locus)
-    : locus (locus), node_id (Analysis::Mappings::get ()->get_next_node_id ())
+    : locus (locus), node_id (Analysis::Mappings::get ().get_next_node_id ())
   {}
 
   location_t get_locus () const override final { return locus; }
@@ -390,7 +390,7 @@ public:
                bool has_ellipsis_syntax = false)
     : lower (std::move (lower)), upper (std::move (upper)),
       has_ellipsis_syntax (has_ellipsis_syntax), locus (locus),
-      node_id (Analysis::Mappings::get ()->get_next_node_id ())
+      node_id (Analysis::Mappings::get ().get_next_node_id ())
   {}
 
   // Copy constructor with clone
@@ -469,7 +469,7 @@ public:
                    bool ref_has_two_amps, location_t locus)
     : has_two_amps (ref_has_two_amps), is_mut (is_mut_reference),
       pattern (std::move (pattern)), locus (locus),
-      node_id (Analysis::Mappings::get ()->get_next_node_id ())
+      node_id (Analysis::Mappings::get ().get_next_node_id ())
   {}
 
   // Copy constructor requires clone
@@ -612,7 +612,7 @@ public:
                              std::vector<Attribute> outer_attribs,
                              location_t locus)
     : StructPatternField (std::move (outer_attribs), locus,
-                         Analysis::Mappings::get ()->get_next_node_id ()),
+                         Analysis::Mappings::get ().get_next_node_id ()),
       index (index), tuple_pattern (std::move (tuple_pattern))
   {}
 
@@ -692,7 +692,7 @@ public:
                              std::vector<Attribute> outer_attrs,
                              location_t locus)
     : StructPatternField (std::move (outer_attrs), locus,
-                         Analysis::Mappings::get ()->get_next_node_id ()),
+                         Analysis::Mappings::get ().get_next_node_id ()),
       ident (std::move (ident)), ident_pattern (std::move (ident_pattern))
   {}
 
@@ -771,7 +771,7 @@ public:
   StructPatternFieldIdent (Identifier ident, bool is_ref, bool is_mut,
                           std::vector<Attribute> outer_attrs, location_t locus)
     : StructPatternField (std::move (outer_attrs), locus,
-                         Analysis::Mappings::get ()->get_next_node_id ()),
+                         Analysis::Mappings::get ().get_next_node_id ()),
       has_ref (is_ref), has_mut (is_mut), ident (std::move (ident))
   {}
 
@@ -926,7 +926,7 @@ public:
                 StructPatternElements elems
                 = StructPatternElements::create_empty ())
     : path (std::move (struct_path)), elems (std::move (elems)),
-      node_id (Analysis::Mappings::get ()->get_next_node_id ()), locus (locus)
+      node_id (Analysis::Mappings::get ().get_next_node_id ()), locus (locus)
   {}
 
   /* TODO: constructor to construct via elements included in
@@ -1146,7 +1146,7 @@ public:
   TupleStructPattern (PathInExpression tuple_struct_path,
                      std::unique_ptr<TupleStructItems> items)
     : path (std::move (tuple_struct_path)), items (std::move (items)),
-      node_id (Analysis::Mappings::get ()->get_next_node_id ())
+      node_id (Analysis::Mappings::get ().get_next_node_id ())
   {
     rust_assert (this->items != nullptr);
   }
@@ -1395,7 +1395,7 @@ public:
 
   TuplePattern (std::unique_ptr<TuplePatternItems> items, location_t locus)
     : items (std::move (items)), locus (locus),
-      node_id (Analysis::Mappings::get ()->get_next_node_id ())
+      node_id (Analysis::Mappings::get ().get_next_node_id ())
   {
     rust_assert (this->items != nullptr);
   }
@@ -1462,7 +1462,7 @@ public:
 
   GroupedPattern (std::unique_ptr<Pattern> pattern_in_parens, location_t locus)
     : pattern_in_parens (std::move (pattern_in_parens)), locus (locus),
-      node_id (Analysis::Mappings::get ()->get_next_node_id ())
+      node_id (Analysis::Mappings::get ().get_next_node_id ())
   {}
 
   // Copy constructor uses clone
@@ -1521,7 +1521,7 @@ public:
 
   SlicePattern (std::vector<std::unique_ptr<Pattern>> items, location_t locus)
     : items (std::move (items)), locus (locus),
-      node_id (Analysis::Mappings::get ()->get_next_node_id ())
+      node_id (Analysis::Mappings::get ().get_next_node_id ())
   {}
 
   // Copy constructor with vector clone
@@ -1588,7 +1588,7 @@ public:
 
   AltPattern (std::vector<std::unique_ptr<Pattern>> alts, location_t locus)
     : alts (std::move (alts)), locus (locus),
-      node_id (Analysis::Mappings::get ()->get_next_node_id ())
+      node_id (Analysis::Mappings::get ().get_next_node_id ())
   {}
 
   // Copy constructor with vector clone
index bdda91a935cb164f08b9e346cb25bd396f82174a..cf830f6661a38faf7a85d415cd709018c361e364 100644 (file)
@@ -52,7 +52,7 @@ public:
              bool opening_question_mark = false,
              std::vector<LifetimeParam> for_lifetimes
              = std::vector<LifetimeParam> ())
-    : TypeParamBound (Analysis::Mappings::get ()->get_next_node_id ()),
+    : TypeParamBound (Analysis::Mappings::get ().get_next_node_id ()),
       in_parens (in_parens), opening_question_mark (opening_question_mark),
       for_lifetimes (std::move (for_lifetimes)),
       type_path (std::move (type_path)), locus (locus)
index 67d8797e58824bb65509509bff970f5859ebdd19..e3138205a5ba8ab2d9fb22cd98ce2c6ee3c9f5db 100644 (file)
@@ -877,7 +877,7 @@ HIRCompileBase::resolve_method_address (TyTy::FnType *fntype,
   // Now we can try and resolve the address since this might be a forward
   // declared function, generic function which has not be compiled yet or
   // its an not yet trait bound function
-  HIR::Item *resolved_item = ctx->get_mappings ()->lookup_defid (id);
+  HIR::Item *resolved_item = ctx->get_mappings ().lookup_defid (id);
   if (resolved_item != nullptr)
     {
       if (!fntype->has_substitutions_defined ())
@@ -888,8 +888,8 @@ HIRCompileBase::resolve_method_address (TyTy::FnType *fntype,
 
   // it might be resolved to a trait item
   HIR::TraitItem *trait_item
-    = ctx->get_mappings ()->lookup_trait_item_defid (id);
-  HIR::Trait *trait = ctx->get_mappings ()->lookup_trait_item_mapping (
+    = ctx->get_mappings ().lookup_trait_item_defid (id);
+  HIR::Trait *trait = ctx->get_mappings ().lookup_trait_item_mapping (
     trait_item->get_mappings ().get_hirid ());
 
   Resolver::TraitReference *trait_ref
index 156c7b1cd93df98a33bf508c05763e86d471fa5b..a44638817dbc3d976bbf090021df610a3a688019 100644 (file)
@@ -89,7 +89,7 @@ public:
 
   Resolver::Resolver *get_resolver () { return resolver; }
   Resolver::TypeCheckContext *get_tyctx () { return tyctx; }
-  Analysis::Mappings *get_mappings () { return mappings; }
+  Analysis::Mappings &get_mappings () { return mappings; }
 
   void push_block (tree scope)
   {
@@ -390,7 +390,7 @@ public:
 private:
   Resolver::Resolver *resolver;
   Resolver::TypeCheckContext *tyctx;
-  Analysis::Mappings *mappings;
+  Analysis::Mappings &mappings;
   Mangler mangler;
 
   // state
index 9ffd863629ba6fb5cb69696721c902b96a45bdbe..0980e6cf38af445be4ba04bfa177133b3e70b9ff 100644 (file)
@@ -120,7 +120,7 @@ CompileExpr::visit (HIR::ReturnExpr &expr)
 
       TyTy::BaseType *expected = fncontext.retty;
       location_t lvalue_locus
-       = ctx->get_mappings ()->lookup_location (expected->get_ref ());
+       = ctx->get_mappings ().lookup_location (expected->get_ref ());
 
       TyTy::BaseType *actual = nullptr;
       bool ok = ctx->get_tyctx ()->lookup_type (
@@ -456,7 +456,7 @@ CompileExpr::visit (HIR::StructExprStructFields &struct_expr)
       // process arguments
       auto &argument = struct_expr.get_fields ().at (0);
       auto lvalue_locus
-       = ctx->get_mappings ()->lookup_location (expected->get_ty_ref ());
+       = ctx->get_mappings ().lookup_location (expected->get_ty_ref ());
       auto rvalue_locus = argument->get_locus ();
       auto rvalue = CompileStructExprField::Compile (argument.get (), ctx);
 
@@ -488,7 +488,7 @@ CompileExpr::visit (HIR::StructExprStructFields &struct_expr)
          // process arguments
          auto &argument = struct_expr.get_fields ().at (i);
          auto lvalue_locus
-           = ctx->get_mappings ()->lookup_location (expected->get_ty_ref ());
+           = ctx->get_mappings ().lookup_location (expected->get_ty_ref ());
          auto rvalue_locus = argument->get_locus ();
          auto rvalue = CompileStructExprField::Compile (argument.get (), ctx);
 
@@ -735,7 +735,7 @@ CompileExpr::visit (HIR::BreakExpr &expr)
        }
 
       HirId ref = UNKNOWN_HIRID;
-      if (!ctx->get_mappings ()->lookup_node_to_hir (resolved_node_id, &ref))
+      if (!ctx->get_mappings ().lookup_node_to_hir (resolved_node_id, &ref))
        {
          rust_fatal_error (expr.get_locus (), "reverse lookup label failure");
          return;
@@ -779,7 +779,7 @@ CompileExpr::visit (HIR::ContinueExpr &expr)
        }
 
       HirId ref = UNKNOWN_HIRID;
-      if (!ctx->get_mappings ()->lookup_node_to_hir (resolved_node_id, &ref))
+      if (!ctx->get_mappings ().lookup_node_to_hir (resolved_node_id, &ref))
        {
          rust_fatal_error (expr.get_locus (), "reverse lookup label failure");
          return;
@@ -1153,7 +1153,7 @@ CompileExpr::visit (HIR::CallExpr &expr)
 
          // coerce it if required
          location_t lvalue_locus
-           = ctx->get_mappings ()->lookup_location (expected->get_ty_ref ());
+           = ctx->get_mappings ().lookup_location (expected->get_ty_ref ());
          location_t rvalue_locus = argument->get_locus ();
          rvalue
            = coercion_site (argument->get_mappings ().get_hirid (), rvalue,
@@ -1257,7 +1257,7 @@ CompileExpr::visit (HIR::CallExpr &expr)
 
       // coerce it if required
       location_t lvalue_locus
-       = ctx->get_mappings ()->lookup_location (expected->get_ty_ref ());
+       = ctx->get_mappings ().lookup_location (expected->get_ty_ref ());
       location_t rvalue_locus = argument->get_locus ();
       rvalue = coercion_site (argument->get_mappings ().get_hirid (), rvalue,
                              actual, expected, lvalue_locus, rvalue_locus);
@@ -1346,7 +1346,7 @@ CompileExpr::visit (HIR::MethodCallExpr &expr)
 
       // coerce it if required
       location_t lvalue_locus
-       = ctx->get_mappings ()->lookup_location (expected->get_ty_ref ());
+       = ctx->get_mappings ().lookup_location (expected->get_ty_ref ());
       location_t rvalue_locus = argument->get_locus ();
       rvalue = coercion_site (argument->get_mappings ().get_hirid (), rvalue,
                              actual, expected, lvalue_locus, rvalue_locus);
@@ -2175,7 +2175,7 @@ CompileExpr::visit (HIR::ClosureExpr &expr)
     {
       // lookup the HirId
       HirId ref = UNKNOWN_HIRID;
-      bool ok = ctx->get_mappings ()->lookup_node_to_hir (capture, &ref);
+      bool ok = ctx->get_mappings ().lookup_node_to_hir (capture, &ref);
       rust_assert (ok);
 
       // lookup the var decl
@@ -2209,7 +2209,7 @@ CompileExpr::generate_closure_function (HIR::ClosureExpr &expr,
   const Resolver::CanonicalPath &parent_canonical_path
     = closure_tyty.get_ident ().path;
   NodeId node_id;
-  bool ok = ctx->get_mappings ()->lookup_hir_to_node (
+  bool ok = ctx->get_mappings ().lookup_hir_to_node (
     expr.get_mappings ().get_hirid (), &node_id);
   rust_assert (ok);
   Resolver::CanonicalPath path = parent_canonical_path.append (
@@ -2245,7 +2245,7 @@ CompileExpr::generate_closure_function (HIR::ClosureExpr &expr,
     {
       // lookup the HirId
       HirId ref = UNKNOWN_HIRID;
-      bool ok = ctx->get_mappings ()->lookup_node_to_hir (capture, &ref);
+      bool ok = ctx->get_mappings ().lookup_node_to_hir (capture, &ref);
       rust_assert (ok);
 
       // get the assessor
index 7dbf7d73f9c848e9c46e9021d53ec8c493673b3f..f596ed2fcaa292b284be9cb9a7ac18f55f5dff6f 100644 (file)
@@ -135,7 +135,7 @@ public:
       {
        // then we need to get the canonical path of it and mangle it
        const Resolver::CanonicalPath *canonical_path = nullptr;
-       bool ok = ctx->get_mappings ()->lookup_canonical_path (
+       bool ok = ctx->get_mappings ().lookup_canonical_path (
          function.get_mappings ().get_nodeid (), &canonical_path);
        rust_assert (ok);
 
index 7435833985364767ad4ecf8a5fd8491004a49efb..0f24417ca1d3f97607260f714b43dc85b00a3d86 100644 (file)
@@ -28,7 +28,7 @@ CompileTraitItem::visit (HIR::TraitItemConst &constant)
   TyTy::BaseType *resolved_type = concrete;
 
   const Resolver::CanonicalPath *canonical_path = nullptr;
-  bool ok = ctx->get_mappings ()->lookup_canonical_path (
+  bool ok = ctx->get_mappings ().lookup_canonical_path (
     constant.get_mappings ().get_nodeid (), &canonical_path);
   rust_assert (ok);
 
@@ -78,7 +78,7 @@ CompileTraitItem::visit (HIR::TraitItemFunc &func)
     }
 
   const Resolver::CanonicalPath *canonical_path = nullptr;
-  bool ok = ctx->get_mappings ()->lookup_canonical_path (
+  bool ok = ctx->get_mappings ().lookup_canonical_path (
     func.get_mappings ().get_nodeid (), &canonical_path);
   rust_assert (ok);
 
index f94659cd424e0da0d42f9bb8d0d9269cabb4d422..de3bb6e32031c03794f3ee2de4026d04f1f778b1 100644 (file)
@@ -269,7 +269,7 @@ Intrinsics::compile (TyTy::FnType *fntype)
   if (it != generic_intrinsics.end ())
     return it->second (ctx, fntype);
 
-  location_t locus = ctx->get_mappings ()->lookup_location (fntype->get_ref ());
+  location_t locus = ctx->get_mappings ().lookup_location (fntype->get_ref ());
   rust_error_at (locus, ErrorCode::E0093,
                 "unrecognized intrinsic function: %qs",
                 fntype->get_identifier ().c_str ());
index 7c62adc0d309940a20f6f26e0ce71bfead5f22b9..9d65b610ec581a13869ad39e95e40f138ec380ab 100644 (file)
@@ -43,7 +43,7 @@ CompileItem::visit (HIR::StaticItem &var)
   tree type = TyTyResolveCompile::compile (ctx, resolved_type);
 
   const Resolver::CanonicalPath *canonical_path = nullptr;
-  ok = ctx->get_mappings ()->lookup_canonical_path (
+  ok = ctx->get_mappings ().lookup_canonical_path (
     var.get_mappings ().get_nodeid (), &canonical_path);
   rust_assert (ok);
 
@@ -103,8 +103,8 @@ CompileItem::visit (HIR::ConstantItem &constant)
   else
     {
       const Resolver::CanonicalPath *canonical_path_ptr = nullptr;
-      ok = ctx->get_mappings ()->lookup_canonical_path (mappings.get_nodeid (),
-                                                       &canonical_path_ptr);
+      ok = ctx->get_mappings ().lookup_canonical_path (mappings.get_nodeid (),
+                                                      &canonical_path_ptr);
       rust_assert (ok);
       canonical_path = *canonical_path_ptr;
     }
@@ -155,7 +155,7 @@ CompileItem::visit (HIR::Function &function)
       HirId parent_impl_block = UNKNOWN_HIRID;
       HirId id = function.get_mappings ().get_hirid ();
       HIR::ImplItem *impl_item
-       = ctx->get_mappings ()->lookup_hir_implitem (id, &parent_impl_block);
+       = ctx->get_mappings ().lookup_hir_implitem (id, &parent_impl_block);
       if (impl_item != nullptr)
        {
          Resolver::AssociatedImplTrait *impl = nullptr;
@@ -182,7 +182,7 @@ CompileItem::visit (HIR::Function &function)
   else
     {
       const Resolver::CanonicalPath *path = nullptr;
-      bool ok = ctx->get_mappings ()->lookup_canonical_path (
+      bool ok = ctx->get_mappings ().lookup_canonical_path (
        function.get_mappings ().get_nodeid (), &path);
       rust_assert (ok);
 
index 91f2deb013733607e8a24c815b40df8fdfe0a152..ea8bb5b0c1215775ffb65bc3c8e742293935b965 100644 (file)
@@ -126,7 +126,7 @@ ResolvePathRef::resolve (const HIR::PathIdentSegment &final_segment,
     }
 
   HirId ref;
-  if (!ctx->get_mappings ()->lookup_node_to_hir (ref_node_id, &ref))
+  if (!ctx->get_mappings ().lookup_node_to_hir (ref_node_id, &ref))
     {
       rust_error_at (expr_locus, "reverse call path lookup failure");
       return error_mark_node;
@@ -199,10 +199,10 @@ HIRCompileBase::query_compile (HirId ref, TyTy::BaseType *lookup,
                               const Analysis::NodeMapping &mappings,
                               location_t expr_locus, bool is_qualified_path)
 {
-  HIR::Item *resolved_item = ctx->get_mappings ()->lookup_hir_item (ref);
+  HIR::Item *resolved_item = ctx->get_mappings ().lookup_hir_item (ref);
   HirId parent_block;
   HIR::ExternalItem *resolved_extern_item
-    = ctx->get_mappings ()->lookup_hir_extern_item (ref, &parent_block);
+    = ctx->get_mappings ().lookup_hir_extern_item (ref, &parent_block);
   bool is_hir_item = resolved_item != nullptr;
   bool is_hir_extern_item = resolved_extern_item != nullptr;
   bool is_fn = lookup->get_kind () == TyTy::TypeKind::FNDEF;
@@ -242,7 +242,7 @@ HIRCompileBase::query_compile (HirId ref, TyTy::BaseType *lookup,
 
       HirId parent_impl_id = UNKNOWN_HIRID;
       HIR::ImplItem *resolved_item
-       = ctx->get_mappings ()->lookup_hir_implitem (ref, &parent_impl_id);
+       = ctx->get_mappings ().lookup_hir_implitem (ref, &parent_impl_id);
       bool is_impl_item = resolved_item != nullptr;
       if (is_impl_item)
        {
@@ -257,8 +257,8 @@ HIRCompileBase::query_compile (HirId ref, TyTy::BaseType *lookup,
        {
          // it might be resolved to a trait item
          HIR::TraitItem *trait_item
-           = ctx->get_mappings ()->lookup_hir_trait_item (ref);
-         HIR::Trait *trait = ctx->get_mappings ()->lookup_trait_item_mapping (
+           = ctx->get_mappings ().lookup_hir_trait_item (ref);
+         HIR::Trait *trait = ctx->get_mappings ().lookup_trait_item_mapping (
            trait_item->get_mappings ().get_hirid ());
 
          Resolver::TraitReference *trait_ref
index bfc2464709f6fa3c7d87b4d5035022feaa21079d..4b42cefdb00d3078056437759894430d77231bbf 100644 (file)
@@ -147,7 +147,7 @@ TyTyResolveCompile::visit (const TyTy::PlaceholderType &type)
 void
 TyTyResolveCompile::visit (const TyTy::ClosureType &type)
 {
-  auto mappings = ctx->get_mappings ();
+  auto &mappings = ctx->get_mappings ();
 
   std::vector<Backend::typed_identifier> fields;
 
@@ -156,7 +156,7 @@ TyTyResolveCompile::visit (const TyTy::ClosureType &type)
     {
       // lookup the HirId
       HirId ref = UNKNOWN_HIRID;
-      bool ok = mappings->lookup_node_to_hir (capture, &ref);
+      bool ok = mappings.lookup_node_to_hir (capture, &ref);
       rust_assert (ok);
 
       // lookup the var decl type
@@ -201,7 +201,7 @@ TyTyResolveCompile::visit (const TyTy::FnType &type)
     {
       auto ret = TyTyResolveCompile::compile (ctx, hir_type, trait_object_mode);
       location_t return_type_locus
-       = ctx->get_mappings ()->lookup_location (hir_type->get_ref ());
+       = ctx->get_mappings ().lookup_location (hir_type->get_ref ());
       results.push_back (
        Backend::typed_identifier ("_", ret, return_type_locus));
     }
@@ -214,7 +214,7 @@ TyTyResolveCompile::visit (const TyTy::FnType &type)
 
       auto compiled_param = Backend::typed_identifier (
        param_pair.first->as_string (), compiled_param_type,
-       ctx->get_mappings ()->lookup_location (param_tyty->get_ref ()));
+       ctx->get_mappings ().lookup_location (param_tyty->get_ref ()));
 
       parameters.push_back (compiled_param);
     }
@@ -263,7 +263,7 @@ TyTyResolveCompile::visit (const TyTy::ADTType &type)
            = TyTyResolveCompile::compile (ctx, field->get_field_type ());
 
          Backend::typed_identifier f (field->get_name (), compiled_field_ty,
-                                      ctx->get_mappings ()->lookup_location (
+                                      ctx->get_mappings ().lookup_location (
                                         type.get_ty_ref ()));
          fields.push_back (std::move (f));
        }
@@ -307,7 +307,7 @@ TyTyResolveCompile::visit (const TyTy::ADTType &type)
          tree enumeral_type
            = TyTyResolveCompile::get_implicit_enumeral_node_type (ctx);
          Backend::typed_identifier f (RUST_ENUM_DISR_FIELD_NAME, enumeral_type,
-                                      ctx->get_mappings ()->lookup_location (
+                                      ctx->get_mappings ().lookup_location (
                                         variant->get_id ()));
          fields.push_back (std::move (f));
 
@@ -326,7 +326,7 @@ TyTyResolveCompile::visit (const TyTy::ADTType &type)
 
              Backend::typed_identifier f (
                field_name, compiled_field_ty,
-               ctx->get_mappings ()->lookup_location (type.get_ty_ref ()));
+               ctx->get_mappings ().lookup_location (type.get_ty_ref ()));
              fields.push_back (std::move (f));
            }
 
@@ -353,7 +353,7 @@ TyTyResolveCompile::visit (const TyTy::ADTType &type)
          std::string implicit_variant_name = variant->get_identifier ();
 
          Backend::typed_identifier f (implicit_variant_name, variant_record,
-                                      ctx->get_mappings ()->lookup_location (
+                                      ctx->get_mappings ().lookup_location (
                                         type.get_ty_ref ()));
          enum_fields.push_back (std::move (f));
        }
@@ -411,7 +411,7 @@ TyTyResolveCompile::visit (const TyTy::TupleType &type)
       // approach makes it simpler to use a C-only debugger, or
       // GDB's C mode, when debugging Rust.
       Backend::typed_identifier f ("__" + std::to_string (i), compiled_field_ty,
-                                  ctx->get_mappings ()->lookup_location (
+                                  ctx->get_mappings ().lookup_location (
                                     type.get_ty_ref ()));
       fields.push_back (std::move (f));
     }
@@ -714,14 +714,14 @@ TyTyResolveCompile::create_dyn_obj_record (const TyTy::DynamicObjectType &type)
   tree uintptr_ty = build_pointer_type (uint);
 
   Backend::typed_identifier f ("pointer", uintptr_ty,
-                              ctx->get_mappings ()->lookup_location (
+                              ctx->get_mappings ().lookup_location (
                                 type.get_ty_ref ()));
   fields.push_back (std::move (f));
 
   tree vtable_size = build_int_cst (size_type_node, items.size ());
   tree vtable_type = Backend::array_type (uintptr_ty, vtable_size);
   Backend::typed_identifier vtf ("vtable", vtable_type,
-                                ctx->get_mappings ()->lookup_location (
+                                ctx->get_mappings ().lookup_location (
                                   type.get_ty_ref ()));
   fields.push_back (std::move (vtf));
 
index 47a6dadf3710512ee7b4777e8a461566bc25c79e..20190c35e86f4dffbfcad9fc01c99c0e05e89557 100644 (file)
@@ -189,7 +189,7 @@ HIRCompileBase::coerce_to_dyn_object (tree compiled_ref,
                                      location_t locus)
 {
   // DST's get wrapped in a pseudo reference that doesnt exist...
-  const TyTy::ReferenceType r (ctx->get_mappings ()->get_next_hir_id (),
+  const TyTy::ReferenceType r (ctx->get_mappings ().get_next_hir_id (),
                               TyTy::TyVar (ty->get_ref ()), Mutability::Imm);
 
   tree dynamic_object = TyTyResolveCompile::compile (ctx, &r);
index c8582b596c02fff64881aa0fd4b0d63bfd7997a1..0c85d42e11deaefd598c682663a1c2cbd7f2ab02 100644 (file)
@@ -369,13 +369,13 @@ static std::string
 v0_path (Rust::Compile::Context *ctx, const TyTy::BaseType *ty,
         const Resolver::CanonicalPath &cpath)
 {
-  auto mappings = Analysis::Mappings::get ();
+  auto &mappings = Analysis::Mappings::get ();
 
   V0Path v0path = {};
 
   cpath.iterate_segs ([&] (const Resolver::CanonicalPath &seg) {
     HirId hir_id;
-    bool ok = mappings->lookup_node_to_hir (seg.get_node_id (), &hir_id);
+    bool ok = mappings.lookup_node_to_hir (seg.get_node_id (), &hir_id);
     if (!ok)
       {
        // FIXME: generic arg in canonical path? (e.g. <i32> in crate::S<i32>)
@@ -384,10 +384,10 @@ v0_path (Rust::Compile::Context *ctx, const TyTy::BaseType *ty,
 
     HirId parent_impl_id = UNKNOWN_HIRID;
     HIR::ImplItem *impl_item
-      = mappings->lookup_hir_implitem (hir_id, &parent_impl_id);
-    HIR::TraitItem *trait_item = mappings->lookup_hir_trait_item (hir_id);
-    HIR::Item *item = mappings->lookup_hir_item (hir_id);
-    HIR::Expr *expr = mappings->lookup_hir_expr (hir_id);
+      = mappings.lookup_hir_implitem (hir_id, &parent_impl_id);
+    HIR::TraitItem *trait_item = mappings.lookup_hir_trait_item (hir_id);
+    HIR::Item *item = mappings.lookup_hir_item (hir_id);
+    HIR::Expr *expr = mappings.lookup_hir_expr (hir_id);
 
     if (impl_item != nullptr)
       {
@@ -490,7 +490,7 @@ v0_mangle_item (Rust::Compile::Context *ctx, const TyTy::BaseType *ty,
   rust_debug ("Start mangling: %s", path.get ().c_str ());
 
   // TODO: get Instanciating CrateNum
-  // auto mappings = Analysis::Mappings::get ();
+  // auto &mappings = Analysis::Mappings::get ();
   // std::string crate_name;
   // bool ok = mappings->get_crate_name (path.get_crate_num (), crate_name);
   // rust_assert (ok);
index 9a75271cdae053e48360bbdd3af50bdb03217ac5..da4738c05b998e0de457540be9db8b66344d6f86 100644 (file)
@@ -64,10 +64,9 @@ BorrowChecker::go (HIR::Crate &crate)
   if (enable_dump_bir)
     {
       mkdir_wrapped ("bir_dump");
-      auto mappings = Analysis::Mappings::get ();
-      bool ok
-       = mappings->get_crate_name (crate.get_mappings ().get_crate_num (),
-                                   crate_name);
+      auto &mappings = Analysis::Mappings::get ();
+      bool ok = mappings.get_crate_name (crate.get_mappings ().get_crate_num (),
+                                        crate_name);
       rust_assert (ok);
 
       mkdir_wrapped ("nll_facts_gccrs");
@@ -183,4 +182,4 @@ BorrowChecker::go (HIR::Crate &crate)
 }
 
 } // namespace HIR
-} // namespace Rust
\ No newline at end of file
+} // namespace Rust
index 1fde06031e7f08c423b56b59547dd5ed4745469b..3d25459d9cfd0454cefee0d60f0f1badaa432539 100644 (file)
@@ -35,13 +35,13 @@ void
 Resolver::resolve (HIR::Crate &crate)
 {
   PrivacyContext ctx;
-  auto mappings = Analysis::Mappings::get ();
+  auto &mappings = Analysis::Mappings::get ();
   auto resolver = Rust::Resolver::Resolver::get ();
   auto ty_ctx = ::Rust::Resolver::TypeCheckContext::get ();
 
-  VisibilityResolver (*mappings, *resolver).go (crate);
-  PubRestrictedVisitor (*mappings).go (crate);
-  PrivacyReporter (*mappings, *resolver, *ty_ctx).go (crate);
+  VisibilityResolver (mappings, *resolver).go (crate);
+  PubRestrictedVisitor (mappings).go (crate);
+  PrivacyReporter (mappings, *resolver, *ty_ctx).go (crate);
 
   auto visitor = ReachabilityVisitor (ctx, *ty_ctx);
 
index c131d223f167ffb0818e020e3eeefceee0b67cda..bdc5c7b985472be973f048595c0c3751bd325102 100644 (file)
@@ -27,7 +27,7 @@ namespace HIR {
 
 ConstChecker::ConstChecker ()
   : resolver (*Resolver::Resolver::get ()),
-    mappings (*Analysis::Mappings::get ())
+    mappings (Analysis::Mappings::get ())
 {}
 
 void
index 3d6c5700a4ead97d22985cb30eed362c819a3daf..beea96f412736850528edc5c5103f96178cc3fa7 100644 (file)
@@ -29,7 +29,7 @@ namespace HIR {
 UnsafeChecker::UnsafeChecker ()
   : context (*Resolver::TypeCheckContext::get ()),
     resolver (*Resolver::Resolver::get ()),
-    mappings (*Analysis::Mappings::get ())
+    mappings (Analysis::Mappings::get ())
 {}
 
 void
index a6f9d96065dfb6d7d33f7f5e957692141cd641e7..2a9757770827f4dcdc3969fabbfcf8eb19ab6ddb 100644 (file)
@@ -36,7 +36,7 @@ public:
 protected:
   MarkLiveBase () : mappings (Analysis::Mappings::get ()) {}
 
-  Analysis::Mappings *mappings;
+  Analysis::Mappings &mappings;
 };
 
 } // namespace Analysis
index 5d321d9d98e8086aa806b674cd0cee397f742997..60a0800c4e96788630ae8395b37d47e1475ea35b 100644 (file)
@@ -85,7 +85,7 @@ MarkLive::go (HIR::Crate &)
       HirId hirId = worklist.back ();
       worklist.pop_back ();
       scannedSymbols.emplace (hirId);
-      HIR::Item *item = mappings->lookup_hir_item (hirId);
+      HIR::Item *item = mappings.lookup_hir_item (hirId);
       liveSymbols.emplace (hirId);
       if (item != nullptr)
        {
@@ -95,7 +95,7 @@ MarkLive::go (HIR::Crate &)
        { // the item maybe inside a trait impl
          HirId parent_impl_id = UNKNOWN_HIRID;
          HIR::ImplItem *implItem
-           = mappings->lookup_hir_implitem (hirId, &parent_impl_id);
+           = mappings.lookup_hir_implitem (hirId, &parent_impl_id);
          if (implItem != nullptr)
            implItem->accept_vis (*this);
        }
@@ -119,11 +119,11 @@ MarkLive::visit (HIR::PathInExpression &expr)
 
   // node back to HIR
   HirId ref;
-  bool ok = mappings->lookup_node_to_hir (ref_node_id, &ref);
+  bool ok = mappings.lookup_node_to_hir (ref_node_id, &ref);
   rust_assert (ok);
 
   // it must resolve to some kind of HIR::Item or HIR::InheritImplItem
-  HIR::Item *resolved_item = mappings->lookup_hir_item (ref);
+  HIR::Item *resolved_item = mappings.lookup_hir_item (ref);
   if (resolved_item != nullptr)
     {
       mark_hir_id (resolved_item->get_mappings ().get_hirid ());
@@ -132,7 +132,7 @@ MarkLive::visit (HIR::PathInExpression &expr)
     {
       HirId parent_impl_id = UNKNOWN_HIRID;
       HIR::ImplItem *resolved_item
-       = mappings->lookup_hir_implitem (ref, &parent_impl_id);
+       = mappings.lookup_hir_implitem (ref, &parent_impl_id);
       if (resolved_item != nullptr)
        {
          mark_hir_id (resolved_item->get_impl_mappings ().get_hirid ());
@@ -155,7 +155,7 @@ MarkLive::visit (HIR::MethodCallExpr &expr)
 
   // node back to HIR
   HirId ref;
-  bool ok = mappings->lookup_node_to_hir (ref_node_id, &ref);
+  bool ok = mappings.lookup_node_to_hir (ref_node_id, &ref);
   rust_assert (ok);
   mark_hir_id (ref);
 }
@@ -180,7 +180,7 @@ MarkLive::visit_path_segment (HIR::PathExprSegment seg)
        return false;
     }
   HirId ref;
-  bool ok = mappings->lookup_node_to_hir (ref_node_id, &ref);
+  bool ok = mappings.lookup_node_to_hir (ref_node_id, &ref);
   rust_assert (ok);
   mark_hir_id (ref);
   return true;
@@ -254,7 +254,7 @@ MarkLive::visit (HIR::TypeAlias &alias)
   resolver->lookup_resolved_type (
     alias.get_type_aliased ()->get_mappings ().get_nodeid (), &ast_node_id);
   HirId hir_id;
-  bool ok = mappings->lookup_node_to_hir (ast_node_id, &hir_id);
+  bool ok = mappings.lookup_node_to_hir (ast_node_id, &hir_id);
   rust_assert (ok);
   mark_hir_id (hir_id);
 }
index f5258a02b2aab8f0647e35b254d40b338ebf63b7..92b4502cab6cc5715f9ecf8aa4b6eb18664a391e 100644 (file)
@@ -276,7 +276,7 @@ private:
   std::vector<HirId> worklist;
   std::set<HirId> liveSymbols;
   std::set<HirId> scannedSymbols;
-  Analysis::Mappings *mappings;
+  Analysis::Mappings &mappings;
   Resolver::Resolver *resolver;
   Resolver::TypeCheckContext *tyctx;
   MarkLive (std::vector<HirId> worklist)
index efe6c3e0af67fbddfeca6983eb553873ee06a662..e6ef1392c89ecfa7a5fc9e38582a8f36443ef927 100644 (file)
@@ -53,10 +53,9 @@ public:
     HirId hirId = function.get_mappings ().get_hirid ();
     if (should_warn (hirId) && !function.get_visibility ().is_public ())
       {
-       if (mappings->is_impl_item (hirId))
+       if (mappings.is_impl_item (hirId))
          {
-           HIR::ImplBlock *implBlock
-             = mappings->lookup_associated_impl (hirId);
+           HIR::ImplBlock *implBlock = mappings.lookup_associated_impl (hirId);
            if (!implBlock->has_trait_ref ())
              {
                rust_warning_at (
@@ -136,7 +135,7 @@ public:
 private:
   std::set<HirId> live_symbols;
   Resolver::Resolver *resolver;
-  Analysis::Mappings *mappings;
+  Analysis::Mappings &mappings;
 
   ScanDeadcode (std::set<HirId> &live_symbols)
     : live_symbols (live_symbols), resolver (Resolver::Resolver::get ()),
index 65283c68c4e3292eece8f87438b407a8e7808ead..86c6695408b92e7be9e0885dd4fd497711d5bcbf 100644 (file)
@@ -273,7 +273,7 @@ MacroExpander::expand_invoc (AST::MacroInvocation &invoc, bool has_semicolon)
 
   // lookup the rules
   AST::MacroRulesDefinition *rules_def = nullptr;
-  bool ok = mappings->lookup_macro_invocation (invoc, &rules_def);
+  bool ok = mappings.lookup_macro_invocation (invoc, &rules_def);
 
   // If there's no rule associated with the invocation, we can simply return
   // early. The early name resolver will have already emitted an error.
index 13e7983df46ce25634db728d77d765b60cf4f672..9717999bfc322e9c08e0425dbd34e2f59f367a4c 100644 (file)
@@ -411,7 +411,7 @@ struct MacroExpander
   AST::Fragment expand_derive_proc_macro (T &item, AST::SimplePath &path)
   {
     tl::optional<CustomDeriveProcMacro &> macro
-      = mappings->lookup_derive_proc_macro_invocation (path);
+      = mappings.lookup_derive_proc_macro_invocation (path);
     if (!macro.has_value ())
       {
        rust_error_at (path.get_locus (), "macro not found");
@@ -434,7 +434,7 @@ struct MacroExpander
                                        AST::MacroInvocation &invocation)
   {
     tl::optional<BangProcMacro &> macro
-      = mappings->lookup_bang_proc_macro_invocation (invocation);
+      = mappings.lookup_bang_proc_macro_invocation (invocation);
     if (!macro.has_value ())
       {
        rust_error_at (invocation.get_locus (), "macro not found");
@@ -456,7 +456,7 @@ struct MacroExpander
   AST::Fragment expand_attribute_proc_macro (T &item, AST::SimplePath &path)
   {
     tl::optional<AttributeProcMacro &> macro
-      = mappings->lookup_attribute_proc_macro_invocation (path);
+      = mappings.lookup_attribute_proc_macro_invocation (path);
     if (!macro.has_value ())
       {
        rust_error_at (path.get_locus (), "macro not found");
@@ -512,7 +512,7 @@ private:
 
 public:
   Resolver::Resolver *resolver;
-  Analysis::Mappings *mappings;
+  Analysis::Mappings &mappings;
 };
 
 } // namespace Rust
index 09680733e988fa4c9cc30634502b8c15bfc4fb1a..7a02ff33058071a53c6b0fa00f1cffe3dbf4629b 100644 (file)
 namespace Rust {
 
 BangProcMacro::BangProcMacro (ProcMacro::Bang macro)
-  : name (macro.name),
-    node_id (Analysis::Mappings::get ()->get_next_node_id ()),
+  : name (macro.name), node_id (Analysis::Mappings::get ().get_next_node_id ()),
     macro (macro.macro)
 {}
 
 AttributeProcMacro::AttributeProcMacro (ProcMacro::Attribute macro)
-  : name (macro.name),
-    node_id (Analysis::Mappings::get ()->get_next_node_id ()),
+  : name (macro.name), node_id (Analysis::Mappings::get ().get_next_node_id ()),
     macro (macro.macro)
 {}
 
 CustomDeriveProcMacro::CustomDeriveProcMacro (ProcMacro::CustomDerive macro)
   : trait_name (macro.trait_name),
     attributes (macro.attributes, macro.attributes + macro.attr_size),
-    node_id (Analysis::Mappings::get ()->get_next_node_id ()),
+    node_id (Analysis::Mappings::get ().get_next_node_id ()),
     macro (macro.macro)
 {}
 
index e40c5cd9976954e0bfe2dd8e8ca2405fcdb60bcb..6803ad4132d5c9dbce37fbe0dfc34c58ed317e34 100644 (file)
@@ -537,11 +537,11 @@ ASTLoweringBase::lower_lifetime (AST::Lifetime &lifetime,
       lifetime_type = AST::Lifetime::STATIC;
     }
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, lifetime.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
-  mappings->insert_node_to_hir (mapping.get_nodeid (), mapping.get_hirid ());
+  mappings.insert_node_to_hir (mapping.get_nodeid (), mapping.get_hirid ());
 
   return HIR::Lifetime (mapping, lifetime_type, lifetime.get_lifetime_name (),
                        lifetime.get_locus ());
@@ -552,11 +552,11 @@ 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.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, loop_label.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
-  mappings->insert_node_to_hir (mapping.get_nodeid (), mapping.get_hirid ());
+  mappings.insert_node_to_hir (mapping.get_nodeid (), mapping.get_hirid ());
 
   return HIR::LoopLabel (mapping, std::move (life), loop_label.get_locus ());
 }
@@ -578,9 +578,9 @@ 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.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, s.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   return HIR::PathExprSegment (
@@ -651,10 +651,10 @@ ASTLoweringBase::lower_self (AST::Param &param)
   rust_assert (param.is_self ());
 
   auto self = static_cast<AST::SelfParam &> (param);
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.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));
+                                mappings.get_next_hir_id (crate_num),
+                                mappings.get_next_localdef_id (crate_num));
 
   if (self.has_type ())
     {
@@ -792,8 +792,8 @@ ASTLoweringBase::handle_lang_item_attribute (const ItemWrapper &item,
   auto lang_item_type = LangItem::Parse (lang_item_type_str);
 
   if (lang_item_type)
-    mappings->insert_lang_item (*lang_item_type,
-                               item.get_mappings ().get_defid ());
+    mappings.insert_lang_item (*lang_item_type,
+                              item.get_mappings ().get_defid ());
   else
     rust_error_at (attr.get_locus (), "unknown lang item");
 }
@@ -940,10 +940,10 @@ 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.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));
+                                mappings.get_next_hir_id (crate_num),
+                                mappings.get_next_localdef_id (crate_num));
 
   std::vector<std::unique_ptr<HIR::ExternalItem>> extern_items;
   for (auto &item : extern_block.get_extern_items ())
@@ -972,7 +972,7 @@ ASTLoweringBase::lower_extern_block (AST::ExternBlock &extern_block)
                            extern_block.get_outer_attrs (),
                            extern_block.get_locus ());
 
-  mappings->insert_hir_extern_block (hir_extern_block);
+  mappings.insert_hir_extern_block (hir_extern_block);
 
   return hir_extern_block;
 }
@@ -987,9 +987,9 @@ ASTLoweringBase::lower_macro_definition (AST::MacroRulesDefinition &def)
 
   if (is_export)
     {
-      mappings->insert_exported_macro (def);
-      mappings->insert_ast_item (&def);
-      mappings->insert_location (def.get_node_id (), def.get_locus ());
+      mappings.insert_exported_macro (def);
+      mappings.insert_ast_item (&def);
+      mappings.insert_location (def.get_node_id (), def.get_locus ());
     }
 }
 
index 12071531891e7764f92c476b2b00267981b8c7eb..2987bb19121fdbfe9c2170dc8121af7a44ab6b5b 100644 (file)
@@ -261,7 +261,7 @@ protected:
       attr_mappings (Analysis::BuiltinAttributeMappings::get ())
   {}
 
-  Analysis::Mappings *mappings;
+  Analysis::Mappings &mappings;
   Analysis::BuiltinAttributeMappings *attr_mappings;
 
   HIR::Lifetime lower_lifetime (AST::Lifetime &lifetime,
index 40aec12ee2a2c694223b64ab99c9e020c45bbd12..be6ca64b68e9c8b4e7a930975bdbed0b7ccef0fb 100644 (file)
@@ -37,7 +37,7 @@ public:
     expr.accept_vis (resolver);
     if (resolver.translated != nullptr)
       {
-       resolver.mappings->insert_hir_expr (resolver.translated);
+       resolver.mappings.insert_hir_expr (resolver.translated);
       }
 
     *terminated = resolver.terminated;
@@ -51,9 +51,9 @@ public:
 
     HIR::BlockExpr *block
       = ASTLoweringBlock::translate (expr.get_block_expr (), terminated);
-    auto crate_num = resolver.mappings->get_current_crate ();
+    auto crate_num = resolver.mappings.get_current_crate ();
     Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
-                                  resolver.mappings->get_next_hir_id (
+                                  resolver.mappings.get_next_hir_id (
                                     crate_num),
                                   UNKNOWN_LOCAL_DEFID);
 
@@ -62,7 +62,7 @@ public:
                                  std::unique_ptr<HIR::BlockExpr> (block),
                                  expr.get_outer_attrs (), expr.get_locus ());
 
-    resolver.mappings->insert_hir_expr (translated);
+    resolver.mappings.insert_hir_expr (translated);
 
     return translated;
   }
@@ -89,7 +89,7 @@ public:
     expr.accept_vis (resolver);
     if (resolver.translated != nullptr)
       {
-       resolver.mappings->insert_hir_expr (resolver.translated);
+       resolver.mappings.insert_hir_expr (resolver.translated);
       }
     *terminated = resolver.terminated;
     return resolver.translated;
@@ -121,7 +121,7 @@ public:
     expr.accept_vis (resolver);
     if (resolver.translated != nullptr)
       {
-       resolver.mappings->insert_hir_expr (resolver.translated);
+       resolver.mappings.insert_hir_expr (resolver.translated);
       }
     return resolver.translated;
   }
@@ -150,7 +150,7 @@ public:
     expr.accept_vis (resolver);
     if (resolver.translated != nullptr)
       {
-       resolver.mappings->insert_hir_expr (resolver.translated);
+       resolver.mappings.insert_hir_expr (resolver.translated);
       }
 
     *terminated = resolver.terminated;
@@ -196,9 +196,9 @@ public:
 
     HIR::LoopLabel loop_label = lower_loop_label (expr.get_loop_label ());
 
-    auto crate_num = mappings->get_current_crate ();
+    auto crate_num = mappings.get_current_crate ();
     Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
-                                  mappings->get_next_hir_id (crate_num),
+                                  mappings.get_next_hir_id (crate_num),
                                   UNKNOWN_LOCAL_DEFID);
 
     translated
index 50baf6ad19ea235cd17a6af871d490d092cc1f7e..1b95345642515f7f4fcb8e410800595b07b96940 100644 (file)
@@ -45,19 +45,19 @@ public:
     auto hirid = resolver.translated->get_mappings ().get_hirid ();
     auto defid = resolver.translated->get_mappings ().get_defid ();
 
-    resolver.mappings->insert_defid_mapping (defid, resolver.translated);
-    resolver.mappings->insert_location (hirid,
-                                       resolver.translated->get_locus ());
+    resolver.mappings.insert_defid_mapping (defid, resolver.translated);
+    resolver.mappings.insert_location (hirid,
+                                      resolver.translated->get_locus ());
 
     return resolver.translated;
   }
 
   void visit (AST::EnumItem &item) override
   {
-    auto crate_num = mappings->get_current_crate ();
+    auto crate_num = mappings.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));
+                                  mappings.get_next_hir_id (crate_num),
+                                  mappings.get_next_localdef_id (crate_num));
 
     if (item.has_visibility ())
       rust_error_at (item.get_locus (),
@@ -69,10 +69,10 @@ public:
 
   void visit (AST::EnumItemTuple &item) override
   {
-    auto crate_num = mappings->get_current_crate ();
+    auto crate_num = mappings.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));
+                                  mappings.get_next_hir_id (crate_num),
+                                  mappings.get_next_localdef_id (crate_num));
 
     if (item.has_visibility ())
       rust_error_at (item.get_locus (),
@@ -85,11 +85,10 @@ 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.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));
+         crate_num, field.get_node_id (), mappings.get_next_hir_id (crate_num),
+         mappings.get_next_localdef_id (crate_num));
 
        HIR::TupleField translated_field (field_mapping,
                                          std::unique_ptr<HIR::Type> (type),
@@ -106,10 +105,10 @@ public:
 
   void visit (AST::EnumItemStruct &item) override
   {
-    auto crate_num = mappings->get_current_crate ();
+    auto crate_num = mappings.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));
+                                  mappings.get_next_hir_id (crate_num),
+                                  mappings.get_next_localdef_id (crate_num));
 
     if (item.has_visibility ())
       rust_error_at (item.get_locus (),
@@ -122,11 +121,10 @@ 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.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));
+         crate_num, field.get_node_id (), mappings.get_next_hir_id (crate_num),
+         mappings.get_next_localdef_id (crate_num));
 
        HIR::StructField translated_field (field_mapping,
                                           field.get_field_name (),
@@ -148,10 +146,10 @@ public:
 
   void visit (AST::EnumItemDiscriminant &item) override
   {
-    auto crate_num = mappings->get_current_crate ();
+    auto crate_num = mappings.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));
+                                  mappings.get_next_hir_id (crate_num),
+                                  mappings.get_next_localdef_id (crate_num));
 
     if (item.has_visibility ())
       rust_error_at (item.get_locus (),
index 6ca2d9aa020b0f1ff0b3794674c8b2e2e8897ab1..6927139e48c80ec1d4a6166bfd34fb980fd4d813 100644 (file)
@@ -45,8 +45,8 @@ ASTLoweringExpr::translate (AST::Expr &expr, bool *terminated)
       return nullptr;
     }
 
-  resolver.mappings->insert_hir_expr (resolver.translated);
-  resolver.mappings->insert_location (
+  resolver.mappings.insert_hir_expr (resolver.translated);
+  resolver.mappings.insert_location (
     resolver.translated->get_mappings ().get_hirid (), expr.get_locus ());
 
   if (terminated != nullptr)
@@ -61,9 +61,9 @@ 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.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   translated
@@ -82,9 +82,9 @@ ASTLoweringExpr::visit (AST::TupleExpr &expr)
       tuple_elements.push_back (std::unique_ptr<HIR::Expr> (t));
     }
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   translated
@@ -150,9 +150,9 @@ ASTLoweringExpr::visit (AST::ReturnExpr &expr)
        ? ASTLoweringExpr::translate (expr.get_returned_expr ())
        : nullptr;
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   translated = new HIR::ReturnExpr (mapping, expr.get_locus (),
@@ -172,10 +172,10 @@ ASTLoweringExpr::visit (AST::CallExpr &expr)
       params.push_back (std::unique_ptr<HIR::Expr> (trans));
     }
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.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);
+    mappings.get_next_hir_id (crate_num), UNKNOWN_LOCAL_DEFID);
 
   translated = new HIR::CallExpr (mapping, std::unique_ptr<HIR::Expr> (func),
                                  std::move (params), expr.get_outer_attrs (),
@@ -198,9 +198,9 @@ ASTLoweringExpr::visit (AST::MethodCallExpr &expr)
       params.push_back (std::unique_ptr<HIR::Expr> (trans));
     }
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   translated
@@ -215,9 +215,9 @@ 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.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   translated
@@ -229,9 +229,9 @@ ASTLoweringExpr::visit (AST::AssignmentExpr &expr)
 void
 ASTLoweringExpr::visit (AST::IdentifierExpr &expr)
 {
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.get_current_crate ();
   Analysis::NodeMapping mapping1 (crate_num, expr.get_node_id (),
-                                 mappings->get_next_hir_id (crate_num),
+                                 mappings.get_next_hir_id (crate_num),
                                  UNKNOWN_LOCAL_DEFID);
   Analysis::NodeMapping mapping2 (mapping1);
 
@@ -249,9 +249,9 @@ 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.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   translated
@@ -267,9 +267,9 @@ 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.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   translated
@@ -288,10 +288,10 @@ ASTLoweringExpr::visit (AST::ArrayElemsValues &elems)
       elements.push_back (std::unique_ptr<HIR::Expr> (translated_elem));
     }
 
-  auto crate_num = mappings->get_current_crate ();
-  Analysis::NodeMapping mapping (mappings->get_current_crate (),
+  auto crate_num = mappings.get_current_crate ();
+  Analysis::NodeMapping mapping (mappings.get_current_crate (),
                                 elems.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   translated_array_elems
@@ -304,10 +304,10 @@ 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 (),
+  auto crate_num = mappings.get_current_crate ();
+  Analysis::NodeMapping mapping (mappings.get_current_crate (),
                                 elems.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   translated_array_elems
@@ -318,9 +318,9 @@ ASTLoweringExpr::visit (AST::ArrayElemsCopied &elems)
 void
 ASTLoweringExpr::visit (AST::LiteralExpr &expr)
 {
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   HIR::Literal l = lower_literal (expr.get_literal ());
@@ -336,9 +336,9 @@ 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.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   translated = new HIR::ArithmeticOrLogicalExpr (
@@ -354,9 +354,9 @@ 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.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   translated
@@ -373,9 +373,9 @@ 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.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   translated
@@ -390,9 +390,9 @@ 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.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
   translated
     = new HIR::NegationExpr (mapping,
@@ -409,9 +409,9 @@ 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.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   translated
@@ -464,9 +464,9 @@ 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.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   translated = new HIR::CompoundAssignmentExpr (
@@ -482,9 +482,9 @@ ASTLoweringExpr::visit (AST::StructExprStruct &struct_expr)
   HIR::PathInExpression copied_path (*path);
   delete path;
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, struct_expr.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   translated = new HIR::StructExprStruct (mapping, copied_path,
@@ -519,9 +519,9 @@ ASTLoweringExpr::visit (AST::StructExprStructFields &struct_expr)
       fields.push_back (std::unique_ptr<HIR::StructExprField> (translated));
     }
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, struct_expr.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   translated
@@ -537,9 +537,9 @@ 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.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   translated
@@ -553,9 +553,9 @@ 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.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
   translated
     = new HIR::FieldAccessExpr (mapping, std::unique_ptr<HIR::Expr> (receiver),
@@ -591,9 +591,9 @@ ASTLoweringExpr::visit (AST::BreakExpr &expr)
        ? ASTLoweringExpr::translate (expr.get_break_expr ())
        : nullptr;
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   translated
@@ -607,9 +607,9 @@ ASTLoweringExpr::visit (AST::ContinueExpr &expr)
 {
   HIR::Lifetime break_label = lower_lifetime (expr.get_label ());
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   translated
@@ -623,9 +623,9 @@ 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.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   auto *borrow_expr
@@ -636,9 +636,9 @@ ASTLoweringExpr::visit (AST::BorrowExpr &expr)
 
   if (expr.get_is_double_borrow ())
     {
-      NodeId artificial_double_borrow_id = mappings->get_next_node_id ();
+      NodeId artificial_double_borrow_id = mappings.get_next_node_id ();
       Analysis::NodeMapping mapping (crate_num, artificial_double_borrow_id,
-                                    mappings->get_next_hir_id (crate_num),
+                                    mappings.get_next_hir_id (crate_num),
                                     UNKNOWN_LOCAL_DEFID);
 
       borrow_expr
@@ -658,9 +658,9 @@ 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.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   translated
@@ -675,9 +675,9 @@ ASTLoweringExpr::visit (AST::ErrorPropagationExpr &expr)
   HIR::Expr *propagating_expr
     = ASTLoweringExpr::translate (expr.get_propagating_expr ());
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
   translated = new HIR::ErrorPropagationExpr (
     mapping, std::unique_ptr<HIR::Expr> (propagating_expr),
@@ -693,9 +693,9 @@ ASTLoweringExpr::visit (AST::MatchExpr &expr)
 void
 ASTLoweringExpr::visit (AST::RangeFromToExpr &expr)
 {
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   HIR::Expr *range_from = ASTLoweringExpr::translate (expr.get_from_expr ());
@@ -711,9 +711,9 @@ ASTLoweringExpr::visit (AST::RangeFromToExpr &expr)
 void
 ASTLoweringExpr::visit (AST::RangeFromExpr &expr)
 {
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   HIR::Expr *range_from = ASTLoweringExpr::translate (expr.get_from_expr ());
@@ -726,9 +726,9 @@ ASTLoweringExpr::visit (AST::RangeFromExpr &expr)
 void
 ASTLoweringExpr::visit (AST::RangeToExpr &expr)
 {
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   HIR::Expr *range_to = ASTLoweringExpr::translate (expr.get_to_expr ());
@@ -741,9 +741,9 @@ ASTLoweringExpr::visit (AST::RangeToExpr &expr)
 void
 ASTLoweringExpr::visit (AST::RangeFullExpr &expr)
 {
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   translated = new HIR::RangeFullExpr (mapping, expr.get_locus ());
@@ -752,9 +752,9 @@ ASTLoweringExpr::visit (AST::RangeFullExpr &expr)
 void
 ASTLoweringExpr::visit (AST::RangeFromToInclExpr &expr)
 {
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   HIR::Expr *range_from = ASTLoweringExpr::translate (expr.get_from_expr ());
@@ -780,10 +780,10 @@ ASTLoweringExpr::visit (AST::ClosureExprInner &expr)
       closure_params.push_back (std::move (p));
     }
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.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));
+                                mappings.get_next_hir_id (crate_num),
+                                mappings.get_next_localdef_id (crate_num));
 
   translated
     = new HIR::ClosureExpr (mapping, std::move (closure_params),
@@ -807,10 +807,10 @@ ASTLoweringExpr::visit (AST::ClosureExprInnerTyped &expr)
       closure_params.push_back (std::move (p));
     }
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.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));
+                                mappings.get_next_hir_id (crate_num),
+                                mappings.get_next_localdef_id (crate_num));
 
   translated
     = new HIR::ClosureExpr (mapping, std::move (closure_params),
index 6af59404842f4e6d537705c662055257e18add16..0105e3840284cf7a1f853555e2c7a693093d3b84 100644 (file)
@@ -39,9 +39,9 @@ public:
     item->accept_vis (resolver);
 
     rust_assert (resolver.translated != nullptr);
-    resolver.mappings->insert_hir_extern_item (resolver.translated,
-                                              parent_hirid);
-    resolver.mappings->insert_location (
+    resolver.mappings.insert_hir_extern_item (resolver.translated,
+                                             parent_hirid);
+    resolver.mappings.insert_location (
       resolver.translated->get_mappings ().get_hirid (),
       resolver.translated->get_locus ());
 
@@ -53,10 +53,10 @@ 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.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));
+                                  mappings.get_next_hir_id (crate_num),
+                                  mappings.get_next_localdef_id (crate_num));
 
     translated = new HIR::ExternalStaticItem (
       mapping, item.get_identifier (), std::unique_ptr<HIR::Type> (static_type),
@@ -103,10 +103,10 @@ public:
 
        HIR::Type *param_type = ASTLoweringType::translate (param.get_type ());
 
-       auto crate_num = mappings->get_current_crate ();
+       auto crate_num = mappings.get_current_crate ();
        Analysis::NodeMapping mapping (crate_num, param.get_node_id (),
-                                      mappings->get_next_hir_id (crate_num),
-                                      mappings->get_next_localdef_id (
+                                      mappings.get_next_hir_id (crate_num),
+                                      mappings.get_next_localdef_id (
                                         crate_num));
 
        function_params.push_back (
@@ -114,10 +114,10 @@ public:
                                   std::unique_ptr<HIR::Type> (param_type)));
       }
 
-    auto crate_num = mappings->get_current_crate ();
+    auto crate_num = mappings.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));
+                                  mappings.get_next_hir_id (crate_num),
+                                  mappings.get_next_localdef_id (crate_num));
 
     translated = new HIR::ExternalFunctionItem (
       mapping, function.get_function_name (), std::move (generic_params),
@@ -128,10 +128,10 @@ public:
 
   void visit (AST::ExternalTypeItem &type) override
   {
-    auto crate_num = mappings->get_current_crate ();
+    auto crate_num = mappings.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));
+                                  mappings.get_next_hir_id (crate_num),
+                                  mappings.get_next_localdef_id (crate_num));
 
     HIR::Visibility vis = translate_visibility (type.get_visibility ());
 
index 90ebff22ce3b013985b6a2ddeff2fd8c19b36ca3..5380d255c563e29d778c7b940cc22652f3457071 100644 (file)
@@ -42,10 +42,10 @@ ASTLowerImplItem::translate (AST::AssociatedItem &item, HirId parent_impl_id)
       auto locus = resolver.translated->get_locus ();
 
       resolver.handle_outer_attributes (*resolver.item_cast);
-      resolver.mappings->insert_hir_implitem (parent_impl_id,
-                                             resolver.translated);
-      resolver.mappings->insert_location (id, locus);
-      resolver.mappings->insert_defid_mapping (defid, resolver.item_cast);
+      resolver.mappings.insert_hir_implitem (parent_impl_id,
+                                            resolver.translated);
+      resolver.mappings.insert_location (id, locus);
+      resolver.mappings.insert_defid_mapping (defid, resolver.item_cast);
     }
 
   return resolver.translated;
@@ -65,10 +65,10 @@ 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.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));
+                                mappings.get_next_hir_id (crate_num),
+                                mappings.get_next_localdef_id (crate_num));
 
   auto type_alias
     = new HIR::TypeAlias (mapping, alias.get_new_type_name (),
@@ -89,10 +89,10 @@ 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.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));
+                                mappings.get_next_hir_id (crate_num),
+                                mappings.get_next_localdef_id (crate_num));
 
   auto translated_constant
     = new HIR::ConstantItem (mapping, constant.get_identifier (), vis,
@@ -152,9 +152,9 @@ 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.get_current_crate ();
       Analysis::NodeMapping mapping (crate_num, param.get_node_id (),
-                                    mappings->get_next_hir_id (crate_num),
+                                    mappings.get_next_hir_id (crate_num),
                                     UNKNOWN_LOCAL_DEFID);
 
       auto hir_param
@@ -169,13 +169,13 @@ ASTLowerImplItem::visit (AST::Function &function)
       ASTLoweringBlock::translate (*function.get_definition ().value (),
                                   &terminated));
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.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));
+                                mappings.get_next_hir_id (crate_num),
+                                mappings.get_next_localdef_id (crate_num));
 
-  mappings->insert_location (function_body->get_mappings ().get_hirid (),
-                            function.get_locus ());
+  mappings.insert_location (function_body->get_mappings ().get_hirid (),
+                           function.get_locus ());
 
   auto fn
     = new HIR::Function (mapping, std::move (function_name),
@@ -188,8 +188,8 @@ ASTLowerImplItem::visit (AST::Function &function)
   if (!fn->get_self_param ().is_error ())
     {
       // insert mappings for self
-      mappings->insert_hir_self_param (&fn->get_self_param ());
-      mappings->insert_location (
+      mappings.insert_hir_self_param (&fn->get_self_param ());
+      mappings.insert_location (
        fn->get_self_param ().get_mappings ().get_hirid (),
        fn->get_self_param ().get_locus ());
     }
@@ -197,8 +197,8 @@ ASTLowerImplItem::visit (AST::Function &function)
   // add the mappings for the function params at the end
   for (auto &param : fn->get_function_params ())
     {
-      mappings->insert_hir_param (&param);
-      mappings->insert_location (mapping.get_hirid (), param.get_locus ());
+      mappings.insert_hir_param (&param);
+      mappings.insert_location (mapping.get_hirid (), param.get_locus ());
     }
 
   translated = fn;
@@ -218,9 +218,9 @@ ASTLowerTraitItem::translate (AST::AssociatedItem &item)
       auto locus = resolver.translated->get_trait_locus ();
 
       resolver.handle_outer_attributes (*resolver.translated);
-      resolver.mappings->insert_hir_trait_item (resolver.translated);
-      resolver.mappings->insert_location (id, locus);
-      resolver.mappings->insert_defid_mapping (defid, resolver.translated);
+      resolver.mappings.insert_hir_trait_item (resolver.translated);
+      resolver.mappings.insert_location (id, locus);
+      resolver.mappings.insert_defid_mapping (defid, resolver.translated);
     }
 
   return resolver.translated;
@@ -262,9 +262,9 @@ 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.get_current_crate ();
       Analysis::NodeMapping mapping (crate_num, param.get_node_id (),
-                                    mappings->get_next_hir_id (crate_num),
+                                    mappings.get_next_hir_id (crate_num),
                                     UNKNOWN_LOCAL_DEFID);
 
       auto hir_param
@@ -287,10 +287,10 @@ ASTLowerTraitItem::visit (AST::Function &func)
                                     &terminated))
                       : nullptr;
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.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));
+                                mappings.get_next_hir_id (crate_num),
+                                mappings.get_next_localdef_id (crate_num));
 
   auto *trait_item
     = new HIR::TraitItemFunc (mapping, std::move (decl), std::move (block_expr),
@@ -299,16 +299,16 @@ ASTLowerTraitItem::visit (AST::Function &func)
   if (func.has_self_param ())
     {
       // insert mappings for self
-      mappings->insert_hir_self_param (&self_param);
-      mappings->insert_location (self_param.get_mappings ().get_hirid (),
-                                self_param.get_locus ());
+      mappings.insert_hir_self_param (&self_param);
+      mappings.insert_location (self_param.get_mappings ().get_hirid (),
+                               self_param.get_locus ());
     }
 
   // add the mappings for the function params at the end
   for (auto &param : trait_item->get_decl ().get_function_params ())
     {
-      mappings->insert_hir_param (&param);
-      mappings->insert_location (mapping.get_hirid (), param.get_locus ());
+      mappings.insert_hir_param (&param);
+      mappings.insert_location (mapping.get_hirid (), param.get_locus ());
     }
 }
 
@@ -320,10 +320,10 @@ ASTLowerTraitItem::visit (AST::TraitItemConst &constant)
                      ? ASTLoweringExpr::translate (constant.get_expr ())
                      : nullptr;
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.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));
+                                mappings.get_next_hir_id (crate_num),
+                                mappings.get_next_localdef_id (crate_num));
 
   HIR::TraitItemConst *trait_item
     = new HIR::TraitItemConst (mapping, constant.get_identifier (),
@@ -338,10 +338,10 @@ void
 ASTLowerTraitItem::visit (AST::TraitItemType &type)
 {
   std::vector<std::unique_ptr<HIR::TypeParamBound> > type_param_bounds;
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.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));
+                                mappings.get_next_hir_id (crate_num),
+                                mappings.get_next_localdef_id (crate_num));
 
   HIR::TraitItemType *trait_item
     = new HIR::TraitItemType (mapping, type.get_identifier (),
index 89a489501b971f05259b8cf9f14a59758ea4f15f..25345ce7589468bea8638d7dfa3bee53aaa48955 100644 (file)
@@ -44,10 +44,10 @@ ASTLoweringItem::translate (AST::Item &item)
       auto locus = resolver.translated->get_locus ();
 
       resolver.handle_outer_attributes (*resolver.translated);
-      resolver.mappings->insert_ast_item (&item);
-      resolver.mappings->insert_hir_item (resolver.translated);
-      resolver.mappings->insert_location (id, locus);
-      resolver.mappings->insert_defid_mapping (defid, resolver.translated);
+      resolver.mappings.insert_ast_item (&item);
+      resolver.mappings.insert_hir_item (resolver.translated);
+      resolver.mappings.insert_location (id, locus);
+      resolver.mappings.insert_defid_mapping (defid, resolver.translated);
     }
 
   return resolver.translated;
@@ -56,10 +56,10 @@ ASTLoweringItem::translate (AST::Item &item)
 void
 ASTLoweringItem::visit (AST::Module &module)
 {
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.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));
+                                mappings.get_next_hir_id (crate_num),
+                                mappings.get_next_localdef_id (crate_num));
 
   // should be lowered from module.get_vis()
   HIR::Visibility vis = translate_visibility (module.get_visibility ());
@@ -83,7 +83,7 @@ ASTLoweringItem::visit (AST::Module &module)
     = new HIR::Module (mapping, module.get_name (), module.get_locus (),
                       std::move (items), std::move (vis),
                       std::move (inner_attrs), std::move (outer_attrs));
-  mappings->insert_module (static_cast<Module *> (translated));
+  mappings.insert_module (static_cast<Module *> (translated));
 }
 
 void
@@ -107,10 +107,10 @@ 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.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));
+                                mappings.get_next_hir_id (crate_num),
+                                mappings.get_next_localdef_id (crate_num));
 
   translated
     = new HIR::TypeAlias (mapping, alias.get_new_type_name (),
@@ -150,11 +150,10 @@ 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.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));
+                                    mappings.get_next_hir_id (crate_num),
+                                    mappings.get_next_localdef_id (crate_num));
 
       HIR::TupleField translated_field (mapping,
                                        std::unique_ptr<HIR::Type> (type), vis,
@@ -163,10 +162,10 @@ ASTLoweringItem::visit (AST::TupleStruct &struct_decl)
       fields.push_back (std::move (translated_field));
     }
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.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));
+                                mappings.get_next_hir_id (crate_num),
+                                mappings.get_next_localdef_id (crate_num));
 
   translated = new HIR::TupleStruct (mapping, std::move (fields),
                                     struct_decl.get_identifier (),
@@ -207,11 +206,10 @@ 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.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));
+                                    mappings.get_next_hir_id (crate_num),
+                                    mappings.get_next_localdef_id (crate_num));
 
       HIR::StructField translated_field (mapping, field.get_field_name (),
                                         std::unique_ptr<HIR::Type> (type), vis,
@@ -224,10 +222,10 @@ ASTLoweringItem::visit (AST::StructStruct &struct_decl)
       fields.push_back (std::move (translated_field));
     }
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.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));
+                                mappings.get_next_hir_id (crate_num),
+                                mappings.get_next_localdef_id (crate_num));
 
   translated = new HIR::StructStruct (mapping, std::move (fields),
                                      struct_decl.get_identifier (),
@@ -268,10 +266,10 @@ ASTLoweringItem::visit (AST::Enum &enum_decl)
       items.push_back (std::unique_ptr<HIR::EnumItem> (hir_item));
     }
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.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));
+                                mappings.get_next_hir_id (crate_num),
+                                mappings.get_next_localdef_id (crate_num));
 
   HIR::Enum *hir_enum
     = new HIR::Enum (mapping, enum_decl.get_identifier (), vis,
@@ -281,7 +279,7 @@ ASTLoweringItem::visit (AST::Enum &enum_decl)
   translated = hir_enum;
   for (auto &variant : hir_enum->get_variants ())
     {
-      mappings->insert_hir_enumitem (hir_enum, variant.get ());
+      mappings.insert_hir_enumitem (hir_enum, variant.get ());
     }
 }
 
@@ -314,11 +312,10 @@ 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.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));
+                                    mappings.get_next_hir_id (crate_num),
+                                    mappings.get_next_localdef_id (crate_num));
 
       HIR::StructField translated_variant (mapping, variant.get_field_name (),
                                           std::unique_ptr<HIR::Type> (type),
@@ -331,10 +328,10 @@ ASTLoweringItem::visit (AST::Union &union_decl)
       variants.push_back (std::move (translated_variant));
     }
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.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));
+                                mappings.get_next_hir_id (crate_num),
+                                mappings.get_next_localdef_id (crate_num));
 
   translated
     = new HIR::Union (mapping, union_decl.get_identifier (), vis,
@@ -351,10 +348,10 @@ 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.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));
+                                mappings.get_next_hir_id (crate_num),
+                                mappings.get_next_localdef_id (crate_num));
 
   translated = new HIR::StaticItem (mapping, var.get_identifier (),
                                    var.is_mutable () ? Mutability::Mut
@@ -372,10 +369,10 @@ ASTLoweringItem::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.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));
+                                mappings.get_next_hir_id (crate_num),
+                                mappings.get_next_localdef_id (crate_num));
 
   translated = new HIR::ConstantItem (mapping, constant.get_identifier (), vis,
                                      std::unique_ptr<HIR::Type> (type),
@@ -429,9 +426,9 @@ 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.get_current_crate ();
       Analysis::NodeMapping mapping (crate_num, param.get_node_id (),
-                                    mappings->get_next_hir_id (crate_num),
+                                    mappings.get_next_hir_id (crate_num),
                                     UNKNOWN_LOCAL_DEFID);
 
       auto hir_param
@@ -446,13 +443,13 @@ ASTLoweringItem::visit (AST::Function &function)
       ASTLoweringBlock::translate (*function.get_definition ().value (),
                                   &terminated));
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.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));
+                                mappings.get_next_hir_id (crate_num),
+                                mappings.get_next_localdef_id (crate_num));
 
-  mappings->insert_location (function_body->get_mappings ().get_hirid (),
-                            function.get_locus ());
+  mappings.insert_location (function_body->get_mappings ().get_hirid (),
+                           function.get_locus ());
 
   auto fn
     = new HIR::Function (mapping, std::move (function_name),
@@ -465,8 +462,8 @@ ASTLoweringItem::visit (AST::Function &function)
   // add the mappings for the function params at the end
   for (auto &param : fn->get_function_params ())
     {
-      mappings->insert_hir_param (&param);
-      mappings->insert_location (mapping.get_hirid (), param.get_locus ());
+      mappings.insert_hir_param (&param);
+      mappings.insert_location (mapping.get_hirid (), param.get_locus ());
     }
 
   translated = fn;
@@ -521,10 +518,10 @@ 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.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));
+                                mappings.get_next_hir_id (crate_num),
+                                mappings.get_next_localdef_id (crate_num));
 
   std::vector<std::unique_ptr<HIR::ImplItem>> impl_items;
   std::vector<HirId> impl_item_ids;
@@ -548,10 +545,10 @@ ASTLoweringItem::visit (AST::InherentImpl &impl_block)
     impl_block.get_locus ());
   translated = hir_impl_block;
 
-  mappings->insert_hir_impl_block (hir_impl_block);
+  mappings.insert_hir_impl_block (hir_impl_block);
   for (auto &impl_item_id : impl_item_ids)
     {
-      mappings->insert_impl_item_mapping (impl_item_id, hir_impl_block);
+      mappings.insert_impl_item_mapping (impl_item_id, hir_impl_block);
     }
 }
 
@@ -598,10 +595,10 @@ ASTLoweringItem::visit (AST::Trait &trait)
       trait_item_ids.push_back (lowered->get_mappings ().get_hirid ());
     }
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.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));
+                                mappings.get_next_hir_id (crate_num),
+                                mappings.get_next_localdef_id (crate_num));
 
   auto trait_unsafety = Unsafety::Normal;
   if (trait.is_unsafe ())
@@ -618,7 +615,7 @@ ASTLoweringItem::visit (AST::Trait &trait)
 
   for (auto trait_item_id : trait_item_ids)
     {
-      mappings->insert_trait_item_mapping (trait_item_id, hir_trait);
+      mappings.insert_trait_item_mapping (trait_item_id, hir_trait);
     }
 }
 
@@ -672,10 +669,10 @@ 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.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));
+                                mappings.get_next_hir_id (crate_num),
+                                mappings.get_next_localdef_id (crate_num));
 
   std::vector<std::unique_ptr<HIR::ImplItem>> impl_items;
   std::vector<HirId> impl_item_ids;
@@ -702,10 +699,10 @@ ASTLoweringItem::visit (AST::TraitImpl &impl_block)
     impl_block.get_locus ());
   translated = hir_impl_block;
 
-  mappings->insert_hir_impl_block (hir_impl_block);
+  mappings.insert_hir_impl_block (hir_impl_block);
   for (auto &impl_item_id : impl_item_ids)
     {
-      mappings->insert_impl_item_mapping (impl_item_id, hir_impl_block);
+      mappings.insert_impl_item_mapping (impl_item_id, hir_impl_block);
     }
 }
 
@@ -732,17 +729,17 @@ 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.get_current_crate ();
   auto node_id = segment.get_node_id ();
 
   auto mapping = Analysis::NodeMapping (crate_num, node_id,
-                                       mappings->get_next_hir_id (crate_num),
+                                       mappings.get_next_hir_id (crate_num),
                                        UNKNOWN_LOCAL_DEFID);
 
   auto hir_seg = HIR::SimplePathSegment (mapping);
 
-  mappings->insert_node_to_hir (node_id, mapping.get_hirid ());
-  // mappings->insert_simple_path_segment (crate_num, node_id, &segment);
+  mappings.insert_node_to_hir (node_id, mapping.get_hirid ());
+  // mappings.insert_simple_path_segment (crate_num, node_id, &segment);
 
   return hir_seg;
 }
@@ -754,18 +751,18 @@ 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.get_current_crate ();
   auto node_id = path.get_node_id ();
 
   auto mapping = Analysis::NodeMapping (crate_num, node_id,
-                                       mappings->get_next_hir_id (crate_num),
+                                       mappings.get_next_hir_id (crate_num),
                                        UNKNOWN_LOCAL_DEFID);
 
   auto lowered
     = HIR::SimplePath (std::move (segments), mapping, path.get_locus ());
 
-  mappings->insert_node_to_hir (node_id, mapping.get_hirid ());
-  // mappings->insert_simple_path (crate_num, node_id, &path);
+  mappings.insert_node_to_hir (node_id, mapping.get_hirid ());
+  // mappings.insert_simple_path (crate_num, node_id, &path);
 
   return lowered;
 }
index 95af0f87a002a63ab4ad524d001e48e2196c83da..b64cf3ae069872d9c25d15ff8117c942fe0b4ab5 100644 (file)
@@ -33,8 +33,8 @@ ASTLoweringPattern::translate (AST::Pattern &pattern, bool is_let_top_level)
 
   rust_assert (resolver.translated != nullptr);
 
-  resolver.mappings->insert_hir_pattern (resolver.translated);
-  resolver.mappings->insert_location (
+  resolver.mappings.insert_hir_pattern (resolver.translated);
+  resolver.mappings.insert_location (
     resolver.translated->get_mappings ().get_hirid (), pattern.get_locus ());
 
   return resolver.translated;
@@ -43,9 +43,9 @@ 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.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, pattern.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   std::unique_ptr<Pattern> to_bind;
@@ -95,9 +95,9 @@ ASTLoweringPattern::visit (AST::TupleStructPattern &pattern)
       break;
     }
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, pattern.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   translated = new HIR::TupleStructPattern (
@@ -123,10 +123,9 @@ ASTLoweringPattern::visit (AST::StructPattern &pattern)
            auto &tuple
              = static_cast<AST::StructPatternFieldTuplePat &> (*field);
 
-           auto crate_num = mappings->get_current_crate ();
+           auto crate_num = mappings.get_current_crate ();
            Analysis::NodeMapping mapping (crate_num, tuple.get_node_id (),
-                                          mappings->get_next_hir_id (
-                                            crate_num),
+                                          mappings.get_next_hir_id (crate_num),
                                           UNKNOWN_LOCAL_DEFID);
 
            std::unique_ptr<HIR::Pattern> pat (
@@ -144,10 +143,9 @@ ASTLoweringPattern::visit (AST::StructPattern &pattern)
            AST::StructPatternFieldIdentPat &ident
              = static_cast<AST::StructPatternFieldIdentPat &> (*field);
 
-           auto crate_num = mappings->get_current_crate ();
+           auto crate_num = mappings.get_current_crate ();
            Analysis::NodeMapping mapping (crate_num, ident.get_node_id (),
-                                          mappings->get_next_hir_id (
-                                            crate_num),
+                                          mappings.get_next_hir_id (crate_num),
                                           UNKNOWN_LOCAL_DEFID);
 
            std::unique_ptr<HIR::Pattern> pat (
@@ -165,10 +163,9 @@ 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.get_current_crate ();
            Analysis::NodeMapping mapping (crate_num, ident.get_node_id (),
-                                          mappings->get_next_hir_id (
-                                            crate_num),
+                                          mappings.get_next_hir_id (crate_num),
                                           UNKNOWN_LOCAL_DEFID);
 
            f = new HIR::StructPatternFieldIdent (
@@ -182,16 +179,16 @@ ASTLoweringPattern::visit (AST::StructPattern &pattern)
       // insert the reverse mappings and locations
       auto field_id = f->get_mappings ().get_hirid ();
       auto field_node_id = f->get_mappings ().get_nodeid ();
-      mappings->insert_location (field_id, f->get_locus ());
-      mappings->insert_node_to_hir (field_node_id, field_id);
+      mappings.insert_location (field_id, f->get_locus ());
+      mappings.insert_node_to_hir (field_node_id, field_id);
 
       // add it to the lowered fields list
       fields.push_back (std::unique_ptr<HIR::StructPatternField> (f));
     }
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, pattern.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   HIR::StructPatternElements elems (std::move (fields));
@@ -201,9 +198,9 @@ ASTLoweringPattern::visit (AST::StructPattern &pattern)
 void
 ASTLoweringPattern::visit (AST::WildcardPattern &pattern)
 {
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, pattern.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   translated = new HIR::WildcardPattern (mapping, pattern.get_locus ());
@@ -231,9 +228,9 @@ ASTLoweringPattern::visit (AST::TuplePattern &pattern)
       break;
     }
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, pattern.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   translated
@@ -243,9 +240,9 @@ ASTLoweringPattern::visit (AST::TuplePattern &pattern)
 void
 ASTLoweringPattern::visit (AST::LiteralPattern &pattern)
 {
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, pattern.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   HIR::Literal l = lower_literal (pattern.get_literal ());
@@ -259,9 +256,9 @@ 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.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, pattern.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   translated
@@ -279,9 +276,9 @@ ASTLoweringPattern::visit (AST::GroupedPattern &pattern)
 void
 ASTLoweringPattern::visit (AST::ReferencePattern &pattern)
 {
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, pattern.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   HIR::Pattern *inner
@@ -296,7 +293,7 @@ ASTLoweringPattern::visit (AST::ReferencePattern &pattern)
   if (pattern.is_double_reference ())
     {
       Analysis::NodeMapping mapping2 (crate_num, pattern.get_node_id (),
-                                     mappings->get_next_hir_id (crate_num),
+                                     mappings.get_next_hir_id (crate_num),
                                      UNKNOWN_LOCAL_DEFID);
       translated
        = new HIR::ReferencePattern (mapping2,
@@ -315,9 +312,9 @@ ASTLoweringPattern::visit (AST::SlicePattern &pattern)
       items.push_back (std::unique_ptr<HIR::Pattern> (item));
     }
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, pattern.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   translated
@@ -327,9 +324,9 @@ ASTLoweringPattern::visit (AST::SlicePattern &pattern)
 void
 ASTLoweringPattern::visit (AST::AltPattern &pattern)
 {
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, pattern.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   std::vector<std::unique_ptr<HIR::Pattern>> alts;
index 8ec498f0c25c01528558761675c434aaf7dac245..c3594594bf1eae338f16db290ead553dcd5b1a05 100644 (file)
@@ -35,10 +35,10 @@ ASTLoweringStmt::translate (AST::Stmt *stmt, bool *terminated)
     return nullptr;
 
   *terminated = resolver.terminated;
-  resolver.mappings->insert_location (
+  resolver.mappings.insert_location (
     resolver.translated->get_mappings ().get_hirid (),
     resolver.translated->get_locus ());
-  resolver.mappings->insert_hir_stmt (resolver.translated);
+  resolver.mappings.insert_hir_stmt (resolver.translated);
 
   return resolver.translated;
 }
@@ -48,9 +48,9 @@ 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.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, stmt.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
   translated
     = new HIR::ExprStmt (mapping, std::unique_ptr<HIR::Expr> (expr),
@@ -75,9 +75,9 @@ ASTLoweringStmt::visit (AST::LetStmt &stmt)
     = stmt.has_init_expr () ? ASTLoweringExpr::translate (stmt.get_init_expr ())
                            : nullptr;
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, stmt.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
   translated
     = new HIR::LetStmt (mapping, std::unique_ptr<HIR::Pattern> (variables),
@@ -113,10 +113,10 @@ ASTLoweringStmt::visit (AST::Enum &enum_decl)
 void
 ASTLoweringStmt::visit (AST::EmptyStmt &empty)
 {
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.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));
+                                mappings.get_next_hir_id (crate_num),
+                                mappings.get_next_localdef_id (crate_num));
 
   translated = new HIR::EmptyStmt (mapping, empty.get_locus ());
 }
index d0ee6997c203eaa7cd695995d14f2cff07078640..b5f4909422dbdcaa03c3e2383ad9c8f030ec3d9b 100644 (file)
@@ -36,8 +36,8 @@ public:
     field.accept_vis (compiler);
     rust_assert (compiler.translated != nullptr);
 
-    compiler.mappings->insert_hir_struct_field (compiler.translated);
-    compiler.mappings->insert_location (
+    compiler.mappings.insert_hir_struct_field (compiler.translated);
+    compiler.mappings.insert_location (
       compiler.translated->get_mappings ().get_hirid (), field.get_locus ());
 
     return compiler.translated;
index b5997c268d8107b113ee87e07efdbfa0a3a439a0..f7cb863d54432fb83c5e791626b3e50893587900 100644 (file)
@@ -33,8 +33,8 @@ ASTLowerTypePath::translate (AST::TypePath &type)
 void
 ASTLowerTypePath::visit (AST::TypePathSegmentFunction &segment)
 {
-  auto crate_num = mappings->get_current_crate ();
-  auto hirid = mappings->get_next_hir_id (crate_num);
+  auto crate_num = mappings.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);
 
@@ -64,8 +64,8 @@ ASTLowerTypePath::visit (AST::TypePathSegmentFunction &segment)
 void
 ASTLowerTypePath::visit (AST::TypePathSegment &segment)
 {
-  auto crate_num = mappings->get_current_crate ();
-  auto hirid = mappings->get_next_hir_id (crate_num);
+  auto crate_num = mappings.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);
 
@@ -87,8 +87,8 @@ ASTLowerTypePath::visit (AST::TypePathSegmentGeneric &segment)
 
   auto generic_args = lower_generic_args (segment.get_generic_args ());
 
-  auto crate_num = mappings->get_current_crate ();
-  auto hirid = mappings->get_next_hir_id (crate_num);
+  auto crate_num = mappings.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);
 
@@ -113,10 +113,10 @@ ASTLowerTypePath::visit (AST::TypePath &path)
        std::unique_ptr<HIR::TypePathSegment> (translated_segment));
     }
 
-  auto crate_num = mappings->get_current_crate ();
-  auto hirid = mappings->get_next_hir_id (crate_num);
+  auto crate_num = mappings.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));
+                                mappings.get_next_localdef_id (crate_num));
 
   translated
     = new HIR::TypePath (std::move (mapping), std::move (translated_segments),
@@ -136,8 +136,8 @@ ASTLowerQualifiedPathInType::translate (AST::QualifiedPathInType &type)
 void
 ASTLowerQualifiedPathInType::visit (AST::QualifiedPathInType &path)
 {
-  auto crate_num = mappings->get_current_crate ();
-  auto hirid = mappings->get_next_hir_id (crate_num);
+  auto crate_num = mappings.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,
     UNKNOWN_LOCAL_DEFID);
@@ -170,7 +170,7 @@ ASTLowerQualifiedPathInType::visit (AST::QualifiedPathInType &path)
     }
 
   Analysis::NodeMapping mapping (crate_num, path.get_node_id (), hirid,
-                                mappings->get_next_localdef_id (crate_num));
+                                mappings.get_next_localdef_id (crate_num));
   translated = new HIR::QualifiedPathInType (std::move (mapping),
                                             std::move (qual_path_type),
                                             std::move (associated_segment),
@@ -185,8 +185,8 @@ ASTLoweringType::translate (AST::Type &type, bool default_to_static_lifetime)
   type.accept_vis (resolver);
 
   rust_assert (resolver.translated != nullptr);
-  resolver.mappings->insert_hir_type (resolver.translated);
-  resolver.mappings->insert_location (
+  resolver.mappings.insert_hir_type (resolver.translated);
+  resolver.mappings.insert_location (
     resolver.translated->get_mappings ().get_hirid (),
     resolver.translated->get_locus ());
 
@@ -244,10 +244,10 @@ ASTLoweringType::visit (AST::BareFunctionType &fntype)
                                                default_to_static_lifetime);
     }
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.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));
+                                mappings.get_next_hir_id (crate_num),
+                                mappings.get_next_localdef_id (crate_num));
 
   translated = new HIR::BareFunctionType (
     std::move (mapping), std::move (lifetime_params), std::move (qualifiers),
@@ -266,10 +266,10 @@ 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.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));
+                                mappings.get_next_hir_id (crate_num),
+                                mappings.get_next_localdef_id (crate_num));
 
   translated = new HIR::TupleType (std::move (mapping), std::move (elems),
                                   tuple.get_locus ());
@@ -295,10 +295,10 @@ ASTLoweringType::visit (AST::ArrayType &type)
                                  default_to_static_lifetime);
   HIR::Expr *array_size = ASTLoweringExpr::translate (type.get_size_expr ());
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.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));
+                                mappings.get_next_hir_id (crate_num),
+                                mappings.get_next_localdef_id (crate_num));
 
   translated
     = new HIR::ArrayType (mapping, std::unique_ptr<HIR::Type> (translated_type),
@@ -316,10 +316,10 @@ ASTLoweringType::visit (AST::ReferenceType &type)
     = ASTLoweringType::translate (type.get_base_type (),
                                  default_to_static_lifetime);
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.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));
+                                mappings.get_next_hir_id (crate_num),
+                                mappings.get_next_localdef_id (crate_num));
 
   translated = new HIR::ReferenceType (mapping,
                                       type.get_has_mut () ? Mutability::Mut
@@ -335,10 +335,10 @@ ASTLoweringType::visit (AST::RawPointerType &type)
     = ASTLoweringType::translate (type.get_type_pointed_to (),
                                  default_to_static_lifetime);
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.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));
+                                mappings.get_next_hir_id (crate_num),
+                                mappings.get_next_localdef_id (crate_num));
 
   translated
     = new HIR::RawPointerType (mapping,
@@ -357,10 +357,10 @@ ASTLoweringType::visit (AST::SliceType &type)
     = ASTLoweringType::translate (type.get_elem_type (),
                                  default_to_static_lifetime);
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.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));
+                                mappings.get_next_hir_id (crate_num),
+                                mappings.get_next_localdef_id (crate_num));
 
   translated
     = new HIR::SliceType (mapping, std::unique_ptr<HIR::Type> (base_type),
@@ -370,10 +370,10 @@ ASTLoweringType::visit (AST::SliceType &type)
 void
 ASTLoweringType::visit (AST::InferredType &type)
 {
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.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));
+                                mappings.get_next_hir_id (crate_num),
+                                mappings.get_next_localdef_id (crate_num));
 
   translated = new HIR::InferredType (mapping, type.get_locus ());
 }
@@ -381,10 +381,10 @@ ASTLoweringType::visit (AST::InferredType &type)
 void
 ASTLoweringType::visit (AST::NeverType &type)
 {
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.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));
+                                mappings.get_next_hir_id (crate_num),
+                                mappings.get_next_localdef_id (crate_num));
 
   translated = new HIR::NeverType (mapping, type.get_locus ());
 }
@@ -397,10 +397,10 @@ 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.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));
+                                mappings.get_next_hir_id (crate_num),
+                                mappings.get_next_localdef_id (crate_num));
 
   translated = new HIR::TraitObjectType (mapping, std::move (bounds),
                                         type.get_locus (), type.is_dyn ());
@@ -419,10 +419,10 @@ ASTLoweringType::visit (AST::TraitObjectType &type)
        std::unique_ptr<HIR::TypeParamBound> (translated_bound));
     }
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.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));
+                                mappings.get_next_hir_id (crate_num),
+                                mappings.get_next_localdef_id (crate_num));
 
   translated = new HIR::TraitObjectType (mapping, std::move (bounds),
                                         type.get_locus (), type.is_dyn ());
@@ -435,9 +435,9 @@ ASTLowerGenericParam::translate (AST::GenericParam &param)
   param.accept_vis (resolver);
 
   rust_assert (resolver.translated != nullptr);
-  resolver.mappings->insert_location (
+  resolver.mappings.insert_location (
     resolver.translated->get_mappings ().get_hirid (), param.get_locus ());
-  resolver.mappings->insert_hir_generic_param (resolver.translated);
+  resolver.mappings.insert_hir_generic_param (resolver.translated);
 
   return resolver.translated;
 }
@@ -445,10 +445,10 @@ ASTLowerGenericParam::translate (AST::GenericParam &param)
 void
 ASTLowerGenericParam::visit (AST::LifetimeParam &param)
 {
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.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));
+                                mappings.get_next_hir_id (crate_num),
+                                mappings.get_next_localdef_id (crate_num));
 
   HIR::Lifetime lt (mapping, param.get_lifetime ().get_lifetime_type (),
                    param.get_lifetime ().get_lifetime_name (),
@@ -461,10 +461,10 @@ ASTLowerGenericParam::visit (AST::LifetimeParam &param)
 void
 ASTLowerGenericParam::visit (AST::ConstGenericParam &param)
 {
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.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));
+                                mappings.get_next_hir_id (crate_num),
+                                mappings.get_next_localdef_id (crate_num));
 
   auto type = ASTLoweringType::translate (param.get_type ());
 
@@ -498,10 +498,10 @@ ASTLowerGenericParam::visit (AST::TypeParam &param)
                      ? ASTLoweringType::translate (param.get_type ())
                      : nullptr;
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.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));
+                                mappings.get_next_hir_id (crate_num),
+                                mappings.get_next_localdef_id (crate_num));
 
   translated
     = new HIR::TypeParam (mapping, param.get_type_representation (),
@@ -516,7 +516,7 @@ ASTLoweringTypeBounds::translate (AST::TypeParamBound &type)
   type.accept_vis (resolver);
 
   rust_assert (resolver.translated != nullptr);
-  resolver.mappings->insert_location (
+  resolver.mappings.insert_location (
     resolver.translated->get_mappings ().get_hirid (),
     resolver.translated->get_locus ());
 
@@ -537,9 +537,9 @@ 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.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, bound.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   BoundPolarity polarity = bound.has_opening_question_mark ()
@@ -565,7 +565,7 @@ ASTLowerWhereClauseItem::translate (AST::WhereClauseItem &item)
 
   rust_assert (compiler.translated != nullptr);
   // FIXME
-  // compiler.mappings->insert_location (
+  // compiler.mappings.insert_location (
   //   compiler.translated->get_mappings ().get_hirid (),
   //   compiler.translated->get_locus ());
 
@@ -583,9 +583,9 @@ ASTLowerWhereClauseItem::visit (AST::LifetimeWhereClauseItem &item)
       lifetime_bounds.push_back (std::move (ll));
     }
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, item.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   translated = new HIR::LifetimeWhereClauseItem (mapping, std::move (l),
@@ -616,9 +616,9 @@ 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.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, item.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   translated
index c8f12473027a2a213469917b45120cb83978e37a..5a5c93fc3709a87b08b04477608c606e525136d3 100644 (file)
@@ -81,10 +81,10 @@ ASTLowering::go ()
        items.push_back (std::unique_ptr<HIR::Item> (translated));
     }
 
-  auto mappings = Analysis::Mappings::get ();
-  auto crate_num = mappings->get_current_crate ();
+  auto &mappings = Analysis::Mappings::get ();
+  auto crate_num = mappings.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, astCrate.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   return std::unique_ptr<HIR::Crate> (
@@ -137,9 +137,9 @@ ASTLoweringBlock::visit (AST::BlockExpr &expr)
     }
 
   bool tail_reachable = !block_did_terminate;
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
   translated
     = new HIR::BlockExpr (mapping, std::move (block_stmts),
@@ -160,9 +160,9 @@ 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.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   translated = new HIR::IfExpr (mapping, std::unique_ptr<HIR::Expr> (condition),
@@ -187,9 +187,9 @@ ASTLoweringIfBlock::visit (AST::IfExprConseqElse &expr)
 
   terminated = if_block_terminated && else_block_termianted;
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   translated = new HIR::IfExprConseqElse (
@@ -213,9 +213,9 @@ ASTLoweringIfLetBlock::visit (AST::IfLetExpr &expr)
   HIR::BlockExpr *block
     = ASTLoweringBlock::translate (expr.get_if_block (), &ignored_terminated);
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   translated = new HIR::IfLetExpr (mapping, std::move (patterns),
@@ -245,9 +245,9 @@ ASTLoweringIfLetBlock::visit (AST::IfLetExprConseqElse &expr)
 
   rust_assert (else_block);
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   translated = new HIR::IfLetExprConseqElse (
@@ -263,9 +263,9 @@ ASTLowerStructExprField::visit (AST::StructExprFieldIdentifierValue &field)
 {
   HIR::Expr *value = ASTLoweringExpr::translate (field.get_value ());
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, field.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   translated = new HIR::StructExprFieldIdentifierValue (
@@ -278,9 +278,9 @@ ASTLowerStructExprField::visit (AST::StructExprFieldIndexValue &field)
 {
   HIR::Expr *value = ASTLoweringExpr::translate (field.get_value ());
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, field.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   translated
@@ -292,9 +292,9 @@ ASTLowerStructExprField::visit (AST::StructExprFieldIndexValue &field)
 void
 ASTLowerStructExprField::visit (AST::StructExprFieldIdentifier &field)
 {
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, field.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   translated
@@ -314,9 +314,9 @@ 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.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   translated
@@ -380,9 +380,9 @@ 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.get_current_crate ();
       Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
-                                    mappings->get_next_hir_id (crate_num),
+                                    mappings.get_next_hir_id (crate_num),
                                     UNKNOWN_LOCAL_DEFID);
 
       HIR::MatchCase kase (std::move (mapping), std::move (arm),
@@ -390,9 +390,9 @@ ASTLoweringExprWithBlock::visit (AST::MatchExpr &expr)
       match_arms.push_back (std::move (kase));
     }
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   translated
@@ -414,11 +414,11 @@ ASTLowerPathInExpression::visit (AST::PathInExpression &expr)
 
       // insert the mappings for the segment
       HIR::PathExprSegment *lowered_seg = &path_segments.back ();
-      mappings->insert_hir_path_expr_seg (lowered_seg);
+      mappings.insert_hir_path_expr_seg (lowered_seg);
     }
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   translated = new HIR::PathInExpression (mapping, std::move (path_segments),
@@ -435,9 +435,9 @@ 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.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, qualified_type.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   return HIR::QualifiedPathType (mapping, std::unique_ptr<HIR::Type> (type),
@@ -459,12 +459,12 @@ ASTLowerQualPathInExpression::visit (AST::QualifiedPathInExpression &expr)
 
       // insert the mappings for the segment
       HIR::PathExprSegment *lowered_seg = &path_segments.back ();
-      mappings->insert_hir_path_expr_seg (lowered_seg);
+      mappings.insert_hir_path_expr_seg (lowered_seg);
     }
 
-  auto crate_num = mappings->get_current_crate ();
+  auto crate_num = mappings.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
-                                mappings->get_next_hir_id (crate_num),
+                                mappings.get_next_hir_id (crate_num),
                                 UNKNOWN_LOCAL_DEFID);
 
   translated = new HIR::QualifiedPathInExpression (mapping, qual_path_type,
index 08ed0a4f5cc68cdfbae389bcb9c03d0058e530b8..46afe35642558e129cb060f1d09b31e72bddc300 100644 (file)
@@ -58,7 +58,7 @@ ExportContext::emit_trait (const HIR::Trait &trait)
   // lookup the AST node for this
   AST::Item *item = nullptr;
   bool ok
-    = mappings->lookup_ast_item (trait.get_mappings ().get_nodeid (), &item);
+    = mappings.lookup_ast_item (trait.get_mappings ().get_nodeid (), &item);
   rust_assert (ok);
 
   std::stringstream oss;
@@ -73,7 +73,7 @@ ExportContext::emit_function (const HIR::Function &fn)
 {
   // lookup the AST node for this
   AST::Item *item = nullptr;
-  bool ok = mappings->lookup_ast_item (fn.get_mappings ().get_nodeid (), &item);
+  bool ok = mappings.lookup_ast_item (fn.get_mappings ().get_nodeid (), &item);
   rust_assert (ok);
 
   // is this a CFG macro or not
@@ -120,7 +120,7 @@ ExportContext::emit_macro (NodeId macro)
   AST::Dump dumper (oss);
 
   AST::Item *item;
-  auto ok = mappings->lookup_ast_item (macro, &item);
+  auto ok = mappings.lookup_ast_item (macro, &item);
   rust_assert (ok);
 
   dumper.go (*item);
@@ -166,7 +166,7 @@ private:
 };
 
 PublicInterface::PublicInterface (HIR::Crate &crate)
-  : crate (crate), mappings (*Analysis::Mappings::get ()), context ()
+  : crate (crate), mappings (Analysis::Mappings::get ()), context ()
 {}
 
 void
@@ -363,9 +363,9 @@ PublicInterface::is_crate_public (const HIR::VisItem &item)
 std::string
 PublicInterface::expected_metadata_filename ()
 {
-  auto mappings = Analysis::Mappings::get ();
+  auto &mappings = Analysis::Mappings::get ();
 
-  const std::string current_crate_name = mappings->get_current_crate_name ();
+  const std::string current_crate_name = mappings.get_current_crate_name ();
   return current_crate_name + extension_path;
 }
 
index bc5e5d7fa293a84adb4394bbaab5ff8e8193bde3..ee006cd83d1abb86172ef8978a55a7b337faaceb 100644 (file)
@@ -53,7 +53,7 @@ public:
   const std::string &get_interface_buffer () const;
 
 private:
-  Analysis::Mappings *mappings;
+  Analysis::Mappings &mappings;
 
   std::vector<std::reference_wrapper<const HIR::Module>> module_stack;
   std::string public_interface_buffer;
index 26234929f4aab278eb7e531799249461718b68e7..93d75aa109dea3328512c8af90407398235d76b5 100644 (file)
@@ -212,7 +212,7 @@ protected:
   bool resolve_visibility (const AST::Visibility &vis);
 
   Resolver *resolver;
-  Analysis::Mappings *mappings;
+  Analysis::Mappings &mappings;
   NodeId resolved_node;
 };
 
index 44b252044244bb1c82096ae17ee6dfca97b411e2..2ca12965d9b985f3a42c3f45cb507d3135a0747f 100644 (file)
@@ -127,7 +127,7 @@ public:
        rust_error_at (r, "redefined multiple times");
       });
 
-    mappings->insert_canonical_path (function.get_node_id (), cpath);
+    mappings.insert_canonical_path (function.get_node_id (), cpath);
   }
 
   void visit (AST::TraitItemConst &constant) override
@@ -147,7 +147,7 @@ public:
        rust_error_at (r, "redefined multiple times");
       });
 
-    mappings->insert_canonical_path (constant.get_node_id (), cpath);
+    mappings.insert_canonical_path (constant.get_node_id (), cpath);
   }
 
   void visit (AST::TraitItemType &type) override
@@ -165,7 +165,7 @@ public:
        rust_error_at (r, "redefined multiple times");
       });
 
-    mappings->insert_canonical_path (type.get_node_id (), cpath);
+    mappings.insert_canonical_path (type.get_node_id (), cpath);
   }
 
 private:
@@ -206,7 +206,7 @@ public:
       });
 
     NodeId current_module = resolver->peek_current_module_scope ();
-    mappings->insert_module_child_item (current_module, decl);
+    mappings.insert_module_child_item (current_module, decl);
   }
 
   void visit (AST::ExternalStaticItem &item) override
@@ -225,7 +225,7 @@ public:
       });
 
     NodeId current_module = resolver->peek_current_module_scope ();
-    mappings->insert_module_child_item (current_module, decl);
+    mappings.insert_module_child_item (current_module, decl);
   }
 
   void visit (AST::ExternalTypeItem &type) override
@@ -244,7 +244,7 @@ public:
       });
 
     NodeId current_module = resolver->peek_current_module_scope ();
-    mappings->insert_module_child_item (current_module, decl);
+    mappings.insert_module_child_item (current_module, decl);
   }
 
 private:
index 31458d1a44d9f8816b6e85266ee7bba909fc49cf..34098bce0de68f2447023b54e1b00cabca1752e3 100644 (file)
@@ -53,7 +53,7 @@ ResolveTraitItems::visit (AST::Function &function)
                              function.get_function_name ().as_string ());
   auto path = prefix.append (decl);
   auto cpath = canonical_prefix.append (decl);
-  mappings->insert_canonical_path (function.get_node_id (), cpath);
+  mappings.insert_canonical_path (function.get_node_id (), cpath);
 
   NodeId scope_node_id = function.get_node_id ();
   resolver->get_name_scope ().push (scope_node_id);
@@ -140,7 +140,7 @@ ResolveTraitItems::visit (AST::TraitItemType &type)
                                      type.get_identifier ().as_string ());
   auto path = prefix.append (decl);
   auto cpath = canonical_prefix.append (decl);
-  mappings->insert_canonical_path (type.get_node_id (), cpath);
+  mappings.insert_canonical_path (type.get_node_id (), cpath);
 
   for (auto &bound : type.get_type_param_bounds ())
     ResolveTypeBound::go (*bound);
@@ -153,7 +153,7 @@ ResolveTraitItems::visit (AST::TraitItemConst &constant)
                                      constant.get_identifier ().as_string ());
   auto path = prefix.append (decl);
   auto cpath = canonical_prefix.append (decl);
-  mappings->insert_canonical_path (constant.get_node_id (), cpath);
+  mappings.insert_canonical_path (constant.get_node_id (), cpath);
 
   ResolveType::go (constant.get_type ());
 
@@ -182,7 +182,7 @@ ResolveItem::visit (AST::TypeAlias &alias)
                              alias.get_new_type_name ().as_string ());
   auto path = prefix.append (talias);
   auto cpath = canonical_prefix.append (talias);
-  mappings->insert_canonical_path (alias.get_node_id (), cpath);
+  mappings.insert_canonical_path (alias.get_node_id (), cpath);
 
   NodeId scope_node_id = alias.get_node_id ();
   resolver->get_type_scope ().push (scope_node_id);
@@ -206,7 +206,7 @@ ResolveItem::visit (AST::Module &module)
                                     module.get_name ().as_string ());
   auto path = prefix.append (mod);
   auto cpath = canonical_prefix.append (mod);
-  mappings->insert_canonical_path (module.get_node_id (), cpath);
+  mappings.insert_canonical_path (module.get_node_id (), cpath);
 
   resolve_visibility (module.get_visibility ());
 
@@ -242,7 +242,7 @@ ResolveItem::visit (AST::TupleStruct &struct_decl)
                              struct_decl.get_identifier ().as_string ());
   auto path = prefix.append (decl);
   auto cpath = canonical_prefix.append (decl);
-  mappings->insert_canonical_path (struct_decl.get_node_id (), cpath);
+  mappings.insert_canonical_path (struct_decl.get_node_id (), cpath);
 
   resolve_visibility (struct_decl.get_visibility ());
 
@@ -276,7 +276,7 @@ ResolveItem::visit (AST::Enum &enum_decl)
                                      enum_decl.get_identifier ().as_string ());
   auto path = prefix.append (decl);
   auto cpath = canonical_prefix.append (decl);
-  mappings->insert_canonical_path (enum_decl.get_node_id (), cpath);
+  mappings.insert_canonical_path (enum_decl.get_node_id (), cpath);
 
   resolve_visibility (enum_decl.get_visibility ());
 
@@ -308,7 +308,7 @@ ResolveItem::visit (AST::EnumItem &item)
                                      item.get_identifier ().as_string ());
   auto path = prefix.append (decl);
   auto cpath = canonical_prefix.append (decl);
-  mappings->insert_canonical_path (item.get_node_id (), cpath);
+  mappings.insert_canonical_path (item.get_node_id (), cpath);
 }
 
 void
@@ -318,7 +318,7 @@ ResolveItem::visit (AST::EnumItemTuple &item)
                                      item.get_identifier ().as_string ());
   auto path = prefix.append (decl);
   auto cpath = canonical_prefix.append (decl);
-  mappings->insert_canonical_path (item.get_node_id (), cpath);
+  mappings.insert_canonical_path (item.get_node_id (), cpath);
 
   for (auto &field : item.get_tuple_fields ())
     {
@@ -336,7 +336,7 @@ ResolveItem::visit (AST::EnumItemStruct &item)
                                      item.get_identifier ().as_string ());
   auto path = prefix.append (decl);
   auto cpath = canonical_prefix.append (decl);
-  mappings->insert_canonical_path (item.get_node_id (), cpath);
+  mappings.insert_canonical_path (item.get_node_id (), cpath);
 
   for (auto &field : item.get_struct_fields ())
     {
@@ -355,7 +355,7 @@ ResolveItem::visit (AST::EnumItemDiscriminant &item)
   auto path = prefix.append (decl);
   auto cpath = canonical_prefix.append (decl);
 
-  mappings->insert_canonical_path (item.get_node_id (), cpath);
+  mappings.insert_canonical_path (item.get_node_id (), cpath);
 }
 
 void
@@ -366,7 +366,7 @@ ResolveItem::visit (AST::StructStruct &struct_decl)
                              struct_decl.get_identifier ().as_string ());
   auto path = prefix.append (decl);
   auto cpath = canonical_prefix.append (decl);
-  mappings->insert_canonical_path (struct_decl.get_node_id (), cpath);
+  mappings.insert_canonical_path (struct_decl.get_node_id (), cpath);
 
   resolve_visibility (struct_decl.get_visibility ());
 
@@ -401,7 +401,7 @@ ResolveItem::visit (AST::Union &union_decl)
                              union_decl.get_identifier ().as_string ());
   auto path = prefix.append (decl);
   auto cpath = canonical_prefix.append (decl);
-  mappings->insert_canonical_path (union_decl.get_node_id (), cpath);
+  mappings.insert_canonical_path (union_decl.get_node_id (), cpath);
 
   resolve_visibility (union_decl.get_visibility ());
 
@@ -433,7 +433,7 @@ ResolveItem::visit (AST::StaticItem &var)
                                      var.get_identifier ().as_string ());
   auto path = prefix.append (decl);
   auto cpath = canonical_prefix.append (decl);
-  mappings->insert_canonical_path (var.get_node_id (), cpath);
+  mappings.insert_canonical_path (var.get_node_id (), cpath);
 
   ResolveType::go (var.get_type ());
   ResolveExpr::go (var.get_expr (), path, cpath);
@@ -446,7 +446,7 @@ ResolveItem::visit (AST::ConstantItem &constant)
                                      constant.get_identifier ());
   auto path = prefix.append (decl);
   auto cpath = canonical_prefix.append (decl);
-  mappings->insert_canonical_path (constant.get_node_id (), cpath);
+  mappings.insert_canonical_path (constant.get_node_id (), cpath);
 
   resolve_visibility (constant.get_visibility ());
 
@@ -463,7 +463,7 @@ ResolveItem::visit (AST::Function &function)
   auto path = prefix.append (decl);
   auto cpath = canonical_prefix.append (decl);
 
-  mappings->insert_canonical_path (function.get_node_id (), cpath);
+  mappings.insert_canonical_path (function.get_node_id (), cpath);
 
   resolve_visibility (function.get_visibility ());
 
@@ -961,7 +961,7 @@ ResolveItem::visit (AST::UseDeclaration &use_item)
        continue;
 
       auto decl = CanonicalPath::new_seg (resolved_node_id, import.get_name ());
-      mappings->insert_module_child_item (current_module, decl);
+      mappings.insert_module_child_item (current_module, decl);
 
       resolver->get_type_scope ().insert (decl, resolved_node_id,
                                          path.get_locus (),
@@ -1016,7 +1016,7 @@ ResolveExternItem::visit (AST::Function &function)
   auto path = prefix.append (decl);
   auto cpath = canonical_prefix.append (decl);
 
-  mappings->insert_canonical_path (function.get_node_id (), cpath);
+  mappings.insert_canonical_path (function.get_node_id (), cpath);
 
   resolve_visibility (function.get_visibility ());
 
index 5dab406b9747aa2d105131a48cfb7bff83b67ba1..ea39fd4669061d88430dfee18cf6c703a15cf85f 100644 (file)
@@ -165,8 +165,8 @@ ResolvePath::resolve_path (AST::PathInExpression &expr)
          && previous_resolved_node_id == module_scope_id)
        {
          tl::optional<CanonicalPath &> resolved_child
-           = mappings->lookup_module_child (module_scope_id,
-                                            ident_seg.as_string ());
+           = mappings.lookup_module_child (module_scope_id,
+                                           ident_seg.as_string ());
          if (resolved_child.has_value ())
            {
              NodeId resolved_node = resolved_child->get_node_id ();
@@ -197,8 +197,8 @@ ResolvePath::resolve_path (AST::PathInExpression &expr)
       bool did_resolve_segment = resolved_node_id != UNKNOWN_NODEID;
       if (did_resolve_segment)
        {
-         if (mappings->node_is_module (resolved_node_id)
-             || mappings->node_is_crate (resolved_node_id))
+         if (mappings.node_is_module (resolved_node_id)
+             || mappings.node_is_crate (resolved_node_id))
            {
              module_scope_id = resolved_node_id;
            }
@@ -304,8 +304,8 @@ ResolvePath::resolve_path (AST::SimplePath &expr)
        }
 
       tl::optional<CanonicalPath &> resolved_child
-       = mappings->lookup_module_child (module_scope_id,
-                                        segment.get_segment_name ());
+       = mappings.lookup_module_child (module_scope_id,
+                                       segment.get_segment_name ());
       if (resolved_child.has_value ())
        {
          NodeId resolved_node = resolved_child->get_node_id ();
@@ -379,7 +379,7 @@ ResolvePath::resolve_path (AST::SimplePath &expr)
          return UNKNOWN_NODEID;
        }
 
-      if (mappings->node_is_module (resolved_node_id))
+      if (mappings.node_is_module (resolved_node_id))
        {
          module_scope_id = resolved_node_id;
        }
index 8bf6e6b0d741f6b8cecad264b54c38ee1a08eed3..8e64a7691d93f9f608e28201e5b4700b1eea8267 100644 (file)
@@ -55,7 +55,7 @@ public:
                                        constant.get_identifier ());
     auto path = decl; // this ensures we have the correct relative resolution
     auto cpath = canonical_prefix.append (decl);
-    mappings->insert_canonical_path (constant.get_node_id (), cpath);
+    mappings.insert_canonical_path (constant.get_node_id (), cpath);
 
     resolver->get_name_scope ().insert (
       path, constant.get_node_id (), constant.get_locus (), false,
@@ -89,7 +89,7 @@ public:
                                struct_decl.get_identifier ().as_string ());
     auto path = decl; // this ensures we have the correct relative resolution
     auto cpath = canonical_prefix.append (decl);
-    mappings->insert_canonical_path (struct_decl.get_node_id (), cpath);
+    mappings.insert_canonical_path (struct_decl.get_node_id (), cpath);
 
     resolver->get_type_scope ().insert (
       path, struct_decl.get_node_id (), struct_decl.get_locus (), false,
@@ -122,7 +122,7 @@ public:
                                enum_decl.get_identifier ().as_string ());
     auto path = decl; // this ensures we have the correct relative resolution
     auto cpath = canonical_prefix.append (decl);
-    mappings->insert_canonical_path (enum_decl.get_node_id (), cpath);
+    mappings.insert_canonical_path (enum_decl.get_node_id (), cpath);
 
     resolver->get_type_scope ().insert (
       path, enum_decl.get_node_id (), enum_decl.get_locus (), false,
@@ -155,7 +155,7 @@ public:
                              item.get_identifier ().as_string ()));
     auto path = decl; // this ensures we have the correct relative resolution
     auto cpath = canonical_prefix.append (decl);
-    mappings->insert_canonical_path (item.get_node_id (), cpath);
+    mappings.insert_canonical_path (item.get_node_id (), cpath);
 
     resolver->get_type_scope ().insert (
       path, item.get_node_id (), item.get_locus (), false, Rib::ItemType::Type,
@@ -175,7 +175,7 @@ public:
                              item.get_identifier ().as_string ()));
     auto path = decl; // this ensures we have the correct relative resolution
     auto cpath = canonical_prefix.append (decl);
-    mappings->insert_canonical_path (item.get_node_id (), cpath);
+    mappings.insert_canonical_path (item.get_node_id (), cpath);
 
     resolver->get_type_scope ().insert (
       path, item.get_node_id (), item.get_locus (), false, Rib::ItemType::Type,
@@ -201,7 +201,7 @@ public:
                              item.get_identifier ().as_string ()));
     auto path = decl; // this ensures we have the correct relative resolution
     auto cpath = canonical_prefix.append (decl);
-    mappings->insert_canonical_path (item.get_node_id (), cpath);
+    mappings.insert_canonical_path (item.get_node_id (), cpath);
 
     resolver->get_type_scope ().insert (
       path, item.get_node_id (), item.get_locus (), false, Rib::ItemType::Type,
@@ -227,7 +227,7 @@ public:
                              item.get_identifier ().as_string ()));
     auto path = decl; // this ensures we have the correct relative resolution
     auto cpath = canonical_prefix.append (decl);
-    mappings->insert_canonical_path (item.get_node_id (), cpath);
+    mappings.insert_canonical_path (item.get_node_id (), cpath);
 
     resolver->get_type_scope ().insert (
       path, item.get_node_id (), item.get_locus (), false, Rib::ItemType::Type,
@@ -247,7 +247,7 @@ public:
                                struct_decl.get_identifier ().as_string ());
     auto path = decl; // this ensures we have the correct relative resolution
     auto cpath = canonical_prefix.append (decl);
-    mappings->insert_canonical_path (struct_decl.get_node_id (), cpath);
+    mappings.insert_canonical_path (struct_decl.get_node_id (), cpath);
 
     resolver->get_type_scope ().insert (
       path, struct_decl.get_node_id (), struct_decl.get_locus (), false,
@@ -285,7 +285,7 @@ public:
                                union_decl.get_identifier ().as_string ());
     auto path = decl; // this ensures we have the correct relative resolution
     auto cpath = canonical_prefix.append (decl);
-    mappings->insert_canonical_path (union_decl.get_node_id (), cpath);
+    mappings.insert_canonical_path (union_decl.get_node_id (), cpath);
 
     resolver->get_type_scope ().insert (
       path, union_decl.get_node_id (), union_decl.get_locus (), false,
@@ -321,7 +321,7 @@ public:
                                function.get_function_name ().as_string ());
     auto path = decl; // this ensures we have the correct relative resolution
     auto cpath = canonical_prefix.append (decl);
-    mappings->insert_canonical_path (function.get_node_id (), cpath);
+    mappings.insert_canonical_path (function.get_node_id (), cpath);
 
     resolver->get_name_scope ().insert (
       path, function.get_node_id (), function.get_locus (), false,
index 1ba33c7c3dfa61f5ac5ed4098c6306de69e55267..1cadf9829fee7d91d91145d45ea3bf48f9986a76 100644 (file)
@@ -41,7 +41,7 @@ public:
     item.accept_vis (resolver);
 
     NodeId current_module = resolver.resolver->peek_current_module_scope ();
-    resolver.mappings->insert_child_item_to_parent_module_mapping (
+    resolver.mappings.insert_child_item_to_parent_module_mapping (
       item.get_node_id (), current_module);
   }
 
@@ -62,8 +62,8 @@ public:
       });
 
     NodeId current_module = resolver->peek_current_module_scope ();
-    mappings->insert_module_child_item (current_module, mod);
-    mappings->insert_module_child (current_module, module.get_node_id ());
+    mappings.insert_module_child_item (current_module, mod);
+    mappings.insert_module_child (current_module, module.get_node_id ());
 
     resolver->push_new_module_scope (module.get_node_id ());
     for (auto &item : module.get_items ())
@@ -71,7 +71,7 @@ public:
 
     resolver->pop_module_scope ();
 
-    mappings->insert_canonical_path (module.get_node_id (), cpath);
+    mappings.insert_canonical_path (module.get_node_id (), cpath);
   }
 
   void visit (AST::TypeAlias &alias) override
@@ -92,8 +92,8 @@ public:
       });
 
     NodeId current_module = resolver->peek_current_module_scope ();
-    mappings->insert_module_child_item (current_module, talias);
-    mappings->insert_canonical_path (alias.get_node_id (), cpath);
+    mappings.insert_module_child_item (current_module, talias);
+    mappings.insert_canonical_path (alias.get_node_id (), cpath);
   }
 
   void visit (AST::TupleStruct &struct_decl) override
@@ -114,8 +114,8 @@ public:
       });
 
     NodeId current_module = resolver->peek_current_module_scope ();
-    mappings->insert_module_child_item (current_module, decl);
-    mappings->insert_canonical_path (struct_decl.get_node_id (), cpath);
+    mappings.insert_module_child_item (current_module, decl);
+    mappings.insert_canonical_path (struct_decl.get_node_id (), cpath);
   }
 
   void visit (AST::Enum &enum_decl) override
@@ -142,8 +142,8 @@ public:
     resolver->pop_module_scope ();
 
     NodeId current_module = resolver->peek_current_module_scope ();
-    mappings->insert_module_child_item (current_module, decl);
-    mappings->insert_canonical_path (enum_decl.get_node_id (), cpath);
+    mappings.insert_module_child_item (current_module, decl);
+    mappings.insert_canonical_path (enum_decl.get_node_id (), cpath);
   }
 
   void visit (AST::EnumItem &item) override
@@ -161,11 +161,11 @@ public:
        rust_error_at (r, "redefined multiple times");
       });
 
-    mappings->insert_canonical_path (item.get_node_id (), cpath);
+    mappings.insert_canonical_path (item.get_node_id (), cpath);
 
     NodeId current_module = resolver->peek_current_module_scope ();
-    mappings->insert_module_child_item (current_module, decl);
-    mappings->insert_module_child (current_module, item.get_node_id ());
+    mappings.insert_module_child_item (current_module, decl);
+    mappings.insert_module_child (current_module, item.get_node_id ());
   }
 
   void visit (AST::EnumItemTuple &item) override
@@ -183,11 +183,11 @@ public:
        rust_error_at (r, "redefined multiple times");
       });
 
-    mappings->insert_canonical_path (item.get_node_id (), cpath);
+    mappings.insert_canonical_path (item.get_node_id (), cpath);
 
     NodeId current_module = resolver->peek_current_module_scope ();
-    mappings->insert_module_child_item (current_module, decl);
-    mappings->insert_module_child (current_module, item.get_node_id ());
+    mappings.insert_module_child_item (current_module, decl);
+    mappings.insert_module_child (current_module, item.get_node_id ());
   }
 
   void visit (AST::EnumItemStruct &item) override
@@ -205,11 +205,11 @@ public:
        rust_error_at (r, "redefined multiple times");
       });
 
-    mappings->insert_canonical_path (item.get_node_id (), cpath);
+    mappings.insert_canonical_path (item.get_node_id (), cpath);
 
     NodeId current_module = resolver->peek_current_module_scope ();
-    mappings->insert_module_child_item (current_module, decl);
-    mappings->insert_module_child (current_module, item.get_node_id ());
+    mappings.insert_module_child_item (current_module, decl);
+    mappings.insert_module_child (current_module, item.get_node_id ());
   }
 
   void visit (AST::EnumItemDiscriminant &item) override
@@ -227,11 +227,11 @@ public:
        rust_error_at (r, "redefined multiple times");
       });
 
-    mappings->insert_canonical_path (item.get_node_id (), cpath);
+    mappings.insert_canonical_path (item.get_node_id (), cpath);
 
     NodeId current_module = resolver->peek_current_module_scope ();
-    mappings->insert_module_child_item (current_module, decl);
-    mappings->insert_module_child (current_module, item.get_node_id ());
+    mappings.insert_module_child_item (current_module, decl);
+    mappings.insert_module_child (current_module, item.get_node_id ());
   }
 
   void visit (AST::StructStruct &struct_decl) override
@@ -252,8 +252,8 @@ public:
       });
 
     NodeId current_module = resolver->peek_current_module_scope ();
-    mappings->insert_module_child_item (current_module, decl);
-    mappings->insert_canonical_path (struct_decl.get_node_id (), cpath);
+    mappings.insert_module_child_item (current_module, decl);
+    mappings.insert_canonical_path (struct_decl.get_node_id (), cpath);
   }
 
   void visit (AST::Union &union_decl) override
@@ -274,8 +274,8 @@ public:
       });
 
     NodeId current_module = resolver->peek_current_module_scope ();
-    mappings->insert_module_child_item (current_module, decl);
-    mappings->insert_canonical_path (union_decl.get_node_id (), cpath);
+    mappings.insert_module_child_item (current_module, decl);
+    mappings.insert_canonical_path (union_decl.get_node_id (), cpath);
   }
 
   void visit (AST::StaticItem &var) override
@@ -294,8 +294,8 @@ public:
       });
 
     NodeId current_module = resolver->peek_current_module_scope ();
-    mappings->insert_module_child_item (current_module, decl);
-    mappings->insert_canonical_path (var.get_node_id (), cpath);
+    mappings.insert_module_child_item (current_module, decl);
+    mappings.insert_canonical_path (var.get_node_id (), cpath);
   }
 
   void visit (AST::ConstantItem &constant) override
@@ -315,8 +315,8 @@ public:
       });
 
     NodeId current_module = resolver->peek_current_module_scope ();
-    mappings->insert_module_child_item (current_module, decl);
-    mappings->insert_canonical_path (constant.get_node_id (), cpath);
+    mappings.insert_module_child_item (current_module, decl);
+    mappings.insert_canonical_path (constant.get_node_id (), cpath);
   }
 
   void visit (AST::Function &function) override
@@ -337,8 +337,8 @@ public:
       });
 
     NodeId current_module = resolver->peek_current_module_scope ();
-    mappings->insert_module_child_item (current_module, decl);
-    mappings->insert_canonical_path (function.get_node_id (), cpath);
+    mappings.insert_module_child_item (current_module, decl);
+    mappings.insert_canonical_path (function.get_node_id (), cpath);
   }
 
   void visit (AST::InherentImpl &impl_block) override
@@ -408,8 +408,8 @@ public:
       ResolveTopLevelTraitItems::go (item.get (), path, cpath);
 
     NodeId current_module = resolver->peek_current_module_scope ();
-    mappings->insert_module_child_item (current_module, decl);
-    mappings->insert_canonical_path (trait.get_node_id (), cpath);
+    mappings.insert_module_child_item (current_module, decl);
+    mappings.insert_canonical_path (trait.get_node_id (), cpath);
   }
 
   void visit (AST::ExternBlock &extern_block) override
@@ -428,16 +428,16 @@ public:
     NodeId resolved_crate = UNKNOWN_NODEID;
     if (extern_crate.references_self ())
       {
-       CrateNum crate_num = mappings->get_current_crate ();
-       bool ok = mappings->crate_num_to_nodeid (crate_num, resolved_crate);
+       CrateNum crate_num = mappings.get_current_crate ();
+       bool ok = mappings.crate_num_to_nodeid (crate_num, resolved_crate);
        rust_assert (ok);
       }
     else
       {
        CrateNum found_crate_num = UNKNOWN_CRATENUM;
        bool found
-         = mappings->lookup_crate_name (extern_crate.get_referenced_crate (),
-                                        found_crate_num);
+         = mappings.lookup_crate_name (extern_crate.get_referenced_crate (),
+                                       found_crate_num);
        if (!found)
          {
            rust_error_at (extern_crate.get_locus (), "unknown crate %qs",
@@ -446,7 +446,7 @@ public:
          }
 
        bool ok
-         = mappings->crate_num_to_nodeid (found_crate_num, resolved_crate);
+         = mappings.crate_num_to_nodeid (found_crate_num, resolved_crate);
        if (!ok)
          {
            rust_internal_error_at (extern_crate.get_locus (),
index 5282f4fa96a0ec959d09e50e180b441e70a68883..1d7bcc997ac4ce072f5e7c45e365357dea2a555a 100644 (file)
@@ -84,7 +84,7 @@ bool
 ResolveRelativeTypePath::go (AST::TypePath &path, NodeId &resolved_node_id)
 {
   auto resolver = Resolver::get ();
-  auto mappings = Analysis::Mappings::get ();
+  auto &mappings = Analysis::Mappings::get ();
 
   NodeId module_scope_id = resolver->peek_current_module_scope ();
   NodeId previous_resolved_node_id = module_scope_id;
@@ -199,8 +199,8 @@ ResolveRelativeTypePath::go (AST::TypePath &path, NodeId &resolved_node_id)
          && previous_resolved_node_id == module_scope_id)
        {
          tl::optional<CanonicalPath &> resolved_child
-           = mappings->lookup_module_child (module_scope_id,
-                                            ident_seg.as_string ());
+           = mappings.lookup_module_child (module_scope_id,
+                                           ident_seg.as_string ());
          if (resolved_child.has_value ())
            {
              NodeId resolved_node = resolved_child->get_node_id ();
@@ -231,8 +231,8 @@ ResolveRelativeTypePath::go (AST::TypePath &path, NodeId &resolved_node_id)
       bool did_resolve_segment = resolved_node_id != UNKNOWN_NODEID;
       if (did_resolve_segment)
        {
-         if (mappings->node_is_module (resolved_node_id)
-             || mappings->node_is_crate (resolved_node_id))
+         if (mappings.node_is_module (resolved_node_id)
+             || mappings.node_is_crate (resolved_node_id))
            {
              module_scope_id = resolved_node_id;
            }
@@ -377,7 +377,7 @@ ResolveTypeToCanonicalPath::visit (AST::TypePath &path)
     return;
 
   const CanonicalPath *type_path = nullptr;
-  if (mappings->lookup_canonical_path (resolved_node, &type_path))
+  if (mappings.lookup_canonical_path (resolved_node, &type_path))
     {
       auto &final_seg = path.get_segments ().back ();
       switch (final_seg->get_type ())
index 10e6489fcd00977829b00a8a636eeb72520ea8b7..0076424ef51d8874ff20a48537442265f9188817 100644 (file)
@@ -184,7 +184,7 @@ public:
        rust_error_at (locus, "was defined here");
       });
 
-    mappings->insert_canonical_path (param.get_node_id (), seg);
+    mappings.insert_canonical_path (param.get_node_id (), seg);
   }
 
 private:
index a2e88a316ec3837d6e90d8cb108a927cbe4d303c..bb8bcc4c23930e56950395e72d95292b743c62f1 100644 (file)
@@ -46,7 +46,7 @@ NameResolution::NameResolution ()
   : resolver (Resolver::get ()), mappings (Analysis::Mappings::get ())
 {
   // these are global
-  resolver->get_type_scope ().push (mappings->get_next_node_id ());
+  resolver->get_type_scope ().push (mappings.get_next_node_id ());
   resolver->insert_builtin_types (resolver->get_type_scope ().peek ());
   resolver->push_new_type_rib (resolver->get_type_scope ().peek ());
 }
@@ -62,9 +62,9 @@ void
 NameResolution::go (AST::Crate &crate)
 {
   // lookup current crate name
-  CrateNum cnum = mappings->get_current_crate ();
+  CrateNum cnum = mappings.get_current_crate ();
   std::string crate_name;
-  bool ok = mappings->get_crate_name (cnum, crate_name);
+  bool ok = mappings.get_crate_name (cnum, crate_name);
   rust_assert (ok);
 
   // setup the ribs
index a3a1872ea9ad53216aeada0cb3ac1c2b5e5e0e57..a4ad71884966e06655787b53ba6eb162102068f5 100644 (file)
@@ -40,7 +40,7 @@ private:
   NameResolution ();
 
   Resolver *resolver;
-  Analysis::Mappings *mappings;
+  Analysis::Mappings &mappings;
 };
 
 } // namespace Resolver
index ef59199244105c02f78529920fc710888abc06f4..a79ffd86ef3acdd1877a8d85365d780be5a4270f 100644 (file)
@@ -175,25 +175,25 @@ Early::visit (AST::MacroInvocation &invoc)
 
   // now do we need to keep mappings or something? or insert "uses" into our
   // ForeverStack? can we do that? are mappings simpler?
-  auto mappings = Analysis::Mappings::get ();
+  auto &mappings = Analysis::Mappings::get ();
   AST::MacroRulesDefinition *rules_def = nullptr;
-  if (!mappings->lookup_macro_def (definition->get_node_id (), &rules_def))
+  if (!mappings.lookup_macro_def (definition->get_node_id (), &rules_def))
     {
       // Macro definition not found, maybe it is not expanded yet.
       return;
     }
 
   AST::MacroRulesDefinition *tmp_def = nullptr;
-  if (mappings->lookup_macro_invocation (invoc, &tmp_def))
+  if (mappings.lookup_macro_invocation (invoc, &tmp_def))
     return;
 
-  mappings->insert_macro_invocation (invoc, rules_def);
+  mappings.insert_macro_invocation (invoc, rules_def);
 }
 
 void
 Early::visit_attributes (std::vector<AST::Attribute> &attrs)
 {
-  auto mappings = Analysis::Mappings::get ();
+  auto &mappings = Analysis::Mappings::get ();
 
   for (auto &attr : attrs)
     {
@@ -214,13 +214,13 @@ Early::visit_attributes (std::vector<AST::Attribute> &attrs)
                  continue;
                }
 
-             auto pm_def = mappings->lookup_derive_proc_macro_def (
+             auto pm_def = mappings.lookup_derive_proc_macro_def (
                definition->get_node_id ());
 
              rust_assert (pm_def.has_value ());
 
-             mappings->insert_derive_proc_macro_invocation (trait,
-                                                            pm_def.value ());
+             mappings.insert_derive_proc_macro_invocation (trait,
+                                                           pm_def.value ());
            }
        }
       else if (Analysis::BuiltinAttributeMappings::get ()
@@ -236,13 +236,13 @@ Early::visit_attributes (std::vector<AST::Attribute> &attrs)
                             "could not resolve attribute macro invocation");
              return;
            }
-         auto pm_def = mappings->lookup_attribute_proc_macro_def (
+         auto pm_def = mappings.lookup_attribute_proc_macro_def (
            definition->get_node_id ());
 
          rust_assert (pm_def.has_value ());
 
-         mappings->insert_attribute_proc_macro_invocation (attr.get_path (),
-                                                           pm_def.value ());
+         mappings.insert_attribute_proc_macro_invocation (attr.get_path (),
+                                                          pm_def.value ());
        }
     }
 }
index 1bb765b5cc0bbd9e31f554a219047037ba294053..e93cd0a095706336220040dedc77584d918e3371 100644 (file)
@@ -74,7 +74,7 @@ EarlyNameResolver::accumulate_escaped_macros (AST::Module &module)
 
 EarlyNameResolver::EarlyNameResolver ()
   : current_scope (UNKNOWN_NODEID), resolver (*Resolver::get ()),
-    mappings (*Analysis::Mappings::get ())
+    mappings (Analysis::Mappings::get ())
 {}
 
 void
index baedd3dc8bb4b3c602a15eb7328fba725904770c..9ac09456fbd0eb47e90f9a0343270e0b5ab9f49a 100644 (file)
@@ -34,13 +34,13 @@ Late::Late (NameResolutionContext &ctx) : DefaultResolver (ctx) {}
 static NodeId
 next_node_id ()
 {
-  return Analysis::Mappings::get ()->get_next_node_id ();
+  return Analysis::Mappings::get ().get_next_node_id ();
 };
 
 static HirId
 next_hir_id ()
 {
-  return Analysis::Mappings::get ()->get_next_hir_id ();
+  return Analysis::Mappings::get ().get_next_hir_id ();
 };
 
 void
index b4ba63cb1c9417b2b9a73ee69e009a074f800276..d964684e4c21f0782a4cc62f0f00c235331a241f 100644 (file)
@@ -24,7 +24,7 @@ namespace Rust {
 namespace Resolver2_0 {
 
 NameResolutionContext::NameResolutionContext ()
-  : mappings (*Analysis::Mappings::get ())
+  : mappings (Analysis::Mappings::get ())
 {}
 
 tl::expected<NodeId, DuplicateNameError>
index 6dcf2c4a2fe7f31f7a3fa8655bd3b67deb3cd347..ee52e5cc3d107fdb7ac5638fab858e0e1406b5b1 100644 (file)
@@ -274,10 +274,10 @@ Scope::decl_was_declared_here (NodeId def) const
 
 Resolver::Resolver ()
   : mappings (Analysis::Mappings::get ()), tyctx (TypeCheckContext::get ()),
-    name_scope (Scope (mappings->get_current_crate ())),
-    type_scope (Scope (mappings->get_current_crate ())),
-    label_scope (Scope (mappings->get_current_crate ())),
-    macro_scope (Scope (mappings->get_current_crate ())),
+    name_scope (Scope (mappings.get_current_crate ())),
+    type_scope (Scope (mappings.get_current_crate ())),
+    label_scope (Scope (mappings.get_current_crate ())),
+    macro_scope (Scope (mappings.get_current_crate ())),
     global_type_node_id (UNKNOWN_NODEID), unit_ty_node_id (UNKNOWN_NODEID)
 {
   generate_builtins ();
@@ -383,34 +383,34 @@ void
 Resolver::generate_builtins ()
 {
   auto u8
-    = new TyTy::UintType (mappings->get_next_hir_id (), TyTy::UintType::U8);
+    = new TyTy::UintType (mappings.get_next_hir_id (), TyTy::UintType::U8);
   auto u16
-    = new TyTy::UintType (mappings->get_next_hir_id (), TyTy::UintType::U16);
+    = new TyTy::UintType (mappings.get_next_hir_id (), TyTy::UintType::U16);
   auto u32
-    = new TyTy::UintType (mappings->get_next_hir_id (), TyTy::UintType::U32);
+    = new TyTy::UintType (mappings.get_next_hir_id (), TyTy::UintType::U32);
   auto u64
-    = new TyTy::UintType (mappings->get_next_hir_id (), TyTy::UintType::U64);
+    = new TyTy::UintType (mappings.get_next_hir_id (), TyTy::UintType::U64);
   auto u128
-    = new TyTy::UintType (mappings->get_next_hir_id (), TyTy::UintType::U128);
-  auto i8 = new TyTy::IntType (mappings->get_next_hir_id (), TyTy::IntType::I8);
+    = new TyTy::UintType (mappings.get_next_hir_id (), TyTy::UintType::U128);
+  auto i8 = new TyTy::IntType (mappings.get_next_hir_id (), TyTy::IntType::I8);
   auto i16
-    = new TyTy::IntType (mappings->get_next_hir_id (), TyTy::IntType::I16);
+    = new TyTy::IntType (mappings.get_next_hir_id (), TyTy::IntType::I16);
   auto i32
-    = new TyTy::IntType (mappings->get_next_hir_id (), TyTy::IntType::I32);
+    = new TyTy::IntType (mappings.get_next_hir_id (), TyTy::IntType::I32);
   auto i64
-    = new TyTy::IntType (mappings->get_next_hir_id (), TyTy::IntType::I64);
+    = new TyTy::IntType (mappings.get_next_hir_id (), TyTy::IntType::I64);
   auto i128
-    = new TyTy::IntType (mappings->get_next_hir_id (), TyTy::IntType::I128);
-  auto rbool = new TyTy::BoolType (mappings->get_next_hir_id ());
+    = new TyTy::IntType (mappings.get_next_hir_id (), TyTy::IntType::I128);
+  auto rbool = new TyTy::BoolType (mappings.get_next_hir_id ());
   auto f32
-    = new TyTy::FloatType (mappings->get_next_hir_id (), TyTy::FloatType::F32);
+    = new TyTy::FloatType (mappings.get_next_hir_id (), TyTy::FloatType::F32);
   auto f64
-    = new TyTy::FloatType (mappings->get_next_hir_id (), TyTy::FloatType::F64);
-  auto usize = new TyTy::USizeType (mappings->get_next_hir_id ());
-  auto isize = new TyTy::ISizeType (mappings->get_next_hir_id ());
-  auto char_tyty = new TyTy::CharType (mappings->get_next_hir_id ());
-  auto str = new TyTy::StrType (mappings->get_next_hir_id ());
-  auto never = new TyTy::NeverType (mappings->get_next_hir_id ());
+    = new TyTy::FloatType (mappings.get_next_hir_id (), TyTy::FloatType::F64);
+  auto usize = new TyTy::USizeType (mappings.get_next_hir_id ());
+  auto isize = new TyTy::ISizeType (mappings.get_next_hir_id ());
+  auto char_tyty = new TyTy::CharType (mappings.get_next_hir_id ());
+  auto str = new TyTy::StrType (mappings.get_next_hir_id ());
+  auto never = new TyTy::NeverType (mappings.get_next_hir_id ());
 
   setup_builtin ("u8", u8);
   setup_builtin ("u16", u16);
@@ -433,7 +433,7 @@ Resolver::generate_builtins ()
 
   // unit type ()
   TyTy::TupleType *unit_tyty
-    = TyTy::TupleType::get_unit_type (mappings->get_next_hir_id ());
+    = TyTy::TupleType::get_unit_type (mappings.get_next_hir_id ());
   std::vector<std::unique_ptr<AST::Type> > elems;
   AST::TupleType *unit_type
     = new AST::TupleType (std::move (elems), BUILTINS_LOCATION);
@@ -455,8 +455,8 @@ Resolver::setup_builtin (const std::string &name, TyTy::BaseType *tyty)
     = new AST::TypePath (::std::move (segs), BUILTINS_LOCATION, false);
   builtins.push_back (builtin_type);
   tyctx->insert_builtin (tyty->get_ref (), builtin_type->get_node_id (), tyty);
-  mappings->insert_node_to_hir (builtin_type->get_node_id (), tyty->get_ref ());
-  mappings->insert_canonical_path (
+  mappings.insert_node_to_hir (builtin_type->get_node_id (), tyty->get_ref ());
+  mappings.insert_canonical_path (
     builtin_type->get_node_id (),
     CanonicalPath::new_seg (builtin_type->get_node_id (), name));
 }
index 45c3ef96a2b82cbefd7b686e89d76a2a0e07d4d2..c34002eb18e9a80ad5fd9cf19849c34be1a90f43 100644 (file)
@@ -210,7 +210,7 @@ private:
   void generate_builtins ();
   void setup_builtin (const std::string &name, TyTy::BaseType *tyty);
 
-  Analysis::Mappings *mappings;
+  Analysis::Mappings &mappings;
   TypeCheckContext *tyctx;
 
   std::vector<AST::Type *> builtins;
index 33f205d21fc4f1955deb0a261b58d806116773a5..281d4752fe14ba4658afffc12718208d39876359 100644 (file)
@@ -182,9 +182,9 @@ TopLevel::visit (AST::Module &module)
   ctx.scoped (Rib::Kind::Module, module.get_node_id (), sub_visitor,
              module.get_name ());
 
-  if (Analysis::Mappings::get ()->lookup_ast_module (module.get_node_id ())
+  if (Analysis::Mappings::get ().lookup_ast_module (module.get_node_id ())
       == tl::nullopt)
-    Analysis::Mappings::get ()->insert_ast_module (&module);
+    Analysis::Mappings::get ().insert_ast_module (&module);
 }
 
 void
@@ -230,17 +230,15 @@ insert_macros (std::vector<PROC_MACRO> &macros, NameResolutionContext &ctx)
 void
 TopLevel::visit (AST::ExternCrate &crate)
 {
+  auto &mappings = Analysis::Mappings::get ();
   CrateNum num;
-  rust_assert (Analysis::Mappings::get ()->lookup_crate_name (
-    crate.get_referenced_crate (), num));
+  rust_assert (mappings.lookup_crate_name (crate.get_referenced_crate (), num));
 
-  auto attribute_macros
-    = Analysis::Mappings::get ()->lookup_attribute_proc_macros (num);
+  auto attribute_macros = mappings.lookup_attribute_proc_macros (num);
 
-  auto bang_macros = Analysis::Mappings::get ()->lookup_bang_proc_macros (num);
+  auto bang_macros = mappings.lookup_bang_proc_macros (num);
 
-  auto derive_macros
-    = Analysis::Mappings::get ()->lookup_derive_proc_macros (num);
+  auto derive_macros = mappings.lookup_derive_proc_macros (num);
 
   auto sub_visitor = [&] () {
     // TODO: Find a way to keep this part clean without the double dispatch.
@@ -248,19 +246,19 @@ TopLevel::visit (AST::ExternCrate &crate)
       {
        insert_macros (derive_macros.value (), ctx);
        for (auto &macro : derive_macros.value ())
-         Analysis::Mappings::get ()->insert_derive_proc_macro_def (macro);
+         mappings.insert_derive_proc_macro_def (macro);
       }
     if (attribute_macros.has_value ())
       {
        insert_macros (attribute_macros.value (), ctx);
        for (auto &macro : attribute_macros.value ())
-         Analysis::Mappings::get ()->insert_attribute_proc_macro_def (macro);
+         mappings.insert_attribute_proc_macro_def (macro);
       }
     if (bang_macros.has_value ())
       {
        insert_macros (bang_macros.value (), ctx);
        for (auto &macro : bang_macros.value ())
-         Analysis::Mappings::get ()->insert_bang_proc_macro_def (macro);
+         mappings.insert_bang_proc_macro_def (macro);
       }
   };
 
@@ -309,12 +307,12 @@ TopLevel::visit (AST::MacroRulesDefinition &macro)
   if (macro.get_kind () == AST::MacroRulesDefinition::MacroKind::DeclMacro)
     insert_or_error_out (macro.get_rule_name (), macro, Namespace::Macros);
 
-  auto mappings = Analysis::Mappings::get ();
+  auto &mappings = Analysis::Mappings::get ();
   AST::MacroRulesDefinition *tmp = nullptr;
-  if (mappings->lookup_macro_def (macro.get_node_id (), &tmp))
+  if (mappings.lookup_macro_def (macro.get_node_id (), &tmp))
     return;
 
-  mappings->insert_macro_def (&macro);
+  mappings.insert_macro_def (&macro);
 }
 
 void
@@ -442,7 +440,7 @@ TopLevel::handle_use_glob (AST::SimplePath &glob)
     return false;
 
   auto result
-    = Analysis::Mappings::get ()->lookup_ast_module (resolved->get_node_id ());
+    = Analysis::Mappings::get ().lookup_ast_module (resolved->get_node_id ());
 
   if (!result.has_value ())
     return false;
index 4d8c26387e1526fc5daff6e156e3ff2add903f1b..0dd17b2b43a91a554d391620c10dfa09c2a89609 100644 (file)
@@ -85,7 +85,7 @@ const size_t kMaxNameLength = 64;
 Session &
 Session::get_instance ()
 {
-  static Session instance;
+  static Session instance{};
   return instance;
 }
 
@@ -409,8 +409,8 @@ Session::handle_input_files (int num_files, const char **files)
       options.set_crate_name (crate_name);
     }
 
-  CrateNum crate_num = mappings->get_next_crate_num (options.get_crate_name ());
-  mappings->set_current_crate (crate_num);
+  CrateNum crate_num = mappings.get_next_crate_num (options.get_crate_name ());
+  mappings.set_current_crate (crate_num);
 
   rust_debug ("Attempting to parse file: %s", file);
   compile_crate (file);
@@ -419,7 +419,7 @@ Session::handle_input_files (int num_files, const char **files)
 void
 Session::handle_crate_name (const AST::Crate &parsed_crate)
 {
-  auto mappings = Analysis::Mappings::get ();
+  auto &mappings = Analysis::Mappings::get ();
   auto crate_name_changed = false;
   auto error = Error (UNDEF_LOCATION, std::string ());
 
@@ -454,7 +454,7 @@ Session::handle_crate_name (const AST::Crate &parsed_crate)
        }
       crate_name_changed = true;
       options.set_crate_name (msg_str);
-      mappings->set_crate_name (mappings->get_current_crate (), msg_str);
+      mappings.set_crate_name (mappings.get_current_crate (), msg_str);
     }
 
   options.crate_name_set_manually |= crate_name_changed;
@@ -549,9 +549,9 @@ Session::compile_crate (const char *filename)
     return;
 
   // setup the mappings for this AST
-  CrateNum current_crate = mappings->get_current_crate ();
+  CrateNum current_crate = mappings.get_current_crate ();
   AST::Crate &parsed_crate
-    = mappings->insert_ast_crate (std::move (ast_crate), current_crate);
+    = mappings.insert_ast_crate (std::move (ast_crate), current_crate);
 
   /* basic pipeline:
    *  - lex
@@ -647,7 +647,7 @@ Session::compile_crate (const char *filename)
     return;
 
   // add the mappings to it
-  HIR::Crate &hir = mappings->insert_hir_crate (std::move (lowered));
+  HIR::Crate &hir = mappings.insert_hir_crate (std::move (lowered));
   if (options.dump_option_enabled (CompileOptions::HIR_DUMP))
     {
       dump_hir (hir);
@@ -1049,12 +1049,12 @@ Session::load_extern_crate (const std::string &crate_name, location_t locus)
 {
   // has it already been loaded?
   CrateNum found_crate_num = UNKNOWN_CRATENUM;
-  bool found = mappings->lookup_crate_name (crate_name, found_crate_num);
+  bool found = mappings.lookup_crate_name (crate_name, found_crate_num);
   if (found)
     {
       NodeId resolved_node_id = UNKNOWN_NODEID;
       bool resolved
-       = mappings->crate_num_to_nodeid (found_crate_num, resolved_node_id);
+       = mappings.crate_num_to_nodeid (found_crate_num, resolved_node_id);
       rust_assert (resolved);
 
       return resolved_node_id;
@@ -1107,7 +1107,7 @@ 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 = mappings.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",
@@ -1116,10 +1116,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 = mappings.get_current_crate ();
   CrateNum crate_num
-    = mappings->get_next_crate_num (extern_crate.get_crate_name ());
-  mappings->set_current_crate (crate_num);
+    = mappings.get_next_crate_num (extern_crate.get_crate_name ());
+  mappings.set_current_crate (crate_num);
 
   // then lets parse this as a 2nd crate
   Lexer lex (extern_crate.get_metadata (), linemap);
@@ -1127,7 +1127,7 @@ Session::load_extern_crate (const std::string &crate_name, location_t locus)
   std::unique_ptr<AST::Crate> metadata_crate = parser.parse_crate ();
 
   AST::Crate &parsed_crate
-    = mappings->insert_ast_crate (std::move (metadata_crate), crate_num);
+    = mappings.insert_ast_crate (std::move (metadata_crate), crate_num);
 
   std::vector<AttributeProcMacro> attribute_macros;
   std::vector<CustomDeriveProcMacro> derive_macros;
@@ -1151,9 +1151,9 @@ Session::load_extern_crate (const std::string &crate_name, location_t locus)
        }
     }
 
-  mappings->insert_attribute_proc_macros (crate_num, attribute_macros);
-  mappings->insert_bang_proc_macros (crate_num, bang_macros);
-  mappings->insert_derive_proc_macros (crate_num, derive_macros);
+  mappings.insert_attribute_proc_macros (crate_num, attribute_macros);
+  mappings.insert_bang_proc_macros (crate_num, bang_macros);
+  mappings.insert_derive_proc_macros (crate_num, derive_macros);
 
   // name resolve it
   Resolver::NameResolution::Resolve (parsed_crate);
@@ -1161,13 +1161,13 @@ Session::load_extern_crate (const std::string &crate_name, location_t locus)
   // perform hir lowering
   std::unique_ptr<HIR::Crate> lowered
     = HIR::ASTLowering::Resolve (parsed_crate);
-  HIR::Crate &hir = mappings->insert_hir_crate (std::move (lowered));
+  HIR::Crate &hir = mappings.insert_hir_crate (std::move (lowered));
 
   // perform type resolution
   Resolver::TypeResolution::Resolve (hir);
 
   // always restore the crate_num
-  mappings->set_current_crate (saved_crate_num);
+  mappings.set_current_crate (saved_crate_num);
 
   return parsed_crate.get_node_id ();
 }
index a52f2e197b6e8e90fc723c619f8973ca40dd754e..b5a715ca4d6ed302f29422cae9bf87ffb324d55a 100644 (file)
@@ -354,13 +354,12 @@ struct Session
   Linemap *linemap;
 
   // mappings
-  Analysis::Mappings *mappings;
+  Analysis::Mappings &mappings;
 
 public:
   /* Get a reference to the static session instance */
   static Session &get_instance ();
 
-  Session () = default;
   ~Session () = default;
 
   /* This initializes the compiler session. Corresponds to langhook
@@ -391,6 +390,7 @@ public:
   NodeId load_extern_crate (const std::string &crate_name, location_t locus);
 
 private:
+  Session () : mappings (Analysis::Mappings::get ()) {}
   void compile_crate (const char *filename);
   bool enable_dump (std::string arg);
 
index c302bb9b3fb68c1ce6297e8fde8e33d0f18b6b40..233d5d459d12659754d4ec12b9ad13e7a589c79e 100644 (file)
@@ -104,14 +104,14 @@ Adjuster::try_unsize_type (TyTy::BaseType *ty)
   if (!is_valid_type)
     return Adjustment::get_error ();
 
-  auto mappings = Analysis::Mappings::get ();
+  auto &mappings = Analysis::Mappings::get ();
   auto context = TypeCheckContext::get ();
 
   const auto ref_base = static_cast<const TyTy::ArrayType *> (ty);
   auto slice_elem = ref_base->get_element_type ();
 
   auto slice
-    = new TyTy::SliceType (mappings->get_next_hir_id (), ty->get_ident ().locus,
+    = new TyTy::SliceType (mappings.get_next_hir_id (), ty->get_ident ().locus,
                           TyTy::TyVar (slice_elem->get_ref ()));
   context->insert_implicit_type (slice);
 
@@ -125,13 +125,13 @@ resolve_operator_overload_fn (
   Adjustment::AdjustmentType *requires_ref_adjustment)
 {
   auto context = TypeCheckContext::get ();
-  auto mappings = Analysis::Mappings::get ();
+  auto &mappings = Analysis::Mappings::get ();
 
   // look up lang item for arithmetic type
   std::string associated_item_name = LangItem::ToString (lang_item_type);
   DefId respective_lang_item_id = UNKNOWN_DEFID;
   bool lang_item_defined
-    = mappings->lookup_lang_item (lang_item_type, &respective_lang_item_id);
+    = mappings.lookup_lang_item (lang_item_type, &respective_lang_item_id);
 
   if (!lang_item_defined)
     return false;
@@ -293,7 +293,7 @@ resolve_operator_overload_fn (
          rust_assert (lookup->get_kind () == TyTy::TypeKind::FNDEF);
          fn = static_cast<TyTy::FnType *> (lookup);
 
-         location_t unify_locus = mappings->lookup_location (lhs->get_ref ());
+         location_t unify_locus = mappings.lookup_location (lhs->get_ref ());
          unify_site (lhs->get_ref (),
                      TyTy::TyWithLocation (fn->get_self_type ()),
                      TyTy::TyWithLocation (adjusted_self), unify_locus);
index dff1a04cf40bbaef611414637e2c538b2a8aaa2d..5905992426c234517c1c2118dadf9c238f2e60ef 100644 (file)
@@ -74,7 +74,7 @@ TypeCoercionRules::do_coercion (TyTy::BaseType *receiver)
       // here, we would coerce from `!` to `?T`.
       if (expected->has_substitutions_defined () && !expected->is_concrete ())
        {
-         location_t locus = mappings->lookup_location (receiver->get_ref ());
+         location_t locus = mappings.lookup_location (receiver->get_ref ());
          TyTy::TyVar implicit_var
            = TyTy::TyVar::get_implicit_infer_var (locus);
          try_result = CoercionResult{{}, implicit_var.get_tyty ()};
@@ -116,8 +116,8 @@ TypeCoercionRules::do_coercion (TyTy::BaseType *receiver)
     }
   else if (unsafe_error)
     {
-      // location_t lhs = mappings->lookup_location (receiver->get_ref ());
-      // location_t rhs = mappings->lookup_location (expected->get_ref ());
+      // location_t lhs = mappings.lookup_location (receiver->get_ref ());
+      // location_t rhs = mappings.lookup_location (expected->get_ref ());
       // object_unsafe_error (locus, lhs, rhs);
       return false;
     }
@@ -215,8 +215,8 @@ TypeCoercionRules::coerce_unsafe_ptr (TyTy::BaseType *receiver,
 
   if (!coerceable_mutability (from_mutbl, to_mutbl))
     {
-      location_t lhs = mappings->lookup_location (receiver->get_ref ());
-      location_t rhs = mappings->lookup_location (expected->get_ref ());
+      location_t lhs = mappings.lookup_location (receiver->get_ref ());
+      location_t rhs = mappings.lookup_location (expected->get_ref ());
       mismatched_mutability_error (locus, lhs, rhs);
       return TypeCoercionRules::CoercionResult::get_error ();
     }
@@ -294,8 +294,8 @@ TypeCoercionRules::coerce_borrowed_pointer (TyTy::BaseType *receiver,
 
   if (!coerceable_mutability (from_mutbl, to_mutbl))
     {
-      location_t lhs = mappings->lookup_location (receiver->get_ref ());
-      location_t rhs = mappings->lookup_location (expected->get_ref ());
+      location_t lhs = mappings.lookup_location (receiver->get_ref ());
+      location_t rhs = mappings.lookup_location (expected->get_ref ());
       mismatched_mutability_error (locus, lhs, rhs);
       return TypeCoercionRules::CoercionResult::get_error ();
     }
@@ -339,8 +339,8 @@ TypeCoercionRules::coerce_unsized (TyTy::BaseType *source,
       if (!coerceable_mutability (from_mutbl, to_mutbl))
        {
          unsafe_error = true;
-         location_t lhs = mappings->lookup_location (source->get_ref ());
-         location_t rhs = mappings->lookup_location (target->get_ref ());
+         location_t lhs = mappings.lookup_location (source->get_ref ());
+         location_t rhs = mappings.lookup_location (target->get_ref ());
          mismatched_mutability_error (locus, lhs, rhs);
          return TypeCoercionRules::CoercionResult::get_error ();
        }
@@ -364,8 +364,8 @@ TypeCoercionRules::coerce_unsized (TyTy::BaseType *source,
       if (!coerceable_mutability (from_mutbl, to_mutbl))
        {
          unsafe_error = true;
-         location_t lhs = mappings->lookup_location (source->get_ref ());
-         location_t rhs = mappings->lookup_location (target->get_ref ());
+         location_t lhs = mappings.lookup_location (source->get_ref ());
+         location_t rhs = mappings.lookup_location (target->get_ref ());
          mismatched_mutability_error (locus, lhs, rhs);
          return TypeCoercionRules::CoercionResult::get_error ();
        }
index 780fafd3baa80f8c16d959cca482a5f268e66dd6..b268966bff6bddda4787756eed9ab26959839dcf 100644 (file)
@@ -81,7 +81,7 @@ protected:
 
 private:
   // context info
-  Analysis::Mappings *mappings;
+  Analysis::Mappings &mappings;
   TypeCheckContext *context;
 
   // search
index 93b35f872615db7e74d32f0dca0b2dbd394b5c31..8e5473f2f2e3b2afdee050b53b75bd641d9126e9 100644 (file)
@@ -122,7 +122,7 @@ MethodResolver::select (TyTy::BaseType &receiver)
 
   // assemble inherent impl items
   std::vector<impl_item_candidate> inherent_impl_fns;
-  mappings->iterate_impl_items (
+  mappings.iterate_impl_items (
     [&] (HirId id, HIR::ImplItem *item, HIR::ImplBlock *impl) mutable -> bool {
       bool is_trait_impl = impl->has_trait_ref ();
       if (is_trait_impl)
@@ -200,7 +200,7 @@ MethodResolver::select (TyTy::BaseType &receiver)
   };
 
   std::vector<trait_item_candidate> trait_fns;
-  mappings->iterate_impl_blocks (
+  mappings.iterate_impl_blocks (
     [&] (HirId id, HIR::ImplBlock *impl) mutable -> bool {
       bool is_trait_impl = impl->has_trait_ref ();
       if (!is_trait_impl)
index 60f8345c9a5190c6c4ba9c453c118bba75ec6b3d..5cef1c268a48f9858f874b738ae9b914afec297c 100644 (file)
@@ -33,7 +33,7 @@ public:
     OverlappingImplItemPass pass;
 
     // generate mappings
-    pass.mappings->iterate_impl_items (
+    pass.mappings.iterate_impl_items (
       [&] (HirId id, HIR::ImplItem *impl_item, HIR::ImplBlock *impl) -> bool {
        // ignoring trait-impls might need thought later on
        if (impl->has_trait_ref ())
index 9a8b60d4a354a1422e83875f5459c372aba6d6d2..196cc825e0a03c0b054ea5d177a0d791cabdee16 100644 (file)
@@ -277,7 +277,7 @@ PathProbeType::process_enum_item_for_candiates (const TyTy::ADTType *adt)
   PathProbeCandidate::EnumItemCandidate enum_item_candidate{adt, v};
   PathProbeCandidate candidate{PathProbeCandidate::CandidateType::ENUM_VARIANT,
                               receiver->clone (),
-                              mappings->lookup_location (adt->get_ty_ref ()),
+                              mappings.lookup_location (adt->get_ty_ref ()),
                               enum_item_candidate};
   candidates.insert (std::move (candidate));
 }
@@ -285,7 +285,7 @@ PathProbeType::process_enum_item_for_candiates (const TyTy::ADTType *adt)
 void
 PathProbeType::process_impl_items_for_candidates ()
 {
-  mappings->iterate_impl_items (
+  mappings.iterate_impl_items (
     [&] (HirId id, HIR::ImplItem *item, HIR::ImplBlock *impl) mutable -> bool {
       process_impl_item_candidate (id, item, impl);
       return true;
@@ -465,7 +465,7 @@ PathProbeImplTrait::Probe (const TyTy::BaseType *receiver,
 void
 PathProbeImplTrait::process_trait_impl_items_for_candidates ()
 {
-  mappings->iterate_impl_items (
+  mappings.iterate_impl_items (
     [&] (HirId id, HIR::ImplItem *item, HIR::ImplBlock *impl) mutable -> bool {
       // just need to check if this is an impl block for this trait the next
       // function checks the receiver
index 12d55921bce73725c7db25ae38ee9c75fffa3ece..d3e3167efa41406491d90d93d35c10aa58cf37bb 100644 (file)
@@ -118,13 +118,13 @@ TraitResolver::resolve_path_to_trait (const HIR::TypePath &path,
     }
 
   HirId hir_node = UNKNOWN_HIRID;
-  if (!mappings->lookup_node_to_hir (ref, &hir_node))
+  if (!mappings.lookup_node_to_hir (ref, &hir_node))
     {
       rust_error_at (path.get_locus (), "Failed to resolve path to hir-id");
       return false;
     }
 
-  HIR::Item *resolved_item = mappings->lookup_hir_item (hir_node);
+  HIR::Item *resolved_item = mappings.lookup_hir_item (hir_node);
   rust_assert (resolved_item != nullptr);
   rust_assert (resolved_item->get_item_kind () == HIR::Item::ItemKind::Trait);
   *resolved = static_cast<HIR::Trait *> (resolved_item);
@@ -665,10 +665,10 @@ AssociatedImplTrait::reset_associated_types ()
 Analysis::NodeMapping
 TraitItemReference::get_parent_trait_mappings () const
 {
-  auto mappings = Analysis::Mappings::get ();
+  auto &mappings = Analysis::Mappings::get ();
 
   HIR::Trait *trait
-    = mappings->lookup_trait_item_mapping (get_mappings ().get_hirid ());
+    = mappings.lookup_trait_item_mapping (get_mappings ().get_hirid ());
   rust_assert (trait != nullptr);
 
   return trait->get_mappings ();
index d65447b5ffde6e5507bd1f1702ea3bca348f9bbe..7e57698a068bc96e65cb0939771eeebce48b55dd 100644 (file)
@@ -238,9 +238,9 @@ 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.get_current_crate ();
        Analysis::NodeMapping capacity_mapping (crate_num, UNKNOWN_NODEID,
-                                               mappings->get_next_hir_id (
+                                               mappings.get_next_hir_id (
                                                  crate_num),
                                                UNKNOWN_LOCAL_DEFID);
 
@@ -260,7 +260,7 @@ TypeCheckBase::resolve_literal (const Analysis::NodeMapping &expr_mappings,
        context->insert_type (capacity_mapping, expected_ty);
 
        Analysis::NodeMapping array_mapping (crate_num, UNKNOWN_NODEID,
-                                            mappings->get_next_hir_id (
+                                            mappings.get_next_hir_id (
                                               crate_num),
                                             UNKNOWN_LOCAL_DEFID);
 
@@ -413,8 +413,8 @@ TypeCheckBase::resolve_generic_params (
 TyTy::TypeBoundPredicate
 TypeCheckBase::get_marker_predicate (LangItem::Kind item_type, location_t locus)
 {
-  DefId item_id = mappings->get_lang_item (item_type, locus);
-  HIR::Item *item = mappings->lookup_defid (item_id);
+  DefId item_id = mappings.get_lang_item (item_type, locus);
+  HIR::Item *item = mappings.lookup_defid (item_id);
   rust_assert (item != nullptr);
   rust_assert (item->get_item_kind () == HIR::Item::ItemKind::Trait);
 
index d59712ca050d9cd8060bb2cb7dafe7575908e441..0bc29053a867399dcd5b22736687116064cb1121 100644 (file)
@@ -61,7 +61,7 @@ protected:
   TyTy::TypeBoundPredicate get_marker_predicate (LangItem::Kind item_type,
                                                 location_t locus);
 
-  Analysis::Mappings *mappings;
+  Analysis::Mappings &mappings;
   Resolver *resolver;
   TypeCheckContext *context;
 };
index 736e65517d6296f77e73e1c10c82da59e812939c..7bade03e64aeabfb8852da4008227b3a64b0bd4a 100644 (file)
@@ -61,7 +61,7 @@ TypeCheckEnumItem::visit (HIR::EnumItem &item)
 
   Analysis::NodeMapping mapping (item.get_mappings ().get_crate_num (),
                                 item.get_mappings ().get_nodeid (),
-                                mappings->get_next_hir_id (
+                                mappings.get_next_hir_id (
                                   item.get_mappings ().get_crate_num ()),
                                 item.get_mappings ().get_local_defid ());
   HIR::LiteralExpr *discim_expr
@@ -76,8 +76,8 @@ TypeCheckEnumItem::visit (HIR::EnumItem &item)
   context->insert_type (mapping, isize);
 
   const CanonicalPath *canonical_path = nullptr;
-  ok = mappings->lookup_canonical_path (item.get_mappings ().get_nodeid (),
-                                       &canonical_path);
+  ok = mappings.lookup_canonical_path (item.get_mappings ().get_nodeid (),
+                                      &canonical_path);
   rust_assert (ok);
 
   RustIdent ident{*canonical_path, item.get_locus ()};
@@ -107,8 +107,8 @@ TypeCheckEnumItem::visit (HIR::EnumItemDiscriminant &item)
              TyTy::TyWithLocation (capacity_type), item.get_locus ());
 
   const CanonicalPath *canonical_path = nullptr;
-  bool ok = mappings->lookup_canonical_path (item.get_mappings ().get_nodeid (),
-                                            &canonical_path);
+  bool ok = mappings.lookup_canonical_path (item.get_mappings ().get_nodeid (),
+                                           &canonical_path);
   rust_assert (ok);
 
   RustIdent ident{*canonical_path, item.get_locus ()};
@@ -141,7 +141,7 @@ TypeCheckEnumItem::visit (HIR::EnumItemTuple &item)
 
   Analysis::NodeMapping mapping (item.get_mappings ().get_crate_num (),
                                 item.get_mappings ().get_nodeid (),
-                                mappings->get_next_hir_id (
+                                mappings.get_next_hir_id (
                                   item.get_mappings ().get_crate_num ()),
                                 item.get_mappings ().get_local_defid ());
   HIR::LiteralExpr *discim_expr
@@ -156,8 +156,8 @@ TypeCheckEnumItem::visit (HIR::EnumItemTuple &item)
   context->insert_type (mapping, isize);
 
   const CanonicalPath *canonical_path = nullptr;
-  ok = mappings->lookup_canonical_path (item.get_mappings ().get_nodeid (),
-                                       &canonical_path);
+  ok = mappings.lookup_canonical_path (item.get_mappings ().get_nodeid (),
+                                      &canonical_path);
   rust_assert (ok);
 
   RustIdent ident{*canonical_path, item.get_locus ()};
@@ -189,7 +189,7 @@ TypeCheckEnumItem::visit (HIR::EnumItemStruct &item)
 
   Analysis::NodeMapping mapping (item.get_mappings ().get_crate_num (),
                                 item.get_mappings ().get_nodeid (),
-                                mappings->get_next_hir_id (
+                                mappings.get_next_hir_id (
                                   item.get_mappings ().get_crate_num ()),
                                 item.get_mappings ().get_local_defid ());
   HIR::LiteralExpr *discrim_expr
@@ -204,8 +204,8 @@ TypeCheckEnumItem::visit (HIR::EnumItemStruct &item)
   context->insert_type (mapping, isize);
 
   const CanonicalPath *canonical_path = nullptr;
-  ok = mappings->lookup_canonical_path (item.get_mappings ().get_nodeid (),
-                                       &canonical_path);
+  ok = mappings.lookup_canonical_path (item.get_mappings ().get_nodeid (),
+                                      &canonical_path);
   rust_assert (ok);
 
   RustIdent ident{*canonical_path, item.get_locus ()};
index b3271b678338ea9d607fcf59cbbe2e26051e2813..25eb628c7b7531c8181a8b277b59cedd6c1bc643 100644 (file)
@@ -630,7 +630,7 @@ TypeCheckExpr::visit (HIR::RangeFromToExpr &expr)
 
   DefId respective_lang_item_id = UNKNOWN_DEFID;
   bool lang_item_defined
-    = mappings->lookup_lang_item (lang_item_type, &respective_lang_item_id);
+    = mappings.lookup_lang_item (lang_item_type, &respective_lang_item_id);
 
   // we need to have it maybe
   if (!lang_item_defined)
@@ -642,7 +642,7 @@ TypeCheckExpr::visit (HIR::RangeFromToExpr &expr)
     }
 
   // look it up and it _must_ be a struct definition
-  HIR::Item *item = mappings->lookup_defid (respective_lang_item_id);
+  HIR::Item *item = mappings.lookup_defid (respective_lang_item_id);
   rust_assert (item != nullptr);
 
   TyTy::BaseType *item_type = nullptr;
@@ -685,7 +685,7 @@ TypeCheckExpr::visit (HIR::RangeFromExpr &expr)
 
   DefId respective_lang_item_id = UNKNOWN_DEFID;
   bool lang_item_defined
-    = mappings->lookup_lang_item (lang_item_type, &respective_lang_item_id);
+    = mappings.lookup_lang_item (lang_item_type, &respective_lang_item_id);
 
   // we need to have it maybe
   if (!lang_item_defined)
@@ -697,7 +697,7 @@ TypeCheckExpr::visit (HIR::RangeFromExpr &expr)
     }
 
   // look it up and it _must_ be a struct definition
-  HIR::Item *item = mappings->lookup_defid (respective_lang_item_id);
+  HIR::Item *item = mappings.lookup_defid (respective_lang_item_id);
   rust_assert (item != nullptr);
 
   TyTy::BaseType *item_type = nullptr;
@@ -733,7 +733,7 @@ TypeCheckExpr::visit (HIR::RangeToExpr &expr)
 
   DefId respective_lang_item_id = UNKNOWN_DEFID;
   bool lang_item_defined
-    = mappings->lookup_lang_item (lang_item_type, &respective_lang_item_id);
+    = mappings.lookup_lang_item (lang_item_type, &respective_lang_item_id);
 
   // we need to have it maybe
   if (!lang_item_defined)
@@ -745,7 +745,7 @@ TypeCheckExpr::visit (HIR::RangeToExpr &expr)
     }
 
   // look it up and it _must_ be a struct definition
-  HIR::Item *item = mappings->lookup_defid (respective_lang_item_id);
+  HIR::Item *item = mappings.lookup_defid (respective_lang_item_id);
   rust_assert (item != nullptr);
 
   TyTy::BaseType *item_type = nullptr;
@@ -780,7 +780,7 @@ TypeCheckExpr::visit (HIR::RangeFullExpr &expr)
 
   DefId respective_lang_item_id = UNKNOWN_DEFID;
   bool lang_item_defined
-    = mappings->lookup_lang_item (lang_item_type, &respective_lang_item_id);
+    = mappings.lookup_lang_item (lang_item_type, &respective_lang_item_id);
 
   // we need to have it maybe
   if (!lang_item_defined)
@@ -792,7 +792,7 @@ TypeCheckExpr::visit (HIR::RangeFullExpr &expr)
     }
 
   // look it up and it _must_ be a struct definition
-  HIR::Item *item = mappings->lookup_defid (respective_lang_item_id);
+  HIR::Item *item = mappings.lookup_defid (respective_lang_item_id);
   rust_assert (item != nullptr);
 
   TyTy::BaseType *item_type = nullptr;
@@ -811,7 +811,7 @@ TypeCheckExpr::visit (HIR::RangeFromToInclExpr &expr)
 
   DefId respective_lang_item_id = UNKNOWN_DEFID;
   bool lang_item_defined
-    = mappings->lookup_lang_item (lang_item_type, &respective_lang_item_id);
+    = mappings.lookup_lang_item (lang_item_type, &respective_lang_item_id);
 
   // we need to have it maybe
   if (!lang_item_defined)
@@ -823,7 +823,7 @@ TypeCheckExpr::visit (HIR::RangeFromToInclExpr &expr)
     }
 
   // look it up and it _must_ be a struct definition
-  HIR::Item *item = mappings->lookup_defid (respective_lang_item_id);
+  HIR::Item *item = mappings.lookup_defid (respective_lang_item_id);
   rust_assert (item != nullptr);
 
   TyTy::BaseType *item_type = nullptr;
@@ -982,9 +982,9 @@ TypeCheckExpr::visit (HIR::ArrayExpr &expr)
                            expr.get_locus ());
          }
 
-       auto crate_num = mappings->get_current_crate ();
+       auto crate_num = mappings.get_current_crate ();
        Analysis::NodeMapping mapping (crate_num, UNKNOWN_NODEID,
-                                      mappings->get_next_hir_id (crate_num),
+                                      mappings.get_next_hir_id (crate_num),
                                       UNKNOWN_LOCAL_DEFID);
        std::string capacity_str = std::to_string (elems.get_num_elements ());
        capacity_expr = new HIR::LiteralExpr (mapping, capacity_str,
@@ -1548,7 +1548,7 @@ TypeCheckExpr::visit (HIR::ClosureExpr &expr)
     }
 
   // we generate an implicit hirid for the closure args
-  HirId implicit_args_id = mappings->get_next_hir_id ();
+  HirId implicit_args_id = mappings.get_next_hir_id ();
   TyTy::TupleType *closure_args
     = new TyTy::TupleType (implicit_args_id, expr.get_locus (),
                           parameter_types);
@@ -1587,7 +1587,7 @@ TypeCheckExpr::visit (HIR::ClosureExpr &expr)
   LangItem::Kind lang_item_type = LangItem::Kind::FN_ONCE;
   DefId respective_lang_item_id = UNKNOWN_DEFID;
   bool lang_item_defined
-    = mappings->lookup_lang_item (lang_item_type, &respective_lang_item_id);
+    = mappings.lookup_lang_item (lang_item_type, &respective_lang_item_id);
   if (!lang_item_defined)
     {
       // FIXME
@@ -1599,7 +1599,7 @@ TypeCheckExpr::visit (HIR::ClosureExpr &expr)
   rust_assert (lang_item_defined);
 
   // these lang items are always traits
-  HIR::Item *item = mappings->lookup_defid (respective_lang_item_id);
+  HIR::Item *item = mappings.lookup_defid (respective_lang_item_id);
   rust_assert (item->get_item_kind () == HIR::Item::ItemKind::Trait);
   HIR::Trait *trait_item = static_cast<HIR::Trait *> (item);
 
@@ -1614,7 +1614,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.get_current_crate ();
   Analysis::NodeMapping mapping (crate_num, expr.get_mappings ().get_nodeid (),
                                 implicit_args_id, UNKNOWN_LOCAL_DEFID);
   HIR::TupleType *implicit_tuple
@@ -1642,7 +1642,7 @@ TypeCheckExpr::resolve_operator_overload (LangItem::Kind lang_item_type,
   std::string associated_item_name = LangItem::ToString (lang_item_type);
   DefId respective_lang_item_id = UNKNOWN_DEFID;
   bool lang_item_defined
-    = mappings->lookup_lang_item (lang_item_type, &respective_lang_item_id);
+    = mappings.lookup_lang_item (lang_item_type, &respective_lang_item_id);
 
   // probe for the lang-item
   if (!lang_item_defined)
@@ -1972,8 +1972,8 @@ 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,
+  HirId implicit_arg_id = mappings.get_next_hir_id ();
+  Analysis::NodeMapping mapping (mappings.get_current_crate (), UNKNOWN_NODEID,
                                 implicit_arg_id, UNKNOWN_LOCAL_DEFID);
 
   TyTy::TupleType *tuple
index 1aec1fad344f214dd3aec5cf241fa343f9205c15..f0f3cfa219eaa8cf57e335af61cafe7aba663d06 100644 (file)
@@ -134,9 +134,9 @@ TypeCheckTopLevelExternItem::visit (HIR::ExternalFunctionItem &function)
       auto param_tyty = TypeCheckType::Resolve (param.get_type ().get ());
 
       // these are implicit mappings and not used
-      auto crate_num = mappings->get_current_crate ();
-      Analysis::NodeMapping mapping (crate_num, mappings->get_next_node_id (),
-                                    mappings->get_next_hir_id (crate_num),
+      auto crate_num = mappings.get_current_crate ();
+      Analysis::NodeMapping mapping (crate_num, mappings.get_next_node_id (),
+                                    mappings.get_next_hir_id (crate_num),
                                     UNKNOWN_LOCAL_DEFID);
 
       HIR::IdentifierPattern *param_pattern
@@ -377,9 +377,9 @@ TypeCheckImplItem::visit (HIR::Function &function)
   if (function.is_method ())
     {
       // these are implicit mappings and not used
-      auto crate_num = mappings->get_current_crate ();
-      Analysis::NodeMapping mapping (crate_num, mappings->get_next_node_id (),
-                                    mappings->get_next_hir_id (crate_num),
+      auto crate_num = mappings.get_current_crate ();
+      Analysis::NodeMapping mapping (crate_num, mappings.get_next_node_id (),
+                                    mappings.get_next_hir_id (crate_num),
                                     UNKNOWN_LOCAL_DEFID);
 
       // add the synthetic self param at the front, this is a placeholder for
@@ -463,8 +463,8 @@ TypeCheckImplItem::visit (HIR::Function &function)
 
   const CanonicalPath *canonical_path = nullptr;
   bool ok
-    = mappings->lookup_canonical_path (function.get_mappings ().get_nodeid (),
-                                      &canonical_path);
+    = mappings.lookup_canonical_path (function.get_mappings ().get_nodeid (),
+                                     &canonical_path);
   rust_assert (ok);
 
   RustIdent ident{*canonical_path, function.get_locus ()};
index da63a2858c0da340668c086c82da1bd734038c72..3896abd24a77a1b7d232cdb2f62c5abe1a4ad706 100644 (file)
@@ -206,7 +206,7 @@ TypeCheckItem::visit (HIR::TupleStruct &struct_decl)
   else
     {
       const CanonicalPath *canonical_path = nullptr;
-      bool ok = mappings->lookup_canonical_path (
+      bool ok = mappings.lookup_canonical_path (
        struct_decl.get_mappings ().get_nodeid (), &canonical_path);
       rust_assert (ok);
 
@@ -230,7 +230,7 @@ TypeCheckItem::visit (HIR::TupleStruct &struct_decl)
     = parse_repr_options (attrs, struct_decl.get_locus ());
 
   auto *type = new TyTy::ADTType (
-    struct_decl.get_mappings ().get_hirid (), mappings->get_next_hir_id (),
+    struct_decl.get_mappings ().get_hirid (), mappings.get_next_hir_id (),
     struct_decl.get_identifier ().as_string (), ident,
     TyTy::ADTType::ADTKind::TUPLE_STRUCT, std::move (variants),
     std::move (substitutions), repr,
@@ -289,7 +289,7 @@ TypeCheckItem::visit (HIR::StructStruct &struct_decl)
   else
     {
       const CanonicalPath *canonical_path = nullptr;
-      bool ok = mappings->lookup_canonical_path (
+      bool ok = mappings.lookup_canonical_path (
        struct_decl.get_mappings ().get_nodeid (), &canonical_path);
       rust_assert (ok);
 
@@ -313,7 +313,7 @@ TypeCheckItem::visit (HIR::StructStruct &struct_decl)
     = parse_repr_options (attrs, struct_decl.get_locus ());
 
   auto *type = new TyTy::ADTType (
-    struct_decl.get_mappings ().get_hirid (), mappings->get_next_hir_id (),
+    struct_decl.get_mappings ().get_hirid (), mappings.get_next_hir_id (),
     struct_decl.get_identifier ().as_string (), ident,
     TyTy::ADTType::ADTKind::STRUCT_STRUCT, std::move (variants),
     std::move (substitutions), repr,
@@ -349,15 +349,15 @@ TypeCheckItem::visit (HIR::Enum &enum_decl)
   // get the path
   const CanonicalPath *canonical_path = nullptr;
   bool ok
-    = mappings->lookup_canonical_path (enum_decl.get_mappings ().get_nodeid (),
-                                      &canonical_path);
+    = mappings.lookup_canonical_path (enum_decl.get_mappings ().get_nodeid (),
+                                     &canonical_path);
   rust_assert (ok);
   RustIdent ident{*canonical_path, enum_decl.get_locus ()};
 
   // multi variant ADT
   auto *type
     = new TyTy::ADTType (enum_decl.get_mappings ().get_hirid (),
-                        mappings->get_next_hir_id (),
+                        mappings.get_next_hir_id (),
                         enum_decl.get_identifier ().as_string (), ident,
                         TyTy::ADTType::ADTKind::ENUM, std::move (variants),
                         std::move (substitutions));
@@ -399,8 +399,8 @@ TypeCheckItem::visit (HIR::Union &union_decl)
   // get the path
   const CanonicalPath *canonical_path = nullptr;
   bool ok
-    = mappings->lookup_canonical_path (union_decl.get_mappings ().get_nodeid (),
-                                      &canonical_path);
+    = mappings.lookup_canonical_path (union_decl.get_mappings ().get_nodeid (),
+                                     &canonical_path);
   rust_assert (ok);
   RustIdent ident{*canonical_path, union_decl.get_locus ()};
 
@@ -415,7 +415,7 @@ TypeCheckItem::visit (HIR::Union &union_decl)
 
   auto *type
     = new TyTy::ADTType (union_decl.get_mappings ().get_hirid (),
-                        mappings->get_next_hir_id (),
+                        mappings.get_next_hir_id (),
                         union_decl.get_identifier ().as_string (), ident,
                         TyTy::ADTType::ADTKind::UNION, std::move (variants),
                         std::move (substitutions));
@@ -568,7 +568,7 @@ TypeCheckItem::visit (HIR::Function &function)
   else
     {
       const CanonicalPath *canonical_path = nullptr;
-      bool ok = mappings->lookup_canonical_path (
+      bool ok = mappings.lookup_canonical_path (
        function.get_mappings ().get_nodeid (), &canonical_path);
       rust_assert (ok);
 
index a4d4af1e3ba325240634a3357a2aaf2f1e9dcc4c..b4aeddab04cdc1a6b921fd284c7ba5907336daff 100644 (file)
@@ -230,7 +230,7 @@ TypeCheckExpr::resolve_root_path (HIR::PathInExpression &expr, size_t *offset,
 
       // node back to HIR
       HirId ref;
-      if (!mappings->lookup_node_to_hir (ref_node_id, &ref))
+      if (!mappings.lookup_node_to_hir (ref_node_id, &ref))
        {
          rust_error_at (seg.get_locus (), "456 reverse lookup failure");
          rust_debug_loc (seg.get_locus (),
@@ -242,8 +242,8 @@ TypeCheckExpr::resolve_root_path (HIR::PathInExpression &expr, size_t *offset,
          return new TyTy::ErrorType (expr.get_mappings ().get_hirid ());
        }
 
-      auto seg_is_module = (nullptr != mappings->lookup_module (ref));
-      auto seg_is_crate = mappings->is_local_hirid_crate (ref);
+      auto seg_is_module = (nullptr != mappings.lookup_module (ref));
+      auto seg_is_crate = mappings.is_local_hirid_crate (ref);
       if (seg_is_module || seg_is_crate)
        {
          // A::B::C::this_is_a_module::D::E::F
@@ -279,7 +279,7 @@ TypeCheckExpr::resolve_root_path (HIR::PathInExpression &expr, size_t *offset,
 
       // is it an enum item?
       std::pair<HIR::Enum *, HIR::EnumItem *> enum_item_lookup
-       = mappings->lookup_hir_enumitem (ref);
+       = mappings.lookup_hir_enumitem (ref);
       bool is_enum_item = enum_item_lookup.first != nullptr
                          && enum_item_lookup.second != nullptr;
       if (is_enum_item)
@@ -389,7 +389,7 @@ TypeCheckExpr::resolve_segments (NodeId root_resolved_node_id,
 
          HirId variant_id = variant->get_id ();
          std::pair<HIR::Enum *, HIR::EnumItem *> enum_item_lookup
-           = mappings->lookup_hir_enumitem (variant_id);
+           = mappings.lookup_hir_enumitem (variant_id);
          bool enum_item_ok = enum_item_lookup.first != nullptr
                              && enum_item_lookup.second != nullptr;
          rust_assert (enum_item_ok);
index aa0efdac7bf809c52050bb06444427cfcf0a87f8..c469f6095d802bacc28bc03197bc3c866eb41d36 100644 (file)
@@ -421,7 +421,7 @@ TypeCheckPattern::emit_pattern_size_error (const HIR::Pattern &pattern,
                                           size_t got_field_count)
 {
   rich_location r (line_table, pattern.get_locus ());
-  r.add_range (mappings->lookup_location (parent->get_ref ()));
+  r.add_range (mappings.lookup_location (parent->get_ref ()));
   rust_error_at (r,
                 "expected a tuple with %lu %s, found one "
                 "with %lu %s",
@@ -505,8 +505,8 @@ ClosureParamInfer::Resolve (HIR::Pattern *pattern)
   if (resolver.infered->get_kind () != TyTy::TypeKind::ERROR)
     {
       resolver.context->insert_implicit_type (resolver.infered);
-      resolver.mappings->insert_location (resolver.infered->get_ref (),
-                                         pattern->get_locus ());
+      resolver.mappings.insert_location (resolver.infered->get_ref (),
+                                        pattern->get_locus ());
     }
   return resolver.infered;
 }
index b7319e24e6b6ba0ea91434db42819befabe89a2c..5018829ec7da0cb35684946f25216f1b8cc33f81 100644 (file)
@@ -195,12 +195,12 @@ 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.get_current_crate ();
              Analysis::NodeMapping mapping (
                crate_num,
                struct_expr.struct_base->base_struct->get_mappings ()
                  .get_nodeid (),
-               mappings->get_next_hir_id (crate_num), UNKNOWN_LOCAL_DEFID);
+               mappings.get_next_hir_id (crate_num), UNKNOWN_LOCAL_DEFID);
 
              HIR::Expr *field_value = new HIR::FieldAccessExpr (
                mapping, std::unique_ptr<HIR::Expr> (receiver), missing,
index 98d53f793df241f341a93b2fe4e77c40c117002d..cfcea316cd7bee559f4454b0d8bde1dca748a6c2 100644 (file)
@@ -87,7 +87,7 @@ TypeCheckType::visit (HIR::BareFunctionType &fntype)
   else
     {
       // needs a new implicit ID
-      HirId ref = mappings->get_next_hir_id ();
+      HirId ref = mappings.get_next_hir_id ();
       return_type = TyTy::TupleType::get_unit_type (ref);
       context->insert_implicit_type (ref, return_type);
     }
@@ -373,7 +373,7 @@ TypeCheckType::resolve_root_path (HIR::TypePath &path, size_t *offset,
 
       // node back to HIR
       HirId ref = UNKNOWN_HIRID;
-      if (!mappings->lookup_node_to_hir (ref_node_id, &ref))
+      if (!mappings.lookup_node_to_hir (ref_node_id, &ref))
        {
          if (is_root)
            {
@@ -390,8 +390,8 @@ TypeCheckType::resolve_root_path (HIR::TypePath &path, size_t *offset,
          return root_tyty;
        }
 
-      auto seg_is_module = (nullptr != mappings->lookup_module (ref));
-      auto seg_is_crate = mappings->is_local_hirid_crate (ref);
+      auto seg_is_module = (nullptr != mappings.lookup_module (ref));
+      auto seg_is_crate = mappings.is_local_hirid_crate (ref);
       if (seg_is_module || seg_is_crate)
        {
          // A::B::C::this_is_a_module::D::E::F
@@ -780,7 +780,7 @@ TypeResolveGenericParam::visit (HIR::TypeParam &param)
       // We need two possible parameter types. One with no Bounds and one with
       // the bounds. the Self type for the bounds cannot itself contain the
       // bounds otherwise it will be a trait cycle
-      HirId implicit_id = mappings->get_next_hir_id ();
+      HirId implicit_id = mappings.get_next_hir_id ();
       TyTy::ParamType *p
        = new TyTy::ParamType (param.get_type_representation ().as_string (),
                               param.get_locus (), implicit_id, param,
@@ -998,7 +998,7 @@ ResolveWhereClauseItem::visit (HIR::TypeBoundWhereClauseItem &item)
 
   // node back to HIR
   HirId ref;
-  if (!mappings->lookup_node_to_hir (ref_node_id, &ref))
+  if (!mappings.lookup_node_to_hir (ref_node_id, &ref))
     {
       // FIXME
       rust_error_at (UNDEF_LOCATION, "where-clause reverse lookup failure");
@@ -1009,7 +1009,7 @@ ResolveWhereClauseItem::visit (HIR::TypeBoundWhereClauseItem &item)
   TyTy::BaseType *lookup;
   if (!context->lookup_type (ref, &lookup))
     {
-      rust_error_at (mappings->lookup_location (ref),
+      rust_error_at (mappings.lookup_location (ref),
                     "Failed to resolve where-clause binding type: %s",
                     binding_type_path->as_string ().c_str ());
       return;
index 0ead426607ceea30fe0719fc227e1bfbff918835..9ee2ff25fa39e4ccb0d7115b245da9b816ac34c1 100644 (file)
@@ -222,10 +222,10 @@ TraitItemReference::get_type_from_fn (/*const*/ HIR::TraitItemFunc &fn) const
   if (function.is_method ())
     {
       // these are implicit mappings and not used
-      auto mappings = Analysis::Mappings::get ();
-      auto crate_num = mappings->get_current_crate ();
-      Analysis::NodeMapping mapping (crate_num, mappings->get_next_node_id (),
-                                    mappings->get_next_hir_id (crate_num),
+      auto &mappings = Analysis::Mappings::get ();
+      auto crate_num = mappings.get_current_crate ();
+      Analysis::NodeMapping mapping (crate_num, mappings.get_next_node_id (),
+                                    mappings.get_next_hir_id (crate_num),
                                     UNKNOWN_LOCAL_DEFID);
 
       // add the synthetic self param at the front, this is a placeholder
@@ -298,10 +298,10 @@ TraitItemReference::get_type_from_fn (/*const*/ HIR::TraitItemFunc &fn) const
       TypeCheckPattern::Resolve (param.get_param_name ().get (), param_tyty);
     }
 
-  auto mappings = Analysis::Mappings::get ();
+  auto &mappings = Analysis::Mappings::get ();
   const CanonicalPath *canonical_path = nullptr;
-  bool ok = mappings->lookup_canonical_path (fn.get_mappings ().get_nodeid (),
-                                            &canonical_path);
+  bool ok = mappings.lookup_canonical_path (fn.get_mappings ().get_nodeid (),
+                                           &canonical_path);
   rust_assert (ok);
 
   RustIdent ident{*canonical_path, fn.get_locus ()};
index 97defa4c1e9db1bb8f0ed444185a1d0d0c8c69fe..914e40e92b8a79fff96fe89261218df96c9adc5a 100644 (file)
@@ -33,7 +33,7 @@ namespace Resolver {
 bool
 query_type (HirId reference, TyTy::BaseType **result)
 {
-  Analysis::Mappings *mappings = Analysis::Mappings::get ();
+  auto &mappings = Analysis::Mappings::get ();
   TypeCheckContext *context = TypeCheckContext::get ();
 
   if (context->query_in_progress (reference))
@@ -45,7 +45,7 @@ query_type (HirId reference, TyTy::BaseType **result)
   context->insert_query (reference);
 
   std::pair<HIR::Enum *, HIR::EnumItem *> enum_candidiate
-    = mappings->lookup_hir_enumitem (reference);
+    = mappings.lookup_hir_enumitem (reference);
   bool enum_candidiate_ok
     = enum_candidiate.first != nullptr && enum_candidiate.second != nullptr;
   if (enum_candidiate_ok)
@@ -61,7 +61,7 @@ query_type (HirId reference, TyTy::BaseType **result)
       return true;
     }
 
-  HIR::Item *item = mappings->lookup_hir_item (reference);
+  HIR::Item *item = mappings.lookup_hir_item (reference);
   if (item != nullptr)
     {
       rust_debug_loc (item->get_locus (), "resolved item {%u} to", reference);
@@ -72,11 +72,11 @@ query_type (HirId reference, TyTy::BaseType **result)
 
   HirId parent_impl_id = UNKNOWN_HIRID;
   HIR::ImplItem *impl_item
-    = mappings->lookup_hir_implitem (reference, &parent_impl_id);
+    = mappings.lookup_hir_implitem (reference, &parent_impl_id);
   if (impl_item != nullptr)
     {
       HIR::ImplBlock *impl_block
-       = mappings->lookup_hir_impl_block (parent_impl_id);
+       = mappings.lookup_hir_impl_block (parent_impl_id);
       rust_assert (impl_block != nullptr);
 
       // found an impl item
@@ -91,7 +91,7 @@ query_type (HirId reference, TyTy::BaseType **result)
   // is it an impl_type?
   HIR::ImplBlock *impl_block_by_type = nullptr;
   bool found_impl_block_type
-    = mappings->lookup_impl_block_type (reference, &impl_block_by_type);
+    = mappings.lookup_impl_block_type (reference, &impl_block_by_type);
   if (found_impl_block_type)
     {
       *result = TypeCheckItem::ResolveImplBlockSelf (*impl_block_by_type);
@@ -102,11 +102,11 @@ query_type (HirId reference, TyTy::BaseType **result)
   // is it an extern item?
   HirId parent_extern_block_id = UNKNOWN_HIRID;
   HIR::ExternalItem *extern_item
-    = mappings->lookup_hir_extern_item (reference, &parent_extern_block_id);
+    = mappings.lookup_hir_extern_item (reference, &parent_extern_block_id);
   if (extern_item != nullptr)
     {
       HIR::ExternBlock *block
-       = mappings->lookup_hir_extern_block (parent_extern_block_id);
+       = mappings.lookup_hir_extern_block (parent_extern_block_id);
       rust_assert (block != nullptr);
 
       *result = TypeCheckTopLevelExternItem::Resolve (extern_item, *block);
@@ -115,7 +115,7 @@ query_type (HirId reference, TyTy::BaseType **result)
     }
 
   // more?
-  location_t possible_locus = mappings->lookup_location (reference);
+  location_t possible_locus = mappings.lookup_location (reference);
   rust_debug_loc (possible_locus, "query system failed to resolve: [%u]",
                  reference);
   context->query_completed (reference);
index 32e3a93b26a5824ad0a756668734d3e99549349d..8f7a8a4f48f8867d1922733abc0a51fa3236e0b7 100644 (file)
@@ -580,7 +580,7 @@ TypeCheckContext::regions_from_generic_args (const HIR::GenericArgs &args) const
 void
 TypeCheckContext::compute_inference_variables (bool error)
 {
-  auto mappings = Analysis::Mappings::get ();
+  auto &mappings = Analysis::Mappings::get ();
 
   // default inference variables if possible
   iterate ([&] (HirId id, TyTy::BaseType *ty) mutable -> bool {
@@ -591,14 +591,14 @@ TypeCheckContext::compute_inference_variables (bool error)
     TyTy::InferType *infer_var = static_cast<TyTy::InferType *> (ty);
     TyTy::BaseType *default_type;
 
-    rust_debug_loc (mappings->lookup_location (id),
+    rust_debug_loc (mappings.lookup_location (id),
                    "trying to default infer-var: %s",
                    infer_var->as_string ().c_str ());
     bool ok = infer_var->default_type (&default_type);
     if (!ok)
       {
        if (error)
-         rust_error_at (mappings->lookup_location (id), ErrorCode::E0282,
+         rust_error_at (mappings.lookup_location (id), ErrorCode::E0282,
                         "type annotations needed");
        return true;
       }
@@ -609,7 +609,7 @@ TypeCheckContext::compute_inference_variables (bool error)
     rust_assert (result);
     rust_assert (result->get_kind () != TyTy::TypeKind::ERROR);
     result->set_ref (id);
-    insert_type (Analysis::NodeMapping (mappings->get_current_crate (), 0, id,
+    insert_type (Analysis::NodeMapping (mappings.get_current_crate (), 0, id,
                                        UNKNOWN_LOCAL_DEFID),
                 result);
 
index 4739bbc693b71e215baa0a5fb4c4ee5c2d67ba1c..6ef8299a974698d9724d88f9b1092a9b1727e916 100644 (file)
@@ -64,7 +64,7 @@ TypeBoundsProbe::scan ()
 {
   std::vector<std::pair<HIR::TypePath *, HIR::ImplBlock *>>
     possible_trait_paths;
-  mappings->iterate_impl_blocks (
+  mappings.iterate_impl_blocks (
     [&] (HirId id, HIR::ImplBlock *impl) mutable -> bool {
       // we are filtering for trait-impl-blocks
       if (!impl->has_trait_ref ())
@@ -153,11 +153,11 @@ void
 TypeBoundsProbe::assemble_builtin_candidate (LangItem::Kind lang_item)
 {
   DefId id;
-  bool found_lang_item = mappings->lookup_lang_item (lang_item, &id);
+  bool found_lang_item = mappings.lookup_lang_item (lang_item, &id);
   if (!found_lang_item)
     return;
 
-  HIR::Item *item = mappings->lookup_defid (id);
+  HIR::Item *item = mappings.lookup_defid (id);
   if (item == nullptr)
     return;
 
@@ -167,7 +167,7 @@ TypeBoundsProbe::assemble_builtin_candidate (LangItem::Kind lang_item)
 
   // assemble the reference
   TraitReference *trait_ref = TraitResolver::Resolve (*trait);
-  trait_references.push_back ({trait_ref, mappings->lookup_builtin_marker ()});
+  trait_references.push_back ({trait_ref, mappings.lookup_builtin_marker ()});
 
   rust_debug ("Added builtin lang_item: %s for %s",
              LangItem::ToString (lang_item).c_str (),
@@ -220,8 +220,8 @@ TypeCheckBase::get_predicate_from_bound (HIR::TypePath &type_path,
 
        // we need to make implicit generic args which must be an implicit
        // Tuple
-       auto crate_num = mappings->get_current_crate ();
-       HirId implicit_args_id = mappings->get_next_hir_id ();
+       auto crate_num = mappings.get_current_crate ();
+       HirId implicit_args_id = mappings.get_next_hir_id ();
        Analysis::NodeMapping mapping (crate_num,
                                       final_seg->get_mappings ().get_nodeid (),
                                       implicit_args_id, UNKNOWN_LOCAL_DEFID);
@@ -244,7 +244,7 @@ TypeCheckBase::get_predicate_from_bound (HIR::TypePath &type_path,
        rust_assert (fn.has_return_type ());
        TypeCheckType::Resolve (fn.get_return_type ().get ());
 
-       HIR::TraitItem *trait_item = mappings->lookup_trait_item_lang_item (
+       HIR::TraitItem *trait_item = mappings.lookup_trait_item_lang_item (
          LangItem::Kind::FN_ONCE_OUTPUT, final_seg->get_locus ());
 
        std::vector<HIR::GenericArgsBinding> bindings;
index 723927289f8d360ab831c58ff70f374eb6df5d6b..ad3b2c3e75b713a4465b0ddb918b09c733e2b133 100644 (file)
@@ -157,7 +157,7 @@ TypeCheckCallExpr::visit (FnType &type)
          BaseType *param_ty = fnparam.second;
          location_t param_locus
            = fn_param_pattern == nullptr
-               ? mappings->lookup_location (param_ty->get_ref ())
+               ? mappings.lookup_location (param_ty->get_ref ())
                : fn_param_pattern->get_locus ();
 
          HirId coercion_side_id = argument->get_mappings ().get_hirid ();
@@ -382,7 +382,7 @@ TypeCheckMethodCallExpr::check (FnType &type)
       BaseType *param_ty = fnparam.second;
       location_t param_locus
        = fn_param_pattern == nullptr
-           ? mappings->lookup_location (param_ty->get_ref ())
+           ? mappings.lookup_location (param_ty->get_ref ())
            : fn_param_pattern->get_locus ();
 
       auto argument_expr_tyty = argument.get_argument_type ();
index 2225d82c7f11bcd1d6af80a2516f88bdd4ca46b5..67cfe30057af43be3bd9e95046b3f810ce80acc7 100644 (file)
@@ -81,7 +81,7 @@ private:
   HIR::CallExpr &call;
   TyTy::VariantDef &variant;
   Resolver::TypeCheckContext *context;
-  Analysis::Mappings *mappings;
+  Analysis::Mappings &mappings;
 };
 
 class Argument
@@ -131,7 +131,7 @@ protected:
   location_t receiver_locus;
   TyTy::BaseType *adjusted_self;
   Resolver::TypeCheckContext *context;
-  Analysis::Mappings *mappings;
+  Analysis::Mappings &mappings;
 };
 
 } // namespace TyTy
index 868b737f2e137c0a41b012ba2b18e9c8a987c49f..c384287e550d970b918fb9ce6b26ae617047a4b2 100644 (file)
@@ -62,9 +62,9 @@ public:
 
     if (emit_error_flag)
       {
-       location_t ref_locus = mappings->lookup_location (type.get_ref ());
+       location_t ref_locus = mappings.lookup_location (type.get_ref ());
        location_t base_locus
-         = mappings->lookup_location (get_base ()->get_ref ());
+         = mappings.lookup_location (get_base ()->get_ref ());
        rich_location r (line_table, ref_locus);
        r.add_range (base_locus);
        rust_error_at (r, "expected [%s] got [%s]",
@@ -78,9 +78,9 @@ public:
     ok = false;
     if (emit_error_flag)
       {
-       location_t ref_locus = mappings->lookup_location (type.get_ref ());
+       location_t ref_locus = mappings.lookup_location (type.get_ref ());
        location_t base_locus
-         = mappings->lookup_location (get_base ()->get_ref ());
+         = mappings.lookup_location (get_base ()->get_ref ());
        rich_location r (line_table, ref_locus);
        r.add_range (base_locus);
        rust_error_at (r, "expected [%s] got [%s]",
@@ -94,9 +94,9 @@ public:
     ok = false;
     if (emit_error_flag)
       {
-       location_t ref_locus = mappings->lookup_location (type.get_ref ());
+       location_t ref_locus = mappings.lookup_location (type.get_ref ());
        location_t base_locus
-         = mappings->lookup_location (get_base ()->get_ref ());
+         = mappings.lookup_location (get_base ()->get_ref ());
        rich_location r (line_table, ref_locus);
        r.add_range (base_locus);
        rust_error_at (r, "expected [%s] got [%s]",
@@ -110,9 +110,9 @@ public:
     ok = false;
     if (emit_error_flag)
       {
-       location_t ref_locus = mappings->lookup_location (type.get_ref ());
+       location_t ref_locus = mappings.lookup_location (type.get_ref ());
        location_t base_locus
-         = mappings->lookup_location (get_base ()->get_ref ());
+         = mappings.lookup_location (get_base ()->get_ref ());
        rich_location r (line_table, ref_locus);
        r.add_range (base_locus);
        rust_error_at (r, "expected [%s] got [%s]",
@@ -126,9 +126,9 @@ public:
     ok = false;
     if (emit_error_flag)
       {
-       location_t ref_locus = mappings->lookup_location (type.get_ref ());
+       location_t ref_locus = mappings.lookup_location (type.get_ref ());
        location_t base_locus
-         = mappings->lookup_location (get_base ()->get_ref ());
+         = mappings.lookup_location (get_base ()->get_ref ());
        rich_location r (line_table, ref_locus);
        r.add_range (base_locus);
        rust_error_at (r, "expected [%s] got [%s]",
@@ -142,9 +142,9 @@ public:
     ok = false;
     if (emit_error_flag)
       {
-       location_t ref_locus = mappings->lookup_location (type.get_ref ());
+       location_t ref_locus = mappings.lookup_location (type.get_ref ());
        location_t base_locus
-         = mappings->lookup_location (get_base ()->get_ref ());
+         = mappings.lookup_location (get_base ()->get_ref ());
        rich_location r (line_table, ref_locus);
        r.add_range (base_locus);
        rust_error_at (r, "expected [%s] got [%s]",
@@ -158,9 +158,9 @@ public:
     ok = false;
     if (emit_error_flag)
       {
-       location_t ref_locus = mappings->lookup_location (type.get_ref ());
+       location_t ref_locus = mappings.lookup_location (type.get_ref ());
        location_t base_locus
-         = mappings->lookup_location (get_base ()->get_ref ());
+         = mappings.lookup_location (get_base ()->get_ref ());
        rich_location r (line_table, ref_locus);
        r.add_range (base_locus);
        rust_error_at (r, "expected [%s] got [%s]",
@@ -174,9 +174,9 @@ public:
     ok = false;
     if (emit_error_flag)
       {
-       location_t ref_locus = mappings->lookup_location (type.get_ref ());
+       location_t ref_locus = mappings.lookup_location (type.get_ref ());
        location_t base_locus
-         = mappings->lookup_location (get_base ()->get_ref ());
+         = mappings.lookup_location (get_base ()->get_ref ());
        rich_location r (line_table, ref_locus);
        r.add_range (base_locus);
        rust_error_at (r, "expected [%s] got [%s]",
@@ -190,9 +190,9 @@ public:
     ok = false;
     if (emit_error_flag)
       {
-       location_t ref_locus = mappings->lookup_location (type.get_ref ());
+       location_t ref_locus = mappings.lookup_location (type.get_ref ());
        location_t base_locus
-         = mappings->lookup_location (get_base ()->get_ref ());
+         = mappings.lookup_location (get_base ()->get_ref ());
        rich_location r (line_table, ref_locus);
        r.add_range (base_locus);
        rust_error_at (r, "expected [%s] got [%s]",
@@ -206,9 +206,9 @@ public:
     ok = false;
     if (emit_error_flag)
       {
-       location_t ref_locus = mappings->lookup_location (type.get_ref ());
+       location_t ref_locus = mappings.lookup_location (type.get_ref ());
        location_t base_locus
-         = mappings->lookup_location (get_base ()->get_ref ());
+         = mappings.lookup_location (get_base ()->get_ref ());
        rich_location r (line_table, ref_locus);
        r.add_range (base_locus);
        rust_error_at (r, "expected [%s] got [%s]",
@@ -222,9 +222,9 @@ public:
     ok = false;
     if (emit_error_flag)
       {
-       location_t ref_locus = mappings->lookup_location (type.get_ref ());
+       location_t ref_locus = mappings.lookup_location (type.get_ref ());
        location_t base_locus
-         = mappings->lookup_location (get_base ()->get_ref ());
+         = mappings.lookup_location (get_base ()->get_ref ());
        rich_location r (line_table, ref_locus);
        r.add_range (base_locus);
        rust_error_at (r, "expected [%s] got [%s]",
@@ -238,9 +238,9 @@ public:
     ok = false;
     if (emit_error_flag)
       {
-       location_t ref_locus = mappings->lookup_location (type.get_ref ());
+       location_t ref_locus = mappings.lookup_location (type.get_ref ());
        location_t base_locus
-         = mappings->lookup_location (get_base ()->get_ref ());
+         = mappings.lookup_location (get_base ()->get_ref ());
        rich_location r (line_table, ref_locus);
        r.add_range (base_locus);
        rust_error_at (r, "expected [%s] got [%s]",
@@ -254,9 +254,9 @@ public:
     ok = false;
     if (emit_error_flag)
       {
-       location_t ref_locus = mappings->lookup_location (type.get_ref ());
+       location_t ref_locus = mappings.lookup_location (type.get_ref ());
        location_t base_locus
-         = mappings->lookup_location (get_base ()->get_ref ());
+         = mappings.lookup_location (get_base ()->get_ref ());
        rich_location r (line_table, ref_locus);
        r.add_range (base_locus);
        rust_error_at (r, "expected [%s] got [%s]",
@@ -270,9 +270,9 @@ public:
     ok = false;
     if (emit_error_flag)
       {
-       location_t ref_locus = mappings->lookup_location (type.get_ref ());
+       location_t ref_locus = mappings.lookup_location (type.get_ref ());
        location_t base_locus
-         = mappings->lookup_location (get_base ()->get_ref ());
+         = mappings.lookup_location (get_base ()->get_ref ());
        rich_location r (line_table, ref_locus);
        r.add_range (base_locus);
        rust_error_at (r, "expected [%s] got [%s]",
@@ -286,9 +286,9 @@ public:
     ok = false;
     if (emit_error_flag)
       {
-       location_t ref_locus = mappings->lookup_location (type.get_ref ());
+       location_t ref_locus = mappings.lookup_location (type.get_ref ());
        location_t base_locus
-         = mappings->lookup_location (get_base ()->get_ref ());
+         = mappings.lookup_location (get_base ()->get_ref ());
        rich_location r (line_table, ref_locus);
        r.add_range (base_locus);
        rust_error_at (r, "expected [%s] got [%s]",
@@ -302,9 +302,9 @@ public:
     ok = false;
     if (emit_error_flag)
       {
-       location_t ref_locus = mappings->lookup_location (type.get_ref ());
+       location_t ref_locus = mappings.lookup_location (type.get_ref ());
        location_t base_locus
-         = mappings->lookup_location (get_base ()->get_ref ());
+         = mappings.lookup_location (get_base ()->get_ref ());
        rich_location r (line_table, ref_locus);
        r.add_range (base_locus);
        rust_error_at (r, "expected [%s] got [%s]",
@@ -318,9 +318,9 @@ public:
     ok = false;
     if (emit_error_flag)
       {
-       location_t ref_locus = mappings->lookup_location (type.get_ref ());
+       location_t ref_locus = mappings.lookup_location (type.get_ref ());
        location_t base_locus
-         = mappings->lookup_location (get_base ()->get_ref ());
+         = mappings.lookup_location (get_base ()->get_ref ());
        rich_location r (line_table, ref_locus);
        r.add_range (base_locus);
        rust_error_at (r, "expected [%s] got [%s]",
@@ -334,9 +334,9 @@ public:
     ok = false;
     if (emit_error_flag)
       {
-       location_t ref_locus = mappings->lookup_location (type.get_ref ());
+       location_t ref_locus = mappings.lookup_location (type.get_ref ());
        location_t base_locus
-         = mappings->lookup_location (get_base ()->get_ref ());
+         = mappings.lookup_location (get_base ()->get_ref ());
        rich_location r (line_table, ref_locus);
        r.add_range (base_locus);
        rust_error_at (r, "expected [%s] got [%s]",
@@ -350,9 +350,9 @@ public:
     ok = false;
     if (emit_error_flag)
       {
-       location_t ref_locus = mappings->lookup_location (type.get_ref ());
+       location_t ref_locus = mappings.lookup_location (type.get_ref ());
        location_t base_locus
-         = mappings->lookup_location (get_base ()->get_ref ());
+         = mappings.lookup_location (get_base ()->get_ref ());
        rich_location r (line_table, ref_locus);
        r.add_range (base_locus);
        rust_error_at (r, "expected [%s] got [%s]",
@@ -366,9 +366,9 @@ public:
     ok = false;
     if (emit_error_flag)
       {
-       location_t ref_locus = mappings->lookup_location (type.get_ref ());
+       location_t ref_locus = mappings.lookup_location (type.get_ref ());
        location_t base_locus
-         = mappings->lookup_location (get_base ()->get_ref ());
+         = mappings.lookup_location (get_base ()->get_ref ());
        rich_location r (line_table, ref_locus);
        r.add_range (base_locus);
        rust_error_at (r, "expected [%s] got [%s]",
@@ -388,9 +388,9 @@ public:
     ok = false;
     if (emit_error_flag)
       {
-       location_t ref_locus = mappings->lookup_location (type.get_ref ());
+       location_t ref_locus = mappings.lookup_location (type.get_ref ());
        location_t base_locus
-         = mappings->lookup_location (get_base ()->get_ref ());
+         = mappings.lookup_location (get_base ()->get_ref ());
        rich_location r (line_table, ref_locus);
        r.add_range (base_locus);
        rust_error_at (r, "expected [%s] got [%s]",
@@ -404,9 +404,9 @@ public:
     ok = false;
     if (emit_error_flag)
       {
-       location_t ref_locus = mappings->lookup_location (type.get_ref ());
+       location_t ref_locus = mappings.lookup_location (type.get_ref ());
        location_t base_locus
-         = mappings->lookup_location (get_base ()->get_ref ());
+         = mappings.lookup_location (get_base ()->get_ref ());
        rich_location r (line_table, ref_locus);
        r.add_range (base_locus);
        rust_error_at (r, "expected [%s] got [%s]",
@@ -420,9 +420,9 @@ public:
     ok = false;
     if (emit_error_flag)
       {
-       location_t ref_locus = mappings->lookup_location (type.get_ref ());
+       location_t ref_locus = mappings.lookup_location (type.get_ref ());
        location_t base_locus
-         = mappings->lookup_location (get_base ()->get_ref ());
+         = mappings.lookup_location (get_base ()->get_ref ());
        rich_location r (line_table, ref_locus);
        r.add_range (base_locus);
        rust_error_at (r, "expected [%s] got [%s]",
@@ -438,7 +438,7 @@ protected:
       emit_error_flag (emit_errors)
   {}
 
-  Analysis::Mappings *mappings;
+  Analysis::Mappings &mappings;
   Resolver::TypeCheckContext *context;
 
   bool ok;
@@ -1561,7 +1561,7 @@ public:
        return;
       }
 
-    location_t ref_locus = mappings->lookup_location (type.get_ref ());
+    location_t ref_locus = mappings.lookup_location (type.get_ref ());
     ok = base->bounds_compatible (type, ref_locus, false);
   }
 
index f9f11a0651b651444af235a0a3e1f332fbefc625..a3ebf0aa8d558ea84ad326af05b64bea5b91cf25 100644 (file)
@@ -157,10 +157,10 @@ SubstitutionParamMapping::override_context ()
   if (!param->can_resolve ())
     return;
 
-  auto mappings = Analysis::Mappings::get ();
+  auto &mappings = Analysis::Mappings::get ();
   auto context = Resolver::TypeCheckContext::get ();
 
-  context->insert_type (Analysis::NodeMapping (mappings->get_current_crate (),
+  context->insert_type (Analysis::NodeMapping (mappings.get_current_crate (),
                                               UNKNOWN_NODEID,
                                               param->get_ref (),
                                               UNKNOWN_LOCAL_DEFID),
@@ -940,7 +940,7 @@ SubstitutionRef::monomorphize ()
          if (associated == nullptr && ambigious)
            {
              // go for the first one? or error out?
-             auto &mappings = *Analysis::Mappings::get ();
+             auto &mappings = Analysis::Mappings::get ();
              const auto &type_param = subst.get_generic_param ();
              const auto *trait_ref = bound.get ();
 
index 24878823ba10026e8fab5c81be17538f4fa418a1..ff210ce69e677d512072017aea553e6485c65114 100644 (file)
@@ -44,18 +44,18 @@ TyVar::get_tyty () const
 TyVar
 TyVar::get_implicit_infer_var (location_t locus)
 {
-  auto mappings = Analysis::Mappings::get ();
+  auto &mappings = Analysis::Mappings::get ();
   auto context = Resolver::TypeCheckContext::get ();
 
-  InferType *infer = new InferType (mappings->get_next_hir_id (),
+  InferType *infer = new InferType (mappings.get_next_hir_id (),
                                    InferType::InferTypeKind::GENERAL,
                                    InferType::TypeHint::Default (), locus);
-  context->insert_type (Analysis::NodeMapping (mappings->get_current_crate (),
+  context->insert_type (Analysis::NodeMapping (mappings.get_current_crate (),
                                               UNKNOWN_NODEID,
                                               infer->get_ref (),
                                               UNKNOWN_LOCAL_DEFID),
                        infer);
-  mappings->insert_location (infer->get_ref (), locus);
+  mappings.insert_location (infer->get_ref (), locus);
 
   return TyVar (infer->get_ref ());
 }
@@ -87,15 +87,15 @@ TyVar::clone () const
 TyVar
 TyVar::monomorphized_clone () const
 {
-  auto mappings = Analysis::Mappings::get ();
+  auto &mappings = Analysis::Mappings::get ();
   auto context = Resolver::TypeCheckContext::get ();
 
   // this needs a new hirid
   TyTy::BaseType *c = get_tyty ()->monomorphized_clone ();
-  c->set_ref (mappings->get_next_hir_id ());
+  c->set_ref (mappings.get_next_hir_id ());
 
   // insert it
-  context->insert_type (Analysis::NodeMapping (mappings->get_current_crate (),
+  context->insert_type (Analysis::NodeMapping (mappings.get_current_crate (),
                                               UNKNOWN_NODEID, c->get_ref (),
                                               UNKNOWN_LOCAL_DEFID),
                        c);
@@ -109,8 +109,8 @@ TyWithLocation::TyWithLocation (BaseType *ty, location_t locus)
 
 TyWithLocation::TyWithLocation (BaseType *ty) : ty (ty)
 {
-  auto mappings = Analysis::Mappings::get ();
-  locus = mappings->lookup_location (ty->get_ref ());
+  auto &mappings = Analysis::Mappings::get ();
+  locus = mappings.lookup_location (ty->get_ref ());
 }
 
 } // namespace TyTy
index c1a8a94764bcfed3087e88ea330076dbcf659d06..c7a6e2200539fe1c003814fb3d91e2c6954dd2c3 100644 (file)
@@ -350,9 +350,9 @@ BaseType::satisfies_bound (const TypeBoundPredicate &predicate,
                  if (emit_error)
                    {
                      rich_location r (line_table,
-                                      mappings->lookup_location (get_ref ()));
+                                      mappings.lookup_location (get_ref ()));
                      r.add_range (predicate.get_locus ());
-                     r.add_range (mappings->lookup_location (i.get_hirid ()));
+                     r.add_range (mappings.lookup_location (i.get_hirid ()));
 
                      std::string rich_msg
                        = "expected " + bound_ty->destructure ()->get_name ()
@@ -960,20 +960,20 @@ InferType::clone () const
   // chain of references accordingly to ensure we don't loose the ability to
   // update the inference variables when we solve the type
 
-  auto mappings = Analysis::Mappings::get ();
+  auto &mappings = Analysis::Mappings::get ();
   auto context = Resolver::TypeCheckContext::get ();
 
   InferType *clone
-    = new InferType (mappings->get_next_hir_id (), get_infer_kind (),
+    = 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 (),
+  context->insert_type (Analysis::NodeMapping (mappings.get_current_crate (),
                                               UNKNOWN_NODEID,
                                               clone->get_ref (),
                                               UNKNOWN_LOCAL_DEFID),
                        clone);
-  mappings->insert_location (clone->get_ref (),
-                            mappings->lookup_location (get_ref ()));
+  mappings.insert_location (clone->get_ref (),
+                           mappings.lookup_location (get_ref ()));
 
   // setup the chain to reference this
   clone->append_reference (get_ref ());
@@ -1702,7 +1702,7 @@ ADTType *
 ADTType::handle_substitions (SubstitutionArgumentMappings &subst_mappings)
 {
   auto adt = clone ()->as<ADTType> ();
-  adt->set_ty_ref (mappings->get_next_hir_id ());
+  adt->set_ty_ref (mappings.get_next_hir_id ());
   adt->used_arguments = subst_mappings;
 
   for (auto &sub : adt->get_substs ())
@@ -1851,11 +1851,11 @@ TupleType::clone () const
 TupleType *
 TupleType::handle_substitions (SubstitutionArgumentMappings &mappings)
 {
-  auto mappings_table = Analysis::Mappings::get ();
+  auto &mappings_table = Analysis::Mappings::get ();
 
   auto tuple = clone ()->as<TupleType> ();
-  tuple->set_ref (mappings_table->get_next_hir_id ());
-  tuple->set_ty_ref (mappings_table->get_next_hir_id ());
+  tuple->set_ref (mappings_table.get_next_hir_id ());
+  tuple->set_ty_ref (mappings_table.get_next_hir_id ());
 
   for (size_t i = 0; i < tuple->fields.size (); i++)
     {
@@ -1974,7 +1974,7 @@ FnType *
 FnType::handle_substitions (SubstitutionArgumentMappings &subst_mappings)
 {
   FnType *fn = static_cast<FnType *> (clone ());
-  fn->set_ty_ref (mappings->get_next_hir_id ());
+  fn->set_ty_ref (mappings.get_next_hir_id ());
   fn->used_arguments = subst_mappings;
 
   for (auto &sub : fn->get_substs ())
@@ -2220,16 +2220,16 @@ ClosureType::setup_fn_once_output () const
 
   DefId trait_id = UNKNOWN_DEFID;
   bool trait_lang_item_defined
-    = mappings->lookup_lang_item (fn_once_lang_item, &trait_id);
+    = mappings.lookup_lang_item (fn_once_lang_item, &trait_id);
   rust_assert (trait_lang_item_defined);
 
   DefId trait_item_id = UNKNOWN_DEFID;
   bool trait_item_lang_item_defined
-    = mappings->lookup_lang_item (fn_once_output_lang_item, &trait_item_id);
+    = mappings.lookup_lang_item (fn_once_output_lang_item, &trait_item_id);
   rust_assert (trait_item_lang_item_defined);
 
   // resolve to the trait
-  HIR::Item *item = mappings->lookup_defid (trait_id);
+  HIR::Item *item = mappings.lookup_defid (trait_id);
   rust_assert (item->get_item_kind () == HIR::Item::ItemKind::Trait);
   HIR::Trait *trait = static_cast<HIR::Trait *> (item);
 
@@ -2238,8 +2238,7 @@ ClosureType::setup_fn_once_output () const
   rust_assert (!trait_ref->is_error ());
 
   // resolve to trait item
-  HIR::TraitItem *trait_item
-    = mappings->lookup_trait_item_defid (trait_item_id);
+  HIR::TraitItem *trait_item = mappings.lookup_trait_item_defid (trait_item_id);
   rust_assert (trait_item != nullptr);
   rust_assert (trait_item->get_item_kind ()
               == HIR::TraitItem::TraitItemKind::TYPE);
@@ -2317,10 +2316,10 @@ ArrayType::clone () const
 ArrayType *
 ArrayType::handle_substitions (SubstitutionArgumentMappings &mappings)
 {
-  auto mappings_table = Analysis::Mappings::get ();
+  auto &mappings_table = Analysis::Mappings::get ();
 
   ArrayType *ref = static_cast<ArrayType *> (clone ());
-  ref->set_ty_ref (mappings_table->get_next_hir_id ());
+  ref->set_ty_ref (mappings_table.get_next_hir_id ());
 
   // might be &T or &ADT so this needs to be recursive
   auto base = ref->get_element_type ();
@@ -2391,10 +2390,10 @@ SliceType::clone () const
 SliceType *
 SliceType::handle_substitions (SubstitutionArgumentMappings &mappings)
 {
-  auto mappings_table = Analysis::Mappings::get ();
+  auto &mappings_table = Analysis::Mappings::get ();
 
   SliceType *ref = static_cast<SliceType *> (clone ());
-  ref->set_ty_ref (mappings_table->get_next_hir_id ());
+  ref->set_ty_ref (mappings_table.get_next_hir_id ());
 
   // might be &T or &ADT so this needs to be recursive
   auto base = ref->get_element_type ();
@@ -3005,10 +3004,10 @@ ReferenceType::clone () const
 ReferenceType *
 ReferenceType::handle_substitions (SubstitutionArgumentMappings &mappings)
 {
-  auto mappings_table = Analysis::Mappings::get ();
+  auto &mappings_table = Analysis::Mappings::get ();
 
   ReferenceType *ref = static_cast<ReferenceType *> (clone ());
-  ref->set_ty_ref (mappings_table->get_next_hir_id ());
+  ref->set_ty_ref (mappings_table.get_next_hir_id ());
 
   // might be &T or &ADT so this needs to be recursive
   auto base = ref->get_base ();
@@ -3167,10 +3166,10 @@ PointerType::clone () const
 PointerType *
 PointerType::handle_substitions (SubstitutionArgumentMappings &mappings)
 {
-  auto mappings_table = Analysis::Mappings::get ();
+  auto &mappings_table = Analysis::Mappings::get ();
 
   PointerType *ref = static_cast<PointerType *> (clone ());
-  ref->set_ty_ref (mappings_table->get_next_hir_id ());
+  ref->set_ty_ref (mappings_table.get_next_hir_id ());
 
   // might be &T or &ADT so this needs to be recursive
   auto base = ref->get_base ();
@@ -3339,7 +3338,7 @@ ParamType::handle_substitions (SubstitutionArgumentMappings &subst_mappings)
     }
 
   // this is the new subst that this needs to pass
-  p->set_ref (mappings->get_next_hir_id ());
+  p->set_ref (mappings.get_next_hir_id ());
   p->set_ty_ref (arg.get_tyty ()->get_ref ());
 
   return p;
@@ -3668,7 +3667,7 @@ ProjectionType::handle_substitions (
   //   }
 
   ProjectionType *projection = static_cast<ProjectionType *> (clone ());
-  projection->set_ty_ref (mappings->get_next_hir_id ());
+  projection->set_ty_ref (mappings.get_next_hir_id ());
   projection->used_arguments = subst_mappings;
 
   auto context = Resolver::TypeCheckContext::get ();
index 0754a9d56452dc6e60aab8a1031c4187564afb25..39750294cf0b12829b04932592b61b3aeef55806 100644 (file)
@@ -248,7 +248,7 @@ protected:
   std::set<HirId> combined;
   RustIdent ident;
 
-  Analysis::Mappings *mappings;
+  Analysis::Mappings &mappings;
 };
 
 /** Unified interface for all function-like types. */
index 91b3148d7fa05032e7187bfebd80022c427f9a96..fa2308f1b34d34571d61aae6dfb0c5d1ba5776b2 100644 (file)
@@ -28,7 +28,7 @@ UnifyRules::UnifyRules (TyTy::TyWithLocation lhs, TyTy::TyWithLocation rhs,
                        std::vector<InferenceSite> &infers)
   : lhs (lhs), rhs (rhs), locus (locus), commit_flag (commit_flag),
     emit_error (emit_error), infer_flag (infer), commits (commits),
-    infers (infers), mappings (*Analysis::Mappings::get ()),
+    infers (infers), mappings (Analysis::Mappings::get ()),
     context (*TypeCheckContext::get ())
 {}
 
@@ -70,7 +70,7 @@ UnifyRules::commit (TyTy::BaseType *base, TyTy::BaseType *other,
                    TyTy::BaseType *resolved)
 {
   TypeCheckContext &context = *TypeCheckContext::get ();
-  Analysis::Mappings &mappings = *Analysis::Mappings::get ();
+  Analysis::Mappings &mappings = Analysis::Mappings::get ();
 
   TyTy::BaseType *b = base->destructure ();
   TyTy::BaseType *o = other->destructure ();
index 16c271d85a9b96ad7c742a18e9edbb41583a4a15..113e316655e03cbfef1658325376dc31d4722149 100644 (file)
@@ -110,14 +110,11 @@ Mappings::Mappings ()
 
 Mappings::~Mappings () { delete builtinMarker; }
 
-Mappings *
+Mappings &
 Mappings::get ()
 {
-  static std::unique_ptr<Mappings> instance;
-  if (!instance)
-    instance = std::unique_ptr<Mappings> (new Mappings ());
-
-  return instance.get ();
+  static Mappings instance{};
+  return instance;
 }
 
 CrateNum
index 06da3358856e603ca9a6907d7dadb2649fc5cbf7..b238f14e05d42e28fe092c6120197ffbd41020d9 100644 (file)
@@ -74,7 +74,7 @@ private:
 class Mappings
 {
 public:
-  static Mappings *get ();
+  static Mappings &get ();
   ~Mappings ();
 
   CrateNum get_next_crate_num (const std::string &name);
@@ -390,7 +390,7 @@ private:
   std::map<HirId, HIR::Trait *> hirTraitItemsToTraitMappings;
   std::map<HirId, HIR::Pattern *> hirPatternMappings;
   std::map<LangItem::Kind, DefId> lang_item_mappings;
-  std::map<NodeId, const Resolver::CanonicalPath> paths;
+  std::map<NodeId, Resolver::CanonicalPath> paths;
   std::map<NodeId, location_t> locations;
   std::map<NodeId, HirId> nodeIdToHirMappings;
   std::map<HirId, NodeId> hirIdToNodeMappings;