luaur_code_gen/functions/
opcode_to_host_metamethod.rs1use luaur_common::enums::luau_opcode::LuauOpcode;
2
3use crate::enums::host_metamethod::HostMetamethod;
4
5#[inline]
6pub fn opcode_to_host_metamethod(op: LuauOpcode) -> HostMetamethod {
7 match op {
8 LuauOpcode::LOP_ADD => HostMetamethod::Add,
9 LuauOpcode::LOP_SUB => HostMetamethod::Sub,
10 LuauOpcode::LOP_MUL => HostMetamethod::Mul,
11 LuauOpcode::LOP_DIV => HostMetamethod::Div,
12 LuauOpcode::LOP_IDIV => HostMetamethod::Idiv,
13 LuauOpcode::LOP_MOD => HostMetamethod::Mod,
14 LuauOpcode::LOP_POW => HostMetamethod::Pow,
15
16 LuauOpcode::LOP_ADDK => HostMetamethod::Add,
17 LuauOpcode::LOP_SUBK => HostMetamethod::Sub,
18 LuauOpcode::LOP_MULK => HostMetamethod::Mul,
19 LuauOpcode::LOP_DIVK => HostMetamethod::Div,
20 LuauOpcode::LOP_IDIVK => HostMetamethod::Idiv,
21 LuauOpcode::LOP_MODK => HostMetamethod::Mod,
22 LuauOpcode::LOP_POWK => HostMetamethod::Pow,
23
24 LuauOpcode::LOP_SUBRK => HostMetamethod::Sub,
25 LuauOpcode::LOP_DIVRK => HostMetamethod::Div,
26
27 _ => HostMetamethod::Add,
28 }
29}