pub struct InstanceCollector {
pub base: TypeOnceVisitor,
pub recorded_tys: DenseHashSet<TypeId>,
pub tys: VecDeque<TypeId>,
pub recorded_tps: DenseHashSet<TypePackId>,
pub tps: VecDeque<TypePackId>,
pub should_guess: TypeOrTypePackIdSet,
pub type_function_instance_stack: Vec<*const c_void>,
pub cyclic_instance: Vec<TypeId>,
}Fields§
§base: TypeOnceVisitor§recorded_tys: DenseHashSet<TypeId>§tys: VecDeque<TypeId>§recorded_tps: DenseHashSet<TypePackId>§tps: VecDeque<TypePackId>§should_guess: TypeOrTypePackIdSet§type_function_instance_stack: Vec<*const c_void>§cyclic_instance: Vec<TypeId>Implementations§
Source§impl InstanceCollector
impl InstanceCollector
pub fn instance_collector(&mut self)
Source§impl InstanceCollector
impl InstanceCollector
pub fn visit_type_id_type_function_instance_type( &mut self, ty: TypeId, tfit: &TypeFunctionInstanceType, ) -> bool
Source§impl InstanceCollector
impl InstanceCollector
pub fn visit_type_id_extern_type( &mut self, _ty: TypeId, _extern_type: &ExternType, ) -> bool
Source§impl InstanceCollector
impl InstanceCollector
pub fn visit_type_pack_id_type_function_instance_type_pack( &mut self, tp: TypePackId, tfitp: &TypeFunctionInstanceTypePack, ) -> bool
Trait Implementations§
Source§impl Clone for InstanceCollector
impl Clone for InstanceCollector
Source§fn clone(&self) -> InstanceCollector
fn clone(&self) -> InstanceCollector
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 InstanceCollector
impl Debug for InstanceCollector
Source§impl GenericTypeVisitorTrait for InstanceCollector
Wires InstanceCollector’s virtual surface (TypeFunction.cpp:41-135) into
the GenericTypeVisitor traversal machinery so that traverse dispatches
into its overrides — the same pattern as FindCyclicTypes /
InternalTypeFunctionFinder. The per-visit/cycle bodies live on the
InstanceCollector record’s inherent methods; this impl delegates to them.
impl GenericTypeVisitorTrait for InstanceCollector
Wires InstanceCollector’s virtual surface (TypeFunction.cpp:41-135) into
the GenericTypeVisitor traversal machinery so that traverse dispatches
into its overrides — the same pattern as FindCyclicTypes /
InternalTypeFunctionFinder. The per-visit/cycle bodies live on the
InstanceCollector record’s inherent methods; this impl delegates to them.
type Seen = DenseHashSet<*mut c_void>
fn visitor_base(&mut self) -> &mut GenericTypeVisitor<Self::Seen>
fn cycle_type_id(&mut self, ty: TypeId)
fn visit_type_id_type_function_instance_type( &mut self, ty: TypeId, tfit: &TypeFunctionInstanceType, ) -> bool
fn visit_type_id_extern_type(&mut self, ty: TypeId, etv: &ExternType) -> bool
fn visit_type_pack_id_type_function_instance_type_pack( &mut self, tp: TypePackId, tfitp: &TypeFunctionInstanceTypePack, ) -> bool
fn cycle_type_pack_id(&mut self, _tp: TypePackId)
fn visit_type_id(&mut self, _ty: TypeId) -> bool
fn visit_type_id_bound_type(&mut self, ty: TypeId, _btv: &BoundType) -> bool
fn visit_type_id_free_type(&mut self, ty: TypeId, _ftv: &FreeType) -> bool
fn visit_type_id_generic_type(&mut self, ty: TypeId, _gtv: &GenericType) -> bool
fn visit_type_id_error_type(&mut self, ty: TypeId, _etv: &ErrorType) -> bool
fn visit_type_id_primitive_type( &mut self, ty: TypeId, _ptv: &PrimitiveType, ) -> bool
fn visit_type_id_function_type( &mut self, ty: TypeId, _ftv: &FunctionType, ) -> bool
fn visit_type_id_table_type(&mut self, ty: TypeId, _ttv: &TableType) -> bool
fn visit_type_id_metatable_type( &mut self, ty: TypeId, _mtv: &MetatableType, ) -> bool
fn visit_type_id_any_type(&mut self, ty: TypeId, _atv: &AnyType) -> bool
fn visit_type_id_no_refine_type( &mut self, ty: TypeId, _nrt: &NoRefineType, ) -> bool
fn visit_type_id_unknown_type(&mut self, ty: TypeId, _utv: &UnknownType) -> bool
fn visit_type_id_never_type(&mut self, ty: TypeId, _ntv: &NeverType) -> bool
fn visit_type_id_union_type(&mut self, ty: TypeId, _utv: &UnionType) -> bool
fn visit_type_id_intersection_type( &mut self, ty: TypeId, _itv: &IntersectionType, ) -> bool
fn visit_type_id_blocked_type(&mut self, ty: TypeId, _btv: &BlockedType) -> bool
fn visit_type_id_pending_expansion_type( &mut self, ty: TypeId, _petv: &PendingExpansionType, ) -> bool
fn visit_type_id_singleton_type( &mut self, ty: TypeId, _stv: &SingletonType, ) -> bool
fn visit_type_id_negation_type( &mut self, ty: TypeId, _ntv: &NegationType, ) -> bool
fn visit_type_pack_id(&mut self, _tp: TypePackId) -> bool
fn visit_type_pack_id_bound_type_pack( &mut self, tp: TypePackId, _btp: &BoundTypePack, ) -> bool
fn visit_type_pack_id_free_type_pack( &mut self, tp: TypePackId, _ftp: &FreeTypePack, ) -> bool
fn visit_type_pack_id_generic_type_pack( &mut self, tp: TypePackId, _gtp: &GenericTypePack, ) -> bool
fn visit_type_pack_id_error_type_pack( &mut self, tp: TypePackId, _etp: &ErrorTypePack, ) -> bool
fn visit_type_pack_id_type_pack( &mut self, tp: TypePackId, _pack: &TypePack, ) -> bool
fn visit_type_pack_id_variadic_type_pack( &mut self, tp: TypePackId, _vtp: &VariadicTypePack, ) -> bool
fn visit_type_pack_id_blocked_type_pack( &mut self, tp: TypePackId, _btp: &BlockedTypePack, ) -> bool
Source§fn traverse_type_id(&mut self, ty: TypeId)where
Self: Sized,
fn traverse_type_id(&mut self, ty: TypeId)where
Self: Sized,
C++
void traverse(TypeId ty) (VisitType.h:217). Body in the traverse
node file.Source§fn traverse_type_pack_id(&mut self, tp: TypePackId)where
Self: Sized,
fn traverse_type_pack_id(&mut self, tp: TypePackId)where
Self: Sized,
C++
void traverse(TypePackId tp) (VisitType.h:444).Auto Trait Implementations§
impl !Send for InstanceCollector
impl !Sync for InstanceCollector
impl Freeze for InstanceCollector
impl RefUnwindSafe for InstanceCollector
impl Unpin for InstanceCollector
impl UnsafeUnpin for InstanceCollector
impl UnwindSafe for InstanceCollector
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