luaur_require/functions/clear_cache.rs
1use core::ffi::c_char;
2
3use luaur_vm::functions::lua_setfield::lua_setfield;
4use luaur_vm::macros::lua_newtable::lua_newtable;
5use luaur_vm::macros::lua_registryindex::LUA_REGISTRYINDEX;
6
7// C++ RequireImpl.cpp: `static const char* requiredCacheTableKey = "_MODULES";`
8const required_cache_table_key: *const c_char = c"_MODULES".as_ptr();
9
10pub fn clear_cache(l: *mut luaur_vm::records::lua_state::lua_State) -> i32 {
11 unsafe {
12 lua_newtable(l);
13
14 lua_setfield(l, LUA_REGISTRYINDEX, required_cache_table_key);
15 }
16 0
17}