luaur-analysis 0.1.3

Luau type checker and type inference (Rust).
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use crate::functions::follow_type::follow_type_id;
use crate::functions::get_type_alt_j::get_type_id;
use crate::records::instance_collector_2::InstanceCollector2;
use crate::records::type_function_instance_type::TypeFunctionInstanceType;
use crate::type_aliases::type_id::TypeId;

impl InstanceCollector2 {
    pub fn cycle(&mut self, ty: TypeId) {
        let t = unsafe { follow_type_id(ty) };
        let it = unsafe { get_type_id::<TypeFunctionInstanceType>(t) };
        if !it.is_null() {
            self.cyclic_instance.insert(t);
        }
    }
}