luaur_bytecode/methods/
call_inliner_replace_call_usages_in_ops.rs1use crate::records::bc_op::BcOp;
2use crate::records::bc_proj::BcProj;
3use crate::type_aliases::bc_ops::BcOps;
4
5use luaur_common::macros::luau_assert::LUAU_ASSERT;
6
7impl<'a> crate::records::call_inliner::CallInliner<'a> {
8 pub fn replace_call_usages_in_ops(&mut self, ops: &mut BcOps) {
9 for op in ops.iter_mut() {
10 if let Some(proj_op) = self.call_projections.get(op) {
11 let proj: &mut BcProj = self.caller.proj_op(*proj_op);
12 LUAU_ASSERT!((proj.index as usize) < self.return_ops.len());
13 *op = self.return_ops[proj.index as usize];
14 }
15 }
16 }
17}