| Function navigation | Description |
|---|---|
checkcaller | Returns whether the current Luau thread is present in Real caller context. The function takes no arguments and pushes the boolean result of the current caller context. The function does not inspect the Lua call stack or a function object. |
clonefunction | Creates and returns a separate function value for the function passed as the first argument. The argument must be a function. |
comparefunctions | Compares two function values by their function identity. Both arguments must be functions. The function returns the boolean result of function identity(L, 1) == function identity(L, 2). It does not compare function bytecode, source, behavior, hashes, upvalues, or newcclosure mappings. comparefunction is an alias for the same function. |
getfunctionhash | Returns an uppercase SHA384 hex digest derived from a Luau function. The argument must be a function, and C closures raise “Lua function expected”. If no hashable function content is available, the function returns nil. |
hookfunction | Replaces the behavior of a target function with a replacement function and returns a callable copy of the original behavior. Both arguments must be functions. |
hookmetamethod | Finds the named metamethod on a value and replaces that metamethod function with the provided replacement. The metamethod name must be a string and the replacement must be a function. |
iscclosure | Returns whether the provided function is a C closure. The argument must be a function; passing any other type raises a type error. The function does not inspect executor ownership, source, bytecode, or upvalues. |
isexecutorclosure | Returns whether the provided function is classified as executor-owned. The argument must be a function. The function does not inspect source text, debug names, bytecode hashes, or call stack ownership. |
isfunctionhooked | Returns whether the provided function currently has a hook record. The argument must be a function. |
ishiddenstack | Returns whether a function, or the function at a stack level, is marked as hidden. target must be a function or stack level number. Invalid stack levels raise “Level out of range”. isstackhidden is an alias. |
islclosure | Returns whether the provided function is a Lua closure. The argument must be a function; passing a non-function raises a type error. isluaclosure is an alias. |
isnewcclosure | Returns whether the provided function is a newcclosure-created C closure. The first argument must be a function; passing a non-function raises a type error. Documented usage is a single function argument; extra arguments are not part of the supported signature. |
newcclosure | Returns a C closure for the provided function. If the function is already a C closure, the same function is returned. Passing a non-function raises a type error. |
newlclosure | Returns a Luau closure that calls the provided function. The first argument must be a function. |
restorefunction | Restores a hooked function, or replaces one function with another when two function arguments are provided. The first argument must be a function. |
sethiddenstack | Marks or unmarks a function, or the function at a stack level, as hidden. target must be a function or stack level number. hidden defaults to true. Invalid stack levels raise “Level out of range”. setstackhidden is an alias. |
Closures
Closures
Inspect, create, clone, and replace closures.
Inspect, create, clone, and replace closures.