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: ModuleFileIdCurrent 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: ResolvedItemsLookback map for resolved identifiers in path. Used in “Go to definition”.
inference_data: InferenceDataInference data for the resolver.
trait_or_impl_ctx: TraitOrImplContextThe trait/impl context the resolver is currently in. Used to resolve “Self::” paths.
feature_config: FeatureConfigThe 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