luaur_analysis/records/
instance_collector.rs1use crate::records::type_once_visitor::TypeOnceVisitor;
2use crate::type_aliases::type_id::TypeId;
3use crate::type_aliases::type_or_type_pack_id_set::TypeOrTypePackIdSet;
4use crate::type_aliases::type_pack_id::TypePackId;
5use alloc::vec::Vec;
6use luaur_common::records::dense_hash_set::DenseHashSet;
7use luaur_common::records::vec_deque::VecDeque;
8
9#[derive(Debug, Clone)]
10pub struct InstanceCollector {
11 pub base: TypeOnceVisitor,
12 pub recorded_tys: DenseHashSet<TypeId>,
13 pub tys: VecDeque<TypeId>,
14 pub recorded_tps: DenseHashSet<TypePackId>,
15 pub tps: VecDeque<TypePackId>,
16 pub should_guess: TypeOrTypePackIdSet,
17 pub type_function_instance_stack: Vec<*const core::ffi::c_void>,
18 pub cyclic_instance: Vec<TypeId>,
19}