Skip to main content

luaur_bytecode/methods/
bytecode_builder_undo_emit.rs

1use crate::records::bytecode_builder::BytecodeBuilder;
2use luaur_common::enums::luau_opcode::LuauOpcode;
3use luaur_common::macros::luau_assert::LUAU_ASSERT;
4
5impl BytecodeBuilder {
6    pub fn undo_emit(&mut self, op: LuauOpcode) {
7        LUAU_ASSERT!(!self.insns.is_empty());
8        LUAU_ASSERT!((self.insns[self.insns.len() - 1] & 0xff) == op as u32);
9
10        self.insns.pop();
11        self.lines.pop();
12    }
13}