luaur_code_gen/functions/
try_find_local_name.rs1use luaur_vm::macros::getstr::getstr;
2use luaur_vm::records::proto::Proto;
3
4pub unsafe fn try_find_local_name(
5 proto: *const Proto,
6 reg: core::ffi::c_int,
7 pcpos: core::ffi::c_int,
8) -> *const core::ffi::c_char {
9 for i in 0..(*proto).sizelocvars {
10 let local = &*(*proto).locvars.add(i as usize);
11
12 if reg == local.reg as core::ffi::c_int && pcpos >= local.startpc && pcpos < local.endpc {
13 return if local.varname.is_null() {
14 core::ptr::null()
15 } else {
16 getstr(local.varname)
17 };
18 }
19 }
20
21 core::ptr::null()
22}