Skip to main content

luaur_analysis/functions/
remove_type.rs

1use crate::records::builtin_types::BuiltinTypes;
2use crate::records::type_arena::TypeArena;
3use crate::records::type_remover::TypeRemover;
4use crate::type_aliases::type_id::TypeId;
5use luaur_common::records::dense_hash_set::DenseHashSet;
6
7pub fn remove_type(
8    arena: *mut TypeArena,
9    builtin_types: *mut BuiltinTypes,
10    haystack: TypeId,
11    needle: TypeId,
12) {
13    let mut tr = TypeRemover {
14        builtin_types,
15        arena,
16        needle,
17        seen: DenseHashSet::new(core::ptr::null()),
18    };
19    tr.process(haystack);
20}