Skip to main content

luaur_bytecode/methods/
bytecode_graph_serializer_get_imm.rs

1use crate::enums::bc_op_kind::BcOpKind;
2use crate::records::bc_imm::BcImm;
3use crate::records::bc_inst::BcInst;
4use crate::records::bc_op::BcOp;
5use crate::records::bytecode_graph_serializer::BytecodeGraphSerializer;
6use luaur_common::macros::luau_assert::LUAU_ASSERT;
7
8impl<'a> BytecodeGraphSerializer<'a> {
9    pub fn get_imm(&mut self, insn: &mut BcInst, index: u8) -> &mut BcImm {
10        LUAU_ASSERT!((index as usize) < insn.ops.len());
11        let inp: BcOp = insn.ops[index as usize];
12        LUAU_ASSERT!(inp.kind == BcOpKind::Imm);
13        self.func.imm_op(inp)
14    }
15}