Disassembler

disassemble

Дизассемблирует функцию в читаемую сборку байт-кода.

Синтаксис

disassemble(callback: function, options?: DisassembleOptions): string

Аргументы

ИмяТипОписание
callbackfunctionФункция, уровень стека или прототип для проверки.
options?DisassembleOptionsДополнительная таблица настроек, которая управляет поведением операции.

Возвраты

ИмяТипОписание
assemblystringДизассемблированный текст байт-кода.

Описание

Дизассемблирует функцию в читаемую сборку байт-кода.

Вызывай с 2 параметрами: callback, options. Таблица аргументов показывает обязательные значения и настройки поведения.

Возвращает assembly (string). Используй таблицу возвращаемых значений, чтобы отличать успех, nil и обрабатываемые ошибки.

Пример

Дизассемблирование обратного вызова с выбранными параметрами вывода.

local assembly = disassemble(function(value)
    return value * 2
end, {
    Recursive = false,
    ShowLines = true,
    ShowConstants = true,
})

print(assembly)

Типы

DisassembleOptions

Управляет тем, как байт-код Luau отображается в результатах дизассемблирования.

Recursive? boolean Включает в вывод вложенные дочерние прототипы.ShowLines? boolean Показывает номера исходных строк рядом с инструкциями, если данные строки доступны.ShowConstants? boolean Выводит таблицу констант для каждого прототипа.StringPreviewMax? integer Ограничивает количество символов, отображаемых при предварительном просмотре строковых констант.