diff options
author | Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> | 2024-04-24 10:51:13 +0200 |
---|---|---|
committer | CohenArthur <arthur.cohen@embecosm.com> | 2024-05-06 15:17:29 +0000 |
commit | 8a7256676e5dfacb4720c07bc64a3eed8fe5446e (patch) | |
tree | 61a9ee5ef821e9a62ffe5721e96e558c07000328 /gcc/rust/typecheck/rust-hir-type-check-expr.cc | |
parent | 3a31617b48a4840b0aa90726333e4e7dedf1493b (diff) | |
download | gcc-8a7256676e5dfacb4720c07bc64a3eed8fe5446e.zip gcc-8a7256676e5dfacb4720c07bc64a3eed8fe5446e.tar.gz gcc-8a7256676e5dfacb4720c07bc64a3eed8fe5446e.tar.bz2 |
Change singleton returned type to a referencedevel/rust/master
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>
Diffstat (limited to 'gcc/rust/typecheck/rust-hir-type-check-expr.cc')
-rw-r--r-- | gcc/rust/typecheck/rust-hir-type-check-expr.cc | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/gcc/rust/typecheck/rust-hir-type-check-expr.cc b/gcc/rust/typecheck/rust-hir-type-check-expr.cc index 224d2ff..57739e5 100644 --- a/gcc/rust/typecheck/rust-hir-type-check-expr.cc +++ b/gcc/rust/typecheck/rust-hir-type-check-expr.cc @@ -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 |