nixos/lua-lsp/meta/Lua 5.4 zh-cn utf8/debug.lua

269 lines
7.5 KiB
Lua
Raw Normal View History

---@meta
---
---
---
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-debug"])
---
---@class debuglib
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
---
---进入一个用户交互模式,运行用户输入的每个字符串。
---
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-debug.debug"])
---
function debug.debug() end
---@version 5.1
---
---返回对象 `o` 的环境。
---
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-debug.getfenv"])
---
---@param o any
---@return table
---@nodiscard
function debug.getfenv(o) end
---
---返回三个表示线程钩子设置的值: 当前钩子函数,当前钩子掩码,当前钩子计数 。
---
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-debug.gethook"])
---
---@param co? thread
---@return function hook
---@return string mask
---@return integer count
---@nodiscard
function debug.gethook(co) end
---@alias infowhat string
---|+'"n"' # `name` 和 `namewhat`
---|+'"S"' # `source``short_src``linedefined``lalinedefined`,和 `what`
---|+'"l"' # `currentline`
---|+'"t"' # `istailcall`
---|+'"u"' # `nups`、`nparams` 和 `isvararg`
---|+'"f"' # `func`
---|+'"r"' # `ftransfer` 和 `ntransfer`
---|+'"L"' # `activelines`
---
---返回关于一个函数信息的表。
---
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-debug.getinfo"])
---
---@overload fun(f: integer|function, what?: infowhat):debuginfo
---@param thread thread
---@param f integer|async fun(...):...
---@param what? infowhat
---@return debuginfo
---@nodiscard
function debug.getinfo(thread, f, what) end
---
---返回在栈的 `f` 层处函数的索引为 `index` 的局部变量的名字和值。
---
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-debug.getlocal"])
---
---@overload fun(f: integer|async fun(...):..., index: integer):string, any
---@param thread thread
---@param f integer|async fun(...):...
---@param index integer
---@return string name
---@return any value
---@nodiscard
function debug.getlocal(thread, f, index) end
---
---返回给定 `value` 的元表。
---
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-debug.getmetatable"])
---
---@param object any
---@return table metatable
---@nodiscard
function debug.getmetatable(object) end
---
---返回注册表。
---
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-debug.getregistry"])
---
---@return table
---@nodiscard
function debug.getregistry() end
---
---返回函数 `f` 的第 `up` 个上值的名字和值。
---
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-debug.getupvalue"])
---
---@param f async fun(...):...
---@param up integer
---@return string name
---@return any value
---@nodiscard
function debug.getupvalue(f, up) end
---
---返回关联在 `u` 上的第 `n` 个 `Lua` 值,以及一个布尔,`false`表示值不存在。
---
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-debug.getuservalue"])
---
---@param u userdata
---@param n? integer
---@return any
---@return boolean
---@nodiscard
function debug.getuservalue(u, n) end
---
---### **已在 `Lua 5.4.2` 中废弃**
---
---设置新的C栈限制。该限制控制Lua中嵌套调用的深度以避免堆栈溢出。
---
---如果设置成功,该函数返回之前的限制;否则返回`false`。
---
---
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-debug.setcstacklimit"])
---
---@deprecated
---@param limit integer
---@return integer|boolean
function debug.setcstacklimit(limit) end
---
---将 `table` 设置为 `object` 的环境。
---
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-debug.setfenv"])
---
---@version 5.1
---@generic T
---@param object T
---@param env table
---@return T object
function debug.setfenv(object, env) end
---@alias hookmask string
---|+'"c"' # 每当 Lua 调用一个函数时,调用钩子。
---|+'"r"' # 每当 Lua 从一个函数内返回时,调用钩子。
---|+'"l"' # 每当 Lua 进入新的一行时,调用钩子。
---
---将一个函数作为钩子函数设入。
---
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-debug.sethook"])
---
---@overload fun(hook: (async fun(...):...), mask: hookmask, count?: integer)
---@overload fun(thread: thread):...
---@overload fun(...):...
---@param thread thread
---@param hook async fun(...):...
---@param mask hookmask
---@param count? integer
function debug.sethook(thread, hook, mask, count) end
---
---将 `value` 赋给 栈上第 `level` 层函数的第 `local` 个局部变量。
---
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-debug.setlocal"])
---
---@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
---
---将 `value` 的元表设为 `table` (可以是 `nil`)。
---
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-debug.setmetatable"])
---
---@generic T
---@param value T
---@param meta? table
---@return T value
function debug.setmetatable(value, meta) end
---
---将 `value` 设为函数 `f` 的第 `up` 个上值。
---
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-debug.setupvalue"])
---
---@param f async fun(...):...
---@param up integer
---@param value any
---@return string name
function debug.setupvalue(f, up, value) end
---
---将 `value` 设为 `udata` 的第 `n` 个关联值。
---
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-debug.setuservalue"])
---
---@param udata userdata
---@param value any
---@param n? integer
---@return userdata udata
function debug.setuservalue(udata, value, n) end
---
---返回调用栈的栈回溯信息。 字符串可选项 `message` 被添加在栈回溯信息的开头。
---
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-debug.traceback"])
---
---@overload fun(message?: any, level?: integer): string
---@param thread thread
---@param message? any
---@param level? integer
---@return string message
---@nodiscard
function debug.traceback(thread, message, level) end
---@version >5.2, JIT
---
---返回指定函数第 `n` 个上值的唯一标识符(一个轻量用户数据)。
---
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-debug.upvalueid"])
---
---@param f async fun(...):...
---@param n integer
---@return lightuserdata id
---@nodiscard
function debug.upvalueid(f, n) end
---@version >5.2, JIT
---
---让 Lua 闭包 `f1` 的第 `n1` 个上值 引用 `Lua` 闭包 `f2` 的第 `n2` 个上值。
---
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-debug.upvaluejoin"])
---
---@param f1 async fun(...):...
---@param n1 integer
---@param f2 async fun(...):...
---@param n2 integer
function debug.upvaluejoin(f1, n1, f2, n2) end
return debug