Skip to main content

luaur_code_gen/functions/
get_op_length.rs

1use luaur_common::enums::luau_opcode::LuauOpcode;
2
3pub fn get_op_length(op: LuauOpcode) -> i32 {
4    match op {
5        LuauOpcode::LOP_GETGLOBAL
6        | LuauOpcode::LOP_SETGLOBAL
7        | LuauOpcode::LOP_GETIMPORT
8        | LuauOpcode::LOP_GETTABLEKS
9        | LuauOpcode::LOP_SETTABLEKS
10        | LuauOpcode::LOP_NAMECALL
11        | LuauOpcode::LOP_JUMPIFEQ
12        | LuauOpcode::LOP_JUMPIFLE
13        | LuauOpcode::LOP_JUMPIFLT
14        | LuauOpcode::LOP_JUMPIFNOTEQ
15        | LuauOpcode::LOP_JUMPIFNOTLE
16        | LuauOpcode::LOP_JUMPIFNOTLT
17        | LuauOpcode::LOP_NEWTABLE
18        | LuauOpcode::LOP_SETLIST
19        | LuauOpcode::LOP_FORGLOOP
20        | LuauOpcode::LOP_LOADKX
21        | LuauOpcode::LOP_FASTCALL2
22        | LuauOpcode::LOP_FASTCALL2K
23        | LuauOpcode::LOP_FASTCALL3
24        | LuauOpcode::LOP_JUMPXEQKNIL
25        | LuauOpcode::LOP_JUMPXEQKB
26        | LuauOpcode::LOP_JUMPXEQKN
27        | LuauOpcode::LOP_JUMPXEQKS
28        | LuauOpcode::LOP_GETUDATAKS
29        | LuauOpcode::LOP_SETUDATAKS
30        | LuauOpcode::LOP_NAMECALLUDATA
31        | LuauOpcode::LOP_NEWCLASSMEMBER
32        | LuauOpcode::LOP_CALLFB
33        | LuauOpcode::LOP_CMPPROTO => 2,
34
35        _ => 1,
36    }
37}