diff options
Diffstat (limited to 'meta/template/debug.lua')
-rw-r--r-- | meta/template/debug.lua | 132 |
1 files changed, 127 insertions, 5 deletions
diff --git a/meta/template/debug.lua b/meta/template/debug.lua index 8db01634..b957d948 100644 --- a/meta/template/debug.lua +++ b/meta/template/debug.lua @@ -1,6 +1,24 @@ ---@class debug debug = {} +---@class debuginfo +---@field name string +---@field namewhat string +---@field source string +---@field short_src string +---@field linedefined integer +---@field lastlinedefined integer +---@field what string +---@field currentline integer +---@field istailcall boolean +---@field nups integer +---@field nparams integer +---@field isvararg boolean +---@field func function +---@field ftransfer integer +---@field ntransfer integer +---@field activelines table + function debug.debug() end ---@param o any @@ -13,9 +31,113 @@ function debug.getfenv(o) end ---@return integer count function debug.gethook(co) end ----@alias infowhat '"nSltufL"' ----@alias finfo ----| '""' +---@alias infowhat string +---| '"n"' # `name` 和 `namewhat` +---| '"S"' # `source`,`short_src`,`linedefined`,`lastlinedefined`,和 `what` +---| '"l"' # `currentline` +---| '"t"' # `istailcall` +---| '"u"' # `nups`,`nparams` 和 `isvararg` +---| '"f"' # `func` +---| '"r"' # `ftransfer` 和 `ntransfer` +---| '"L"' # `activelines` + +---@overload fun(f: integer|function, what: infowhat?):debuginfo +---@param thread thread +---@param f integer|function +---@param what infowhat? +---@return debuginfo +function debug.getinfo(thread, f, what) end + +---@overload fun(f: integer|function, index: integer):string, any +---@param thread thread +---@param f integer|function +---@param index integer +---@return string name +---@return any value +function debug.getlocal(thread, f, index) end + +---@param object any +---@return table metatable +function debug.getmetatable(object) end + +---@return table +function debug.getregistry() end + +---@param f integer|function +---@param up integer +---@return string name +---@return any value +function debug.getupvalue(f, up) end + +---@param u userdata +---@param n integer +---@return any +---@return boolean +function debug.getuservalue(u, n) end + +---@deprecated +---@param limit integer +---@return integer|boolean +function debug.setcstacklimit(limit) end + +---@generic ANY +---@param object ANY +---@param env table +---@return ANY object +function debug.setfenv(object, env) end + +---@alias hookmask +---| '"c"' +---| '"r"' +---| '"l"' + +---@overload fun(hook: function, mask: hookmask, count: integer?) +---@param thread thread +---@param hook function +---@param mask hookmask +---@param count integer? +function debug.sethook(thread, hook, mask, count) end + +---@overload fun(level: integer, index: integer, value: any):string +---@param thread thread +---@param level integer +---@param index integer +---@param value any +---@return string name +function debug.setlocal(thread, level, index, value) end + +---@generic ANY +---@param value ANY +---@param meta table +---@return ANY value +function debug.setmetatable(value, meta) end + +---@param f function +---@param up integer +---@param value any +---@return string name +function debug.setupvalue(f, up, value) end + +---@generic USERDATA +---@param udata USERDATA +---@param value any +---@param n integer +---@return USERDATA udata +function debug.setuservalue(udata, value, n) end + +---@param thread thread +---@param message any? +---@param level integer? +---@return string message +function debug.traceback(thread, message, level) end + +---@param f function +---@param n integer +---@return lightuserdata id +function debug.upvalueid(f, n) end ----@overload fun(f: integer|function, what: infowhat?):finfo -function debug.getinfo1(thread, f, what) end +---@param f1 function +---@param n1 integer +---@param f2 function +---@param n2 integer +function debug.upvaluejoin(f1, n1, f2, n2) end |