mirror of
https://github.com/CompeyDev/lei.git
synced 2025-05-04 10:43:49 +01:00
feat(ffi): add callbacks for memory allocation and debug hooks (#1)
From [lua.h](c51743268b/VM/include/lua.h (L446)
)
- Added OnAllocate callback to LuaCallbacks struct
- Fixed callback function signatures for UserAtom, DebugInterrupt, and DebugProtectedError
- Updated Callbacks function to correctly map additional debug and allocation callbacks from Luau
This commit is contained in:
parent
749c2ae39d
commit
b0eb323392
1 changed files with 5 additions and 4 deletions
|
@ -893,20 +893,21 @@ type LuaCallbacks struct {
|
|||
func Callbacks(L *LuaState) *LuaCallbacks {
|
||||
ccallbacks := C.lua_callbacks(L)
|
||||
|
||||
// sorry
|
||||
return &LuaCallbacks{
|
||||
Userdata: ccallbacks.userdata,
|
||||
Interrupt: *(*func(L *LuaState, gc int32))(unsafe.Pointer(ccallbacks.interrupt)),
|
||||
Panic: *(*func(L *LuaState, errcode int32))(unsafe.Pointer(ccallbacks.panic)),
|
||||
UserThread: *(*func(LP *LuaState, L *LuaState))(unsafe.Pointer(ccallbacks.userthread)),
|
||||
UserAtom: *(*func(s string, l uint64))(unsafe.Pointer(ccallbacks.useratom)),
|
||||
UserAtom: *(*func(s string, l uint64) int16)(unsafe.Pointer(ccallbacks.useratom)),
|
||||
DebugBreak: *(*func(L *LuaState, ar *LuaDebug))(unsafe.Pointer(ccallbacks.debugbreak)),
|
||||
DebugStep: *(*func(L *LuaState, ar *LuaDebug))(unsafe.Pointer(ccallbacks.debugstep)),
|
||||
DebugInterrupt: *(*func(L *LuaState, ar *LuaDebug))(unsafe.Pointer(ccallbacks.debugstep)),
|
||||
DebugProtectedError: *(*func(L *LuaState))(unsafe.Pointer(ccallbacks.debugstep)),
|
||||
DebugInterrupt: *(*func(L *LuaState, ar *LuaDebug))(unsafe.Pointer(ccallbacks.debuginterrupt)),
|
||||
DebugProtectedError: *(*func(L *LuaState))(unsafe.Pointer(ccallbacks.debugprotectederror)),
|
||||
OnAllocate: *(*func(L *LuaState, osize uint64, nsize uint64))(unsafe.Pointer(ccallbacks.onallocate)),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
func ToNumber(L *LuaState, i int32) LuaNumber {
|
||||
return ToNumberX(L, i, new(bool))
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue