Skip to main content

luaur_vm/functions/
lua_r_freeobject.rs

1use crate::functions::lua_m_freegco::luaM_freegco_;
2use crate::macros::lua_m_freearray::luaM_freearray;
3use crate::records::gc_object::GCObject;
4use crate::records::lua_page::lua_Page;
5use crate::records::luau_object::LuauObject;
6use crate::type_aliases::lua_state::lua_State;
7use crate::type_aliases::t_value::TValue;
8
9#[allow(non_snake_case)]
10pub unsafe fn lua_r_freeobject(
11    L: *mut lua_State,
12    classinstance: *mut LuauObject,
13    page: *mut lua_Page,
14) {
15    luaM_freearray!(
16        L,
17        (*classinstance).members,
18        (*classinstance).numberofmembers,
19        TValue,
20        (*classinstance).memcat
21    );
22
23    luaM_freegco_(
24        L,
25        classinstance as *mut GCObject,
26        core::mem::size_of::<LuauObject>(),
27        (*classinstance).memcat,
28        page,
29    );
30}