Skip to main content

luaur_vm/macros/
lua_h_setslot.rs

1//! Node: `cxx:Macro:Luau.VM:VM/src/ltable.h:35:luaH_setslot`
2//! C++: `(invalidateTMcache(t), (slot == luaO_nilobject ? luaH_newkey(L, t, key) : cast_to(TValue*, slot)))`
3
4#[allow(non_snake_case)]
5#[macro_export]
6macro_rules! luaH_setslot {
7    ($L:expr, $t:expr, $slot:expr, $key:expr) => {{
8        $crate::macros::invalidate_t_mcache::invalidateTMcache($t);
9        if $slot == $crate::macros::lua_o_nilobject::luaO_nilobject {
10            $crate::functions::lua_h_newkey::lua_h_newkey($L, $t, $key)
11        } else {
12            $slot as *mut $crate::type_aliases::t_value::TValue
13        }
14    }};
15}
16
17pub use luaH_setslot;
18
19#[allow(unused_imports)]
20pub use luaH_setslot as lua_h_setslot;