luaur_analysis/methods/
clone_public_interface_is_dirty_module.rs1use crate::functions::get_type_alt_j::get_type_id;
2use crate::records::clone_public_interface::ClonePublicInterface;
3use crate::records::function_type::FunctionType;
4use crate::records::table_type::TableType;
5use crate::type_aliases::type_id::TypeId;
6
7impl ClonePublicInterface {
8 pub fn is_dirty_type_id(&mut self, ty: TypeId) -> bool {
11 let module = unsafe { &*self.module };
12
13 let owning_arena = unsafe { (*ty).owning_arena };
14 if owning_arena == (&module.internal_types as *const _ as *mut _) {
15 return true;
16 }
17
18 let ftv = unsafe { get_type_id::<FunctionType>(ty) };
19 if !ftv.is_null() {
20 return unsafe { (*ftv).level.level } != 0;
21 }
22
23 let ttv = unsafe { get_type_id::<TableType>(ty) };
24 if !ttv.is_null() {
25 return unsafe { (*ttv).level.level } != 0;
26 }
27
28 false
29 }
30}