Trait ra_ap_hir::db::HirDatabase[][src]

pub trait HirDatabase: Upcast<dyn DefDatabase + 'static> + HasQueryGroup<HirDatabaseStorage> + Database + DefDatabase {
    pub fn infer(&self, key0: DefWithBodyId) -> Arc<InferenceResult>;
pub fn infer_query(&self, key0: DefWithBodyId) -> Arc<InferenceResult>;
pub fn ty(&self, key0: TyDefId) -> Binders<Ty>;
pub fn value_ty(&self, key0: ValueTyDefId) -> Binders<Ty>;
pub fn impl_self_ty(&self, key0: ImplId) -> Binders<Ty>;
pub fn const_param_ty(&self, key0: ConstParamId) -> Ty;
pub fn impl_trait(&self, key0: ImplId) -> Option<Binders<TraitRef>>;
pub fn field_types(
        &self,
        key0: VariantId
    ) -> Arc<ArenaMap<Idx<FieldData>, Binders<Ty>>>;
pub fn callable_item_signature(&self, key0: CallableDefId) -> Binders<FnSig>;
pub fn return_type_impl_traits(
        &self,
        key0: FunctionId
    ) -> Option<Arc<Binders<ReturnTypeImplTraits>>>;
pub fn generic_predicates_for_param(
        &self,
        key0: TypeParamId
    ) -> Arc<[Binders<GenericPredicate>]>;
pub fn generic_predicates(
        &self,
        key0: GenericDefId
    ) -> Arc<[Binders<GenericPredicate>]>;
pub fn generic_defaults(&self, key0: GenericDefId) -> Arc<[Binders<Ty>]>;
pub fn inherent_impls_in_crate(&self, key0: CrateId) -> Arc<InherentImpls>;
pub fn trait_impls_in_crate(&self, key0: CrateId) -> Arc<TraitImpls>;
pub fn trait_impls_in_deps(&self, key0: CrateId) -> Arc<TraitImpls>;
pub fn intern_callable_def(
        &self,
        key0: CallableDefId
    ) -> InternedCallableDefId;
pub fn lookup_intern_callable_def(
        &self,
        key0: InternedCallableDefId
    ) -> CallableDefId;
pub fn intern_type_param_id(&self, key0: TypeParamId) -> GlobalTypeParamId;
pub fn lookup_intern_type_param_id(
        &self,
        key0: GlobalTypeParamId
    ) -> TypeParamId;
pub fn intern_impl_trait_id(&self, key0: OpaqueTyId) -> InternedOpaqueTyId;
pub fn lookup_intern_impl_trait_id(
        &self,
        key0: InternedOpaqueTyId
    ) -> OpaqueTyId;
pub fn intern_closure(&self, key0: (DefWithBodyId, Idx<Expr>)) -> ClosureId;
pub fn lookup_intern_closure(
        &self,
        key0: ClosureId
    ) -> (DefWithBodyId, Idx<Expr>);
pub fn associated_ty_data(
        &self,
        key0: AssocTypeId<Interner>
    ) -> Arc<AssociatedTyDatum<Interner>>;
pub fn trait_datum(
        &self,
        key0: CrateId,
        key1: TraitId<Interner>
    ) -> Arc<TraitDatum<Interner>>;
pub fn struct_datum(
        &self,
        key0: CrateId,
        key1: AdtId<Interner>
    ) -> Arc<AdtDatum<Interner>>;
pub fn impl_datum(
        &self,
        key0: CrateId,
        key1: ImplId<Interner>
    ) -> Arc<ImplDatum<Interner>>;
pub fn fn_def_datum(
        &self,
        key0: CrateId,
        key1: FnDefId<Interner>
    ) -> Arc<FnDefDatum<Interner>>;
pub fn fn_def_variance(
        &self,
        key0: CrateId,
        key1: FnDefId<Interner>
    ) -> Variances<Interner>;
pub fn adt_variance(
        &self,
        key0: CrateId,
        key1: AdtId<Interner>
    ) -> Variances<Interner>;
pub fn associated_ty_value(
        &self,
        key0: CrateId,
        key1: AssociatedTyValueId<Interner>
    ) -> Arc<AssociatedTyValue<Interner>>;
pub fn trait_solve(
        &self,
        key0: CrateId,
        key1: Canonical<InEnvironment<Obligation>>
    ) -> Option<Solution>;
pub fn program_clauses_for_chalk_env(
        &self,
        key0: CrateId,
        key1: Environment<Interner>
    ) -> ProgramClauses<Interner>; }

Required methods

pub fn infer(&self, key0: DefWithBodyId) -> Arc<InferenceResult>[src]

pub fn infer_query(&self, key0: DefWithBodyId) -> Arc<InferenceResult>[src]

pub fn ty(&self, key0: TyDefId) -> Binders<Ty>[src]

pub fn value_ty(&self, key0: ValueTyDefId) -> Binders<Ty>[src]

pub fn impl_self_ty(&self, key0: ImplId) -> Binders<Ty>[src]

pub fn const_param_ty(&self, key0: ConstParamId) -> Ty[src]

pub fn impl_trait(&self, key0: ImplId) -> Option<Binders<TraitRef>>[src]

pub fn field_types(
    &self,
    key0: VariantId
) -> Arc<ArenaMap<Idx<FieldData>, Binders<Ty>>>
[src]

pub fn callable_item_signature(&self, key0: CallableDefId) -> Binders<FnSig>[src]

pub fn return_type_impl_traits(
    &self,
    key0: FunctionId
) -> Option<Arc<Binders<ReturnTypeImplTraits>>>
[src]

pub fn generic_predicates_for_param(
    &self,
    key0: TypeParamId
) -> Arc<[Binders<GenericPredicate>]>
[src]

pub fn generic_predicates(
    &self,
    key0: GenericDefId
) -> Arc<[Binders<GenericPredicate>]>
[src]

pub fn generic_defaults(&self, key0: GenericDefId) -> Arc<[Binders<Ty>]>[src]

pub fn inherent_impls_in_crate(&self, key0: CrateId) -> Arc<InherentImpls>[src]

pub fn trait_impls_in_crate(&self, key0: CrateId) -> Arc<TraitImpls>[src]

pub fn trait_impls_in_deps(&self, key0: CrateId) -> Arc<TraitImpls>[src]

pub fn intern_callable_def(&self, key0: CallableDefId) -> InternedCallableDefId[src]

pub fn lookup_intern_callable_def(
    &self,
    key0: InternedCallableDefId
) -> CallableDefId
[src]

pub fn intern_type_param_id(&self, key0: TypeParamId) -> GlobalTypeParamId[src]

pub fn lookup_intern_type_param_id(
    &self,
    key0: GlobalTypeParamId
) -> TypeParamId
[src]

pub fn intern_impl_trait_id(&self, key0: OpaqueTyId) -> InternedOpaqueTyId[src]

pub fn lookup_intern_impl_trait_id(
    &self,
    key0: InternedOpaqueTyId
) -> OpaqueTyId
[src]

pub fn intern_closure(&self, key0: (DefWithBodyId, Idx<Expr>)) -> ClosureId[src]

pub fn lookup_intern_closure(
    &self,
    key0: ClosureId
) -> (DefWithBodyId, Idx<Expr>)
[src]

pub fn associated_ty_data(
    &self,
    key0: AssocTypeId<Interner>
) -> Arc<AssociatedTyDatum<Interner>>
[src]

pub fn trait_datum(
    &self,
    key0: CrateId,
    key1: TraitId<Interner>
) -> Arc<TraitDatum<Interner>>
[src]

pub fn struct_datum(
    &self,
    key0: CrateId,
    key1: AdtId<Interner>
) -> Arc<AdtDatum<Interner>>
[src]

pub fn impl_datum(
    &self,
    key0: CrateId,
    key1: ImplId<Interner>
) -> Arc<ImplDatum<Interner>>
[src]

pub fn fn_def_datum(
    &self,
    key0: CrateId,
    key1: FnDefId<Interner>
) -> Arc<FnDefDatum<Interner>>
[src]

pub fn fn_def_variance(
    &self,
    key0: CrateId,
    key1: FnDefId<Interner>
) -> Variances<Interner>
[src]

pub fn adt_variance(
    &self,
    key0: CrateId,
    key1: AdtId<Interner>
) -> Variances<Interner>
[src]

pub fn associated_ty_value(
    &self,
    key0: CrateId,
    key1: AssociatedTyValueId<Interner>
) -> Arc<AssociatedTyValue<Interner>>
[src]

pub fn trait_solve(
    &self,
    key0: CrateId,
    key1: Canonical<InEnvironment<Obligation>>
) -> Option<Solution>
[src]

pub fn program_clauses_for_chalk_env(
    &self,
    key0: CrateId,
    key1: Environment<Interner>
) -> ProgramClauses<Interner>
[src]

Loading content...

Implementors

impl<DB> HirDatabase for DB where
    DB: DefDatabase + Upcast<dyn DefDatabase + 'static> + Database + HasQueryGroup<HirDatabaseStorage>, 
[src]

Loading content...