Skip to main content

rspirv/grammar/
autogen_debuginfo.rs

1// AUTOMATICALLY GENERATED from the SPIR-V JSON grammar:
2//   external/spirv.core.grammar.json.
3// DO NOT MODIFY!
4
5#[doc = "Extended instruction operand kinds."]
6#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
7#[allow(clippy::upper_case_acronyms)]
8pub enum ExtOperandKind {
9    DebugInfoFlags,
10    DebugBaseTypeAttributeEncoding,
11    DebugCompositeType,
12    DebugTypeQualifier,
13    DebugOperation,
14}
15static DEBUGINFO_INSTRUCTIONS: &[ExtendedInstruction<'static>] = &[
16    ext_inst!(Debuginfo, DebuginfoOp, DebugInfoNone, [], [], [],),
17    ext_inst!(
18        Debuginfo,
19        DebuginfoOp,
20        DebugCompilationUnit,
21        [],
22        [],
23        [
24            (OperandKind::IdRef, One),
25            (OperandKind::LiteralInteger, One),
26            (OperandKind::LiteralInteger, One)
27        ],
28    ),
29    ext_inst!(
30        Debuginfo,
31        DebuginfoOp,
32        DebugTypeBasic,
33        [],
34        [],
35        [
36            (OperandKind::IdRef, One),
37            (OperandKind::IdRef, One),
38            (
39                OperandKind::Debuginfo(ExtOperandKind::DebugBaseTypeAttributeEncoding),
40                One
41            )
42        ],
43    ),
44    ext_inst!(
45        Debuginfo,
46        DebuginfoOp,
47        DebugTypePointer,
48        [],
49        [],
50        [
51            (OperandKind::IdRef, One),
52            (OperandKind::StorageClass, One),
53            (OperandKind::Debuginfo(ExtOperandKind::DebugInfoFlags), One)
54        ],
55    ),
56    ext_inst!(
57        Debuginfo,
58        DebuginfoOp,
59        DebugTypeQualifier,
60        [],
61        [],
62        [
63            (OperandKind::IdRef, One),
64            (
65                OperandKind::Debuginfo(ExtOperandKind::DebugTypeQualifier),
66                One
67            )
68        ],
69    ),
70    ext_inst!(
71        Debuginfo,
72        DebuginfoOp,
73        DebugTypeArray,
74        [],
75        [],
76        [(OperandKind::IdRef, One), (OperandKind::IdRef, ZeroOrMore)],
77    ),
78    ext_inst!(
79        Debuginfo,
80        DebuginfoOp,
81        DebugTypeVector,
82        [],
83        [],
84        [
85            (OperandKind::IdRef, One),
86            (OperandKind::LiteralInteger, One)
87        ],
88    ),
89    ext_inst!(
90        Debuginfo,
91        DebuginfoOp,
92        DebugTypedef,
93        [],
94        [],
95        [
96            (OperandKind::IdRef, One),
97            (OperandKind::IdRef, One),
98            (OperandKind::IdRef, One),
99            (OperandKind::LiteralInteger, One),
100            (OperandKind::LiteralInteger, One),
101            (OperandKind::IdRef, One)
102        ],
103    ),
104    ext_inst!(
105        Debuginfo,
106        DebuginfoOp,
107        DebugTypeFunction,
108        [],
109        [],
110        [(OperandKind::IdRef, One), (OperandKind::IdRef, ZeroOrMore)],
111    ),
112    ext_inst!(
113        Debuginfo,
114        DebuginfoOp,
115        DebugTypeEnum,
116        [],
117        [],
118        [
119            (OperandKind::IdRef, One),
120            (OperandKind::IdRef, One),
121            (OperandKind::IdRef, One),
122            (OperandKind::LiteralInteger, One),
123            (OperandKind::LiteralInteger, One),
124            (OperandKind::IdRef, One),
125            (OperandKind::IdRef, One),
126            (OperandKind::Debuginfo(ExtOperandKind::DebugInfoFlags), One),
127            (OperandKind::PairIdRefIdRef, ZeroOrMore)
128        ],
129    ),
130    ext_inst!(
131        Debuginfo,
132        DebuginfoOp,
133        DebugTypeComposite,
134        [],
135        [],
136        [
137            (OperandKind::IdRef, One),
138            (
139                OperandKind::Debuginfo(ExtOperandKind::DebugCompositeType),
140                One
141            ),
142            (OperandKind::IdRef, One),
143            (OperandKind::LiteralInteger, One),
144            (OperandKind::LiteralInteger, One),
145            (OperandKind::IdRef, One),
146            (OperandKind::IdRef, One),
147            (OperandKind::Debuginfo(ExtOperandKind::DebugInfoFlags), One),
148            (OperandKind::IdRef, ZeroOrMore)
149        ],
150    ),
151    ext_inst!(
152        Debuginfo,
153        DebuginfoOp,
154        DebugTypeMember,
155        [],
156        [],
157        [
158            (OperandKind::IdRef, One),
159            (OperandKind::IdRef, One),
160            (OperandKind::IdRef, One),
161            (OperandKind::LiteralInteger, One),
162            (OperandKind::LiteralInteger, One),
163            (OperandKind::IdRef, One),
164            (OperandKind::IdRef, One),
165            (OperandKind::IdRef, One),
166            (OperandKind::Debuginfo(ExtOperandKind::DebugInfoFlags), One),
167            (OperandKind::IdRef, ZeroOrOne)
168        ],
169    ),
170    ext_inst!(
171        Debuginfo,
172        DebuginfoOp,
173        DebugTypeInheritance,
174        [],
175        [],
176        [
177            (OperandKind::IdRef, One),
178            (OperandKind::IdRef, One),
179            (OperandKind::IdRef, One),
180            (OperandKind::IdRef, One),
181            (OperandKind::Debuginfo(ExtOperandKind::DebugInfoFlags), One)
182        ],
183    ),
184    ext_inst!(
185        Debuginfo,
186        DebuginfoOp,
187        DebugTypePtrToMember,
188        [],
189        [],
190        [(OperandKind::IdRef, One), (OperandKind::IdRef, One)],
191    ),
192    ext_inst!(
193        Debuginfo,
194        DebuginfoOp,
195        DebugTypeTemplate,
196        [],
197        [],
198        [(OperandKind::IdRef, One), (OperandKind::IdRef, ZeroOrMore)],
199    ),
200    ext_inst!(
201        Debuginfo,
202        DebuginfoOp,
203        DebugTypeTemplateParameter,
204        [],
205        [],
206        [
207            (OperandKind::IdRef, One),
208            (OperandKind::IdRef, One),
209            (OperandKind::IdRef, One),
210            (OperandKind::IdRef, One),
211            (OperandKind::LiteralInteger, One),
212            (OperandKind::LiteralInteger, One)
213        ],
214    ),
215    ext_inst!(
216        Debuginfo,
217        DebuginfoOp,
218        DebugTypeTemplateTemplateParameter,
219        [],
220        [],
221        [
222            (OperandKind::IdRef, One),
223            (OperandKind::IdRef, One),
224            (OperandKind::IdRef, One),
225            (OperandKind::LiteralInteger, One),
226            (OperandKind::LiteralInteger, One)
227        ],
228    ),
229    ext_inst!(
230        Debuginfo,
231        DebuginfoOp,
232        DebugTypeTemplateParameterPack,
233        [],
234        [],
235        [
236            (OperandKind::IdRef, One),
237            (OperandKind::IdRef, One),
238            (OperandKind::LiteralInteger, One),
239            (OperandKind::LiteralInteger, One),
240            (OperandKind::IdRef, ZeroOrMore)
241        ],
242    ),
243    ext_inst!(
244        Debuginfo,
245        DebuginfoOp,
246        DebugGlobalVariable,
247        [],
248        [],
249        [
250            (OperandKind::IdRef, One),
251            (OperandKind::IdRef, One),
252            (OperandKind::IdRef, One),
253            (OperandKind::LiteralInteger, One),
254            (OperandKind::LiteralInteger, One),
255            (OperandKind::IdRef, One),
256            (OperandKind::IdRef, One),
257            (OperandKind::IdRef, One),
258            (OperandKind::Debuginfo(ExtOperandKind::DebugInfoFlags), One),
259            (OperandKind::IdRef, ZeroOrOne)
260        ],
261    ),
262    ext_inst!(
263        Debuginfo,
264        DebuginfoOp,
265        DebugFunctionDeclaration,
266        [],
267        [],
268        [
269            (OperandKind::IdRef, One),
270            (OperandKind::IdRef, One),
271            (OperandKind::IdRef, One),
272            (OperandKind::LiteralInteger, One),
273            (OperandKind::LiteralInteger, One),
274            (OperandKind::IdRef, One),
275            (OperandKind::IdRef, One),
276            (OperandKind::Debuginfo(ExtOperandKind::DebugInfoFlags), One)
277        ],
278    ),
279    ext_inst!(
280        Debuginfo,
281        DebuginfoOp,
282        DebugFunction,
283        [],
284        [],
285        [
286            (OperandKind::IdRef, One),
287            (OperandKind::IdRef, One),
288            (OperandKind::IdRef, One),
289            (OperandKind::LiteralInteger, One),
290            (OperandKind::LiteralInteger, One),
291            (OperandKind::IdRef, One),
292            (OperandKind::IdRef, One),
293            (OperandKind::Debuginfo(ExtOperandKind::DebugInfoFlags), One),
294            (OperandKind::LiteralInteger, One),
295            (OperandKind::IdRef, One),
296            (OperandKind::IdRef, ZeroOrOne)
297        ],
298    ),
299    ext_inst!(
300        Debuginfo,
301        DebuginfoOp,
302        DebugLexicalBlock,
303        [],
304        [],
305        [
306            (OperandKind::IdRef, One),
307            (OperandKind::LiteralInteger, One),
308            (OperandKind::LiteralInteger, One),
309            (OperandKind::IdRef, One),
310            (OperandKind::IdRef, ZeroOrOne)
311        ],
312    ),
313    ext_inst!(
314        Debuginfo,
315        DebuginfoOp,
316        DebugLexicalBlockDiscriminator,
317        [],
318        [],
319        [
320            (OperandKind::IdRef, One),
321            (OperandKind::LiteralInteger, One),
322            (OperandKind::IdRef, One)
323        ],
324    ),
325    ext_inst!(
326        Debuginfo,
327        DebuginfoOp,
328        DebugScope,
329        [],
330        [],
331        [(OperandKind::IdRef, One), (OperandKind::IdRef, ZeroOrOne)],
332    ),
333    ext_inst!(Debuginfo, DebuginfoOp, DebugNoScope, [], [], [],),
334    ext_inst!(
335        Debuginfo,
336        DebuginfoOp,
337        DebugInlinedAt,
338        [],
339        [],
340        [
341            (OperandKind::LiteralInteger, One),
342            (OperandKind::IdRef, One),
343            (OperandKind::IdRef, ZeroOrOne)
344        ],
345    ),
346    ext_inst!(
347        Debuginfo,
348        DebuginfoOp,
349        DebugLocalVariable,
350        [],
351        [],
352        [
353            (OperandKind::IdRef, One),
354            (OperandKind::IdRef, One),
355            (OperandKind::IdRef, One),
356            (OperandKind::LiteralInteger, One),
357            (OperandKind::LiteralInteger, One),
358            (OperandKind::IdRef, One),
359            (OperandKind::LiteralInteger, ZeroOrOne)
360        ],
361    ),
362    ext_inst!(
363        Debuginfo,
364        DebuginfoOp,
365        DebugInlinedVariable,
366        [],
367        [],
368        [(OperandKind::IdRef, One), (OperandKind::IdRef, One)],
369    ),
370    ext_inst!(
371        Debuginfo,
372        DebuginfoOp,
373        DebugDeclare,
374        [],
375        [],
376        [
377            (OperandKind::IdRef, One),
378            (OperandKind::IdRef, One),
379            (OperandKind::IdRef, One)
380        ],
381    ),
382    ext_inst!(
383        Debuginfo,
384        DebuginfoOp,
385        DebugValue,
386        [],
387        [],
388        [
389            (OperandKind::IdRef, One),
390            (OperandKind::IdRef, One),
391            (OperandKind::IdRef, ZeroOrMore)
392        ],
393    ),
394    ext_inst!(
395        Debuginfo,
396        DebuginfoOp,
397        DebugOperation,
398        [],
399        [],
400        [
401            (OperandKind::Debuginfo(ExtOperandKind::DebugOperation), One),
402            (OperandKind::LiteralInteger, ZeroOrMore)
403        ],
404    ),
405    ext_inst!(
406        Debuginfo,
407        DebuginfoOp,
408        DebugExpression,
409        [],
410        [],
411        [(OperandKind::IdRef, ZeroOrMore)],
412    ),
413    ext_inst!(
414        Debuginfo,
415        DebuginfoOp,
416        DebugMacroDef,
417        [],
418        [],
419        [
420            (OperandKind::IdRef, One),
421            (OperandKind::LiteralInteger, One),
422            (OperandKind::IdRef, One),
423            (OperandKind::IdRef, ZeroOrOne)
424        ],
425    ),
426    ext_inst!(
427        Debuginfo,
428        DebuginfoOp,
429        DebugMacroUndef,
430        [],
431        [],
432        [
433            (OperandKind::IdRef, One),
434            (OperandKind::LiteralInteger, One),
435            (OperandKind::IdRef, One)
436        ],
437    ),
438];
439pub static DEBUGINFO_INSTRUCTION_TABLE: InstructionTable<ExtInstOp> =
440    InstructionTable(DEBUGINFO_INSTRUCTIONS, std::marker::PhantomData);