pub struct ResolverData {
pub module_file_id: ModuleFileId,
pub generic_params: Vec<GenericParamId>,
pub type_enriched_members: OrderedHashMap<(TypeId, bool), EnrichedMembers>,
pub resolved_items: ResolvedItems,
pub inference_data: InferenceData,
pub trait_or_impl_ctx: TraitOrImplContext,
pub feature_config: FeatureConfig,
pub used_items: OrderedHashSet<LookupItemId>,
/* private fields */
}
Fields§
§module_file_id: ModuleFileId
Current module in which to resolve the path.
generic_params: Vec<GenericParamId>
All generic parameters accessible to the resolver.
type_enriched_members: OrderedHashMap<(TypeId, bool), EnrichedMembers>
The enriched members per type and its mutability in the resolver context.
resolved_items: ResolvedItems
Lookback map for resolved identifiers in path. Used in “Go to definition”.
inference_data: InferenceData
Inference data for the resolver.
trait_or_impl_ctx: TraitOrImplContext
The trait/impl context the resolver is currently in. Used to resolve “Self::” paths.
feature_config: FeatureConfig
The configuration of allowed features.
used_items: OrderedHashSet<LookupItemId>
The set of used items in the current context.
Implementations§
source§impl ResolverData
impl ResolverData
pub fn new(module_file_id: ModuleFileId, inference_id: InferenceId) -> Self
pub fn clone_with_inference_id( &self, db: &dyn SemanticGroup, inference_id: InferenceId, ) -> Self
Trait Implementations§
source§impl Debug for ResolverData
impl Debug for ResolverData
source§impl<'a, T: ?Sized + Upcast<dyn SemanticGroup + 'static>> DebugWithDb<T> for ResolverData
impl<'a, T: ?Sized + Upcast<dyn SemanticGroup + 'static>> DebugWithDb<T> for ResolverData
source§impl PartialEq for ResolverData
impl PartialEq for ResolverData
impl Eq for ResolverData
impl StructuralPartialEq for ResolverData
Auto Trait Implementations§
impl Freeze for ResolverData
impl RefUnwindSafe for ResolverData
impl Send for ResolverData
impl Sync for ResolverData
impl Unpin for ResolverData
impl UnwindSafe for ResolverData
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more