pub enum PropertyAccessClassification {
Direct(TypeId),
SymbolRef(SymbolRef),
TypeQuery(SymbolRef),
Application {
app_id: TypeApplicationId,
},
Union(Vec<TypeId>),
Intersection(Vec<TypeId>),
IndexAccess {
object: TypeId,
index: TypeId,
},
Readonly(TypeId),
Callable(TypeId),
TypeParameter {
constraint: Option<TypeId>,
},
NeedsEvaluation(TypeId),
Resolved(TypeId),
}Expand description
Classification for property access resolution.
Variants§
Direct(TypeId)
Direct object type that can have properties accessed
SymbolRef(SymbolRef)
Symbol reference - needs resolution first
TypeQuery(SymbolRef)
Type query (typeof) - needs symbol resolution
Application
Generic application - needs instantiation
Fields
§
app_id: TypeApplicationIdUnion(Vec<TypeId>)
Union - access on each member
Intersection(Vec<TypeId>)
Intersection - access on each member
IndexAccess
Index access - needs evaluation
Readonly(TypeId)
Readonly wrapper - unwrap and continue
Callable(TypeId)
Callable type - may need Function interface expansion
TypeParameter
Type parameter with constraint
NeedsEvaluation(TypeId)
Needs evaluation (Conditional, Mapped, KeyOf)
Resolved(TypeId)
Primitive or resolved type
Trait Implementations§
Source§impl Clone for PropertyAccessClassification
impl Clone for PropertyAccessClassification
Source§fn clone(&self) -> PropertyAccessClassification
fn clone(&self) -> PropertyAccessClassification
Returns a duplicate 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 moreAuto Trait Implementations§
impl Freeze for PropertyAccessClassification
impl RefUnwindSafe for PropertyAccessClassification
impl Send for PropertyAccessClassification
impl Sync for PropertyAccessClassification
impl Unpin for PropertyAccessClassification
impl UnsafeUnpin for PropertyAccessClassification
impl UnwindSafe for PropertyAccessClassification
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