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}