Skip to main content

luaur_vm/functions/
luaopen_class.rs

1use crate::functions::class_classof::class_classof;
2use crate::functions::class_isinstance::class_isinstance;
3use crate::functions::lua_l_register::lua_l_register;
4use crate::records::lua_l_reg::LuaLReg;
5use crate::type_aliases::lua_state::lua_State;
6
7pub unsafe fn luaopen_class(L: *mut lua_State) -> core::ffi::c_int {
8    let class_lib: [LuaLReg; 3] = [
9        LuaLReg {
10            name: c"isinstance".as_ptr(),
11            func: Some(class_isinstance),
12        },
13        LuaLReg {
14            name: c"classof".as_ptr(),
15            func: Some(class_classof),
16        },
17        LuaLReg {
18            name: core::ptr::null(),
19            func: None,
20        },
21    ];
22
23    lua_l_register(L, c"class".as_ptr(), class_lib.as_ptr());
24    1
25}