luau-bytecode 0.732.0

Luau bytecode model, builder, serializer, and dumper
Documentation
use luau_common::BStr;

use crate::model::{ClosureIndex, Instruction};

pub(crate) trait ClosureNameLookup {
    fn closure_name(&self, id: ClosureIndex) -> Option<&BStr>;
}

pub(crate) trait BytecodeFunctionWire {
    fn code(&self) -> &[Instruction];
    fn constant_count(&self) -> usize;
    fn append_constant(
        &self,
        result: &mut Vec<u8>,
        index: usize,
        closure_names: &dyn ClosureNameLookup,
        detailed: bool,
    );
    fn line_for_pc(&self, pc: usize) -> Option<i32>;
}