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