Struct cairo_lang_semantic::resolve::ResolverData
source · pub struct ResolverData {
pub module_file_id: ModuleFileId,
pub generic_params: Vec<GenericParamId>,
pub resolved_items: ResolvedItems,
pub inference_data: InferenceData,
pub trait_or_impl_ctx: TraitOrImplContext,
pub allowed_features: OrderedHashSet<SmolStr>,
/* 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.
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.
allowed_features: OrderedHashSet<SmolStr>
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
source§fn eq(&self, other: &ResolverData) -> bool
fn eq(&self, other: &ResolverData) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.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<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> 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