1#[allow(non_camel_case_types)]
2#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
3#[repr(u8)]
4pub enum LuauOpcode {
5 LOP_NOP,
6 LOP_BREAK,
7 LOP_LOADNIL,
8 LOP_LOADB,
9 LOP_LOADN,
10 LOP_LOADK,
11 LOP_MOVE,
12 LOP_GETGLOBAL,
13 LOP_SETGLOBAL,
14 LOP_GETUPVAL,
15 LOP_SETUPVAL,
16 LOP_CLOSEUPVALS,
17 LOP_GETIMPORT,
18 LOP_GETTABLE,
19 LOP_SETTABLE,
20 LOP_GETTABLEKS,
21 LOP_SETTABLEKS,
22 LOP_GETTABLEN,
23 LOP_SETTABLEN,
24 LOP_NEWCLOSURE,
25 LOP_NAMECALL,
26 LOP_CALL,
27 LOP_RETURN,
28 LOP_JUMP,
29 LOP_JUMPBACK,
30 LOP_JUMPIF,
31 LOP_JUMPIFNOT,
32 LOP_JUMPIFEQ,
33 LOP_JUMPIFLE,
34 LOP_JUMPIFLT,
35 LOP_JUMPIFNOTEQ,
36 LOP_JUMPIFNOTLE,
37 LOP_JUMPIFNOTLT,
38 LOP_ADD,
39 LOP_SUB,
40 LOP_MUL,
41 LOP_DIV,
42 LOP_MOD,
43 LOP_POW,
44 LOP_ADDK,
45 LOP_SUBK,
46 LOP_MULK,
47 LOP_DIVK,
48 LOP_MODK,
49 LOP_POWK,
50 LOP_AND,
51 LOP_OR,
52 LOP_ANDK,
53 LOP_ORK,
54 LOP_CONCAT,
55 LOP_NOT,
56 LOP_MINUS,
57 LOP_LENGTH,
58 LOP_NEWTABLE,
59 LOP_DUPTABLE,
60 LOP_SETLIST,
61 LOP_FORNPREP,
62 LOP_FORNLOOP,
63 LOP_FORGLOOP,
64 LOP_FORGPREP_INEXT,
65 LOP_FASTCALL3,
66 LOP_FORGPREP_NEXT,
67 LOP_NATIVECALL,
68 LOP_GETVARARGS,
69 LOP_DUPCLOSURE,
70 LOP_PREPVARARGS,
71 LOP_LOADKX,
72 LOP_JUMPX,
73 LOP_FASTCALL,
74 LOP_COVERAGE,
75 LOP_CAPTURE,
76 LOP_SUBRK,
77 LOP_DIVRK,
78 LOP_FASTCALL1,
79 LOP_FASTCALL2,
80 LOP_FASTCALL2K,
81 LOP_FORGPREP,
82 LOP_JUMPXEQKNIL,
83 LOP_JUMPXEQKB,
84 LOP_JUMPXEQKN,
85 LOP_JUMPXEQKS,
86 LOP_IDIV,
87 LOP_IDIVK,
88 LOP_GETUDATAKS,
89 LOP_SETUDATAKS,
90 LOP_NAMECALLUDATA,
91 LOP_NEWCLASSMEMBER,
92 LOP_CALLFB,
93 LOP_CMPPROTO,
94 LOP__COUNT,
95}
96
97impl LuauOpcode {
98 pub const LOP_NOP: LuauOpcode = LuauOpcode::LOP_NOP;
99 pub const LOP_BREAK: LuauOpcode = LuauOpcode::LOP_BREAK;
100 pub const LOP_LOADNIL: LuauOpcode = LuauOpcode::LOP_LOADNIL;
101 pub const LOP_LOADB: LuauOpcode = LuauOpcode::LOP_LOADB;
102 pub const LOP_LOADN: LuauOpcode = LuauOpcode::LOP_LOADN;
103 pub const LOP_LOADK: LuauOpcode = LuauOpcode::LOP_LOADK;
104 pub const LOP_MOVE: LuauOpcode = LuauOpcode::LOP_MOVE;
105 pub const LOP_GETGLOBAL: LuauOpcode = LuauOpcode::LOP_GETGLOBAL;
106 pub const LOP_SETGLOBAL: LuauOpcode = LuauOpcode::LOP_SETGLOBAL;
107 pub const LOP_GETUPVAL: LuauOpcode = LuauOpcode::LOP_GETUPVAL;
108 pub const LOP_SETUPVAL: LuauOpcode = LuauOpcode::LOP_SETUPVAL;
109 pub const LOP_CLOSEUPVALS: LuauOpcode = LuauOpcode::LOP_CLOSEUPVALS;
110 pub const LOP_GETIMPORT: LuauOpcode = LuauOpcode::LOP_GETIMPORT;
111 pub const LOP_GETTABLE: LuauOpcode = LuauOpcode::LOP_GETTABLE;
112 pub const LOP_SETTABLE: LuauOpcode = LuauOpcode::LOP_SETTABLE;
113 pub const LOP_GETTABLEKS: LuauOpcode = LuauOpcode::LOP_GETTABLEKS;
114 pub const LOP_SETTABLEKS: LuauOpcode = LuauOpcode::LOP_SETTABLEKS;
115 pub const LOP_GETTABLEN: LuauOpcode = LuauOpcode::LOP_GETTABLEN;
116 pub const LOP_SETTABLEN: LuauOpcode = LuauOpcode::LOP_SETTABLEN;
117 pub const LOP_NEWCLOSURE: LuauOpcode = LuauOpcode::LOP_NEWCLOSURE;
118 pub const LOP_NAMECALL: LuauOpcode = LuauOpcode::LOP_NAMECALL;
119 pub const LOP_CALL: LuauOpcode = LuauOpcode::LOP_CALL;
120 pub const LOP_RETURN: LuauOpcode = LuauOpcode::LOP_RETURN;
121 pub const LOP_JUMP: LuauOpcode = LuauOpcode::LOP_JUMP;
122 pub const LOP_JUMPBACK: LuauOpcode = LuauOpcode::LOP_JUMPBACK;
123 pub const LOP_JUMPIF: LuauOpcode = LuauOpcode::LOP_JUMPIF;
124 pub const LOP_JUMPIFNOT: LuauOpcode = LuauOpcode::LOP_JUMPIFNOT;
125 pub const LOP_JUMPIFEQ: LuauOpcode = LuauOpcode::LOP_JUMPIFEQ;
126 pub const LOP_JUMPIFLE: LuauOpcode = LuauOpcode::LOP_JUMPIFLE;
127 pub const LOP_JUMPIFLT: LuauOpcode = LuauOpcode::LOP_JUMPIFLT;
128 pub const LOP_JUMPIFNOTEQ: LuauOpcode = LuauOpcode::LOP_JUMPIFNOTEQ;
129 pub const LOP_JUMPIFNOTLE: LuauOpcode = LuauOpcode::LOP_JUMPIFNOTLE;
130 pub const LOP_JUMPIFNOTLT: LuauOpcode = LuauOpcode::LOP_JUMPIFNOTLT;
131 pub const LOP_ADD: LuauOpcode = LuauOpcode::LOP_ADD;
132 pub const LOP_SUB: LuauOpcode = LuauOpcode::LOP_SUB;
133 pub const LOP_MUL: LuauOpcode = LuauOpcode::LOP_MUL;
134 pub const LOP_DIV: LuauOpcode = LuauOpcode::LOP_DIV;
135 pub const LOP_MOD: LuauOpcode = LuauOpcode::LOP_MOD;
136 pub const LOP_POW: LuauOpcode = LuauOpcode::LOP_POW;
137 pub const LOP_ADDK: LuauOpcode = LuauOpcode::LOP_ADDK;
138 pub const LOP_SUBK: LuauOpcode = LuauOpcode::LOP_SUBK;
139 pub const LOP_MULK: LuauOpcode = LuauOpcode::LOP_MULK;
140 pub const LOP_DIVK: LuauOpcode = LuauOpcode::LOP_DIVK;
141 pub const LOP_MODK: LuauOpcode = LuauOpcode::LOP_MODK;
142 pub const LOP_POWK: LuauOpcode = LuauOpcode::LOP_POWK;
143 pub const LOP_AND: LuauOpcode = LuauOpcode::LOP_AND;
144 pub const LOP_OR: LuauOpcode = LuauOpcode::LOP_OR;
145 pub const LOP_ANDK: LuauOpcode = LuauOpcode::LOP_ANDK;
146 pub const LOP_ORK: LuauOpcode = LuauOpcode::LOP_ORK;
147 pub const LOP_CONCAT: LuauOpcode = LuauOpcode::LOP_CONCAT;
148 pub const LOP_NOT: LuauOpcode = LuauOpcode::LOP_NOT;
149 pub const LOP_MINUS: LuauOpcode = LuauOpcode::LOP_MINUS;
150 pub const LOP_LENGTH: LuauOpcode = LuauOpcode::LOP_LENGTH;
151 pub const LOP_NEWTABLE: LuauOpcode = LuauOpcode::LOP_NEWTABLE;
152 pub const LOP_DUPTABLE: LuauOpcode = LuauOpcode::LOP_DUPTABLE;
153 pub const LOP_SETLIST: LuauOpcode = LuauOpcode::LOP_SETLIST;
154 pub const LOP_FORNPREP: LuauOpcode = LuauOpcode::LOP_FORNPREP;
155 pub const LOP_FORNLOOP: LuauOpcode = LuauOpcode::LOP_FORNLOOP;
156 pub const LOP_FORGLOOP: LuauOpcode = LuauOpcode::LOP_FORGLOOP;
157 pub const LOP_FORGPREP_INEXT: LuauOpcode = LuauOpcode::LOP_FORGPREP_INEXT;
158 pub const LOP_FASTCALL3: LuauOpcode = LuauOpcode::LOP_FASTCALL3;
159 pub const LOP_FORGPREP_NEXT: LuauOpcode = LuauOpcode::LOP_FORGPREP_NEXT;
160 pub const LOP_NATIVECALL: LuauOpcode = LuauOpcode::LOP_NATIVECALL;
161 pub const LOP_GETVARARGS: LuauOpcode = LuauOpcode::LOP_GETVARARGS;
162 pub const LOP_DUPCLOSURE: LuauOpcode = LuauOpcode::LOP_DUPCLOSURE;
163 pub const LOP_PREPVARARGS: LuauOpcode = LuauOpcode::LOP_PREPVARARGS;
164 pub const LOP_LOADKX: LuauOpcode = LuauOpcode::LOP_LOADKX;
165 pub const LOP_JUMPX: LuauOpcode = LuauOpcode::LOP_JUMPX;
166 pub const LOP_FASTCALL: LuauOpcode = LuauOpcode::LOP_FASTCALL;
167 pub const LOP_COVERAGE: LuauOpcode = LuauOpcode::LOP_COVERAGE;
168 pub const LOP_CAPTURE: LuauOpcode = LuauOpcode::LOP_CAPTURE;
169 pub const LOP_SUBRK: LuauOpcode = LuauOpcode::LOP_SUBRK;
170 pub const LOP_DIVRK: LuauOpcode = LuauOpcode::LOP_DIVRK;
171 pub const LOP_FASTCALL1: LuauOpcode = LuauOpcode::LOP_FASTCALL1;
172 pub const LOP_FASTCALL2: LuauOpcode = LuauOpcode::LOP_FASTCALL2;
173 pub const LOP_FASTCALL2K: LuauOpcode = LuauOpcode::LOP_FASTCALL2K;
174 pub const LOP_FORGPREP: LuauOpcode = LuauOpcode::LOP_FORGPREP;
175 pub const LOP_JUMPXEQKNIL: LuauOpcode = LuauOpcode::LOP_JUMPXEQKNIL;
176 pub const LOP_JUMPXEQKB: LuauOpcode = LuauOpcode::LOP_JUMPXEQKB;
177 pub const LOP_JUMPXEQKN: LuauOpcode = LuauOpcode::LOP_JUMPXEQKN;
178 pub const LOP_JUMPXEQKS: LuauOpcode = LuauOpcode::LOP_JUMPXEQKS;
179 pub const LOP_IDIV: LuauOpcode = LuauOpcode::LOP_IDIV;
180 pub const LOP_IDIVK: LuauOpcode = LuauOpcode::LOP_IDIVK;
181 pub const LOP_GETUDATAKS: LuauOpcode = LuauOpcode::LOP_GETUDATAKS;
182 pub const LOP_SETUDATAKS: LuauOpcode = LuauOpcode::LOP_SETUDATAKS;
183 pub const LOP_NAMECALLUDATA: LuauOpcode = LuauOpcode::LOP_NAMECALLUDATA;
184 pub const LOP_NEWCLASSMEMBER: LuauOpcode = LuauOpcode::LOP_NEWCLASSMEMBER;
185 pub const LOP_CALLFB: LuauOpcode = LuauOpcode::LOP_CALLFB;
186 pub const LOP_CMPPROTO: LuauOpcode = LuauOpcode::LOP_CMPPROTO;
187 pub const LOP__COUNT: LuauOpcode = LuauOpcode::LOP__COUNT;
188}
189
190impl From<u8> for LuauOpcode {
191 fn from(v: u8) -> Self {
195 unsafe { core::mem::transmute(v) }
196 }
197}