Enum cairo_lang_semantic::expr::objects::VarMemberPath
source · pub enum VarMemberPath {
Var(ExprVar),
Member {
parent: Box<VarMemberPath>,
member_id: MemberId,
stable_ptr: ExprPtr,
concrete_struct_id: ConcreteStructId,
ty: TypeId,
},
}
Expand description
A sequence of member accesses of a variable. For example: a, a.b, a.b.c, …
Variants§
Implementations§
Trait Implementations§
source§impl Clone for VarMemberPath
impl Clone for VarMemberPath
source§fn clone(&self) -> VarMemberPath
fn clone(&self) -> VarMemberPath
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for VarMemberPath
impl Debug for VarMemberPath
source§impl<'a, T: ?Sized + Upcast<ExprFormatter<'a>>> DebugWithDb<T> for VarMemberPath
impl<'a, T: ?Sized + Upcast<ExprFormatter<'a>>> DebugWithDb<T> for VarMemberPath
source§impl Hash for VarMemberPath
impl Hash for VarMemberPath
source§impl PartialEq<VarMemberPath> for VarMemberPath
impl PartialEq<VarMemberPath> for VarMemberPath
source§fn eq(&self, other: &VarMemberPath) -> bool
fn eq(&self, other: &VarMemberPath) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl<T: SemanticRewriter<ExprVar, Error> + SemanticRewriter<Box<VarMemberPath>, Error> + SemanticRewriter<MemberId, Error> + SemanticRewriter<ConcreteStructId, Error> + SemanticRewriter<TypeId, Error>, Error> SemanticObject<T, Error> for VarMemberPath
impl<T: SemanticRewriter<ExprVar, Error> + SemanticRewriter<Box<VarMemberPath>, Error> + SemanticRewriter<MemberId, Error> + SemanticRewriter<ConcreteStructId, Error> + SemanticRewriter<TypeId, Error>, Error> SemanticObject<T, Error> for VarMemberPath
fn default_rewrite(self, rewriter: &mut T) -> Result<Self, Error>
source§impl<'a> SemanticRewriter<VarMemberPath, InferenceError> for Inference<'a>
impl<'a> SemanticRewriter<VarMemberPath, InferenceError> for Inference<'a>
fn rewrite( &mut self, value: VarMemberPath ) -> Result<VarMemberPath, InferenceError>
impl Eq for VarMemberPath
impl StructuralEq for VarMemberPath
impl StructuralPartialEq for VarMemberPath
Auto Trait Implementations§
impl RefUnwindSafe for VarMemberPath
impl Send for VarMemberPath
impl Sync for VarMemberPath
impl Unpin for VarMemberPath
impl UnwindSafe for VarMemberPath
Blanket Implementations§
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.