001/*
002 * Licensed to the Apache Software Foundation (ASF) under one or more
003 * contributor license agreements.  See the NOTICE file distributed with
004 * this work for additional information regarding copyright ownership.
005 * The ASF licenses this file to You under the Apache License, Version 2.0
006 * (the "License"); you may not use this file except in compliance with
007 * the License.  You may obtain a copy of the License at
008 *
009 *      http://www.apache.org/licenses/LICENSE-2.0
010 *
011 *  Unless required by applicable law or agreed to in writing, software
012 *  distributed under the License is distributed on an "AS IS" BASIS,
013 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 *  See the License for the specific language governing permissions and
015 *  limitations under the License.
016 *
017 */
018package org.apache.bcel;
019
020/**
021 * Constants for the project, mostly defined in the JVM specification.
022 *
023 * @deprecated (since 6.0) DO NOT USE - use {@link Const} instead.
024 */
025@Deprecated
026public interface Constants {
027
028    /**
029     * Major version number of class files for Java 1.1.
030     *
031     * @see #MINOR_1_1
032     */
033    short MAJOR_1_1 = 45;
034
035    /**
036     * Minor version number of class files for Java 1.1.
037     *
038     * @see #MAJOR_1_1
039     */
040    short MINOR_1_1 = 3;
041
042    /**
043     * Major version number of class files for Java 1.2.
044     *
045     * @see #MINOR_1_2
046     */
047    short MAJOR_1_2 = 46;
048
049    /**
050     * Minor version number of class files for Java 1.2.
051     *
052     * @see #MAJOR_1_2
053     */
054    short MINOR_1_2 = 0;
055
056    /**
057     * Major version number of class files for Java 1.2.
058     *
059     * @see #MINOR_1_2
060     */
061    short MAJOR_1_3 = 47;
062
063    /**
064     * Minor version number of class files for Java 1.3.
065     *
066     * @see #MAJOR_1_3
067     */
068    short MINOR_1_3 = 0;
069
070    /**
071     * Major version number of class files for Java 1.3.
072     *
073     * @see #MINOR_1_3
074     */
075    short MAJOR_1_4 = 48;
076
077    /**
078     * Minor version number of class files for Java 1.4.
079     *
080     * @see #MAJOR_1_4
081     */
082    short MINOR_1_4 = 0;
083
084    /**
085     * Major version number of class files for Java 1.4.
086     *
087     * @see #MINOR_1_4
088     */
089    short MAJOR_1_5 = 49;
090
091    /**
092     * Minor version number of class files for Java 1.5.
093     *
094     * @see #MAJOR_1_5
095     */
096    short MINOR_1_5 = 0;
097
098    /**
099     * Default major version number. Class file is for Java 1.1.
100     *
101     * @see #MAJOR_1_1
102     */
103    short MAJOR = MAJOR_1_1;
104
105    /**
106     * Default major version number. Class file is for Java 1.1.
107     *
108     * @see #MAJOR_1_1
109     */
110    short MINOR = MINOR_1_1;
111
112    /**
113     * Maximum value for an unsigned short.
114     */
115    int MAX_SHORT = 65535; // 2^16 - 1
116
117    /**
118     * Maximum value for an unsigned byte.
119     */
120    int MAX_BYTE = 255; // 2^8 - 1
121
122    /**
123     * One of the access flags for fields, methods, or classes.
124     *
125     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.5"> Flag definitions for Fields
126     *      in the Java Virtual Machine Specification (Java SE 8 Edition).</a>
127     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.6"> Flag definitions for Methods
128     *      in the Java Virtual Machine Specification (Java SE 8 Edition).</a>
129     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.7.6-300-D.1-D.1"> Flag
130     *      definitions for Classes in the Java Virtual Machine Specification (Java SE 8 Edition).</a>
131     */
132    short ACC_PUBLIC = 0x0001;
133
134    /**
135     * One of the access flags for fields, methods, or classes.
136     *
137     * @see #ACC_PUBLIC
138     */
139    short ACC_PRIVATE = 0x0002;
140
141    /**
142     * One of the access flags for fields, methods, or classes.
143     *
144     * @see #ACC_PUBLIC
145     */
146    short ACC_PROTECTED = 0x0004;
147
148    /**
149     * One of the access flags for fields, methods, or classes.
150     *
151     * @see #ACC_PUBLIC
152     */
153    short ACC_STATIC = 0x0008;
154
155    /**
156     * One of the access flags for fields, methods, or classes.
157     *
158     * @see #ACC_PUBLIC
159     */
160    short ACC_FINAL = 0x0010;
161
162    /**
163     * One of the access flags for fields, methods, or classes.
164     *
165     * @see #ACC_PUBLIC
166     */
167    short ACC_SYNCHRONIZED = 0x0020;
168
169    /**
170     * One of the access flags for fields, methods, or classes.
171     *
172     * @see #ACC_PUBLIC
173     */
174    short ACC_VOLATILE = 0x0040;
175
176    /**
177     * One of the access flags for fields, methods, or classes.
178     *
179     * @see #ACC_PUBLIC
180     */
181    short ACC_BRIDGE = 0x0040;
182
183    /**
184     * One of the access flags for fields, methods, or classes.
185     *
186     * @see #ACC_PUBLIC
187     */
188    short ACC_TRANSIENT = 0x0080;
189
190    /**
191     * One of the access flags for fields, methods, or classes.
192     *
193     * @see #ACC_PUBLIC
194     */
195    short ACC_VARARGS = 0x0080;
196
197    /**
198     * One of the access flags for fields, methods, or classes.
199     *
200     * @see #ACC_PUBLIC
201     */
202    short ACC_NATIVE = 0x0100;
203
204    /**
205     * One of the access flags for fields, methods, or classes.
206     *
207     * @see #ACC_PUBLIC
208     */
209    short ACC_INTERFACE = 0x0200;
210
211    /**
212     * One of the access flags for fields, methods, or classes.
213     *
214     * @see #ACC_PUBLIC
215     */
216    short ACC_ABSTRACT = 0x0400;
217
218    /**
219     * One of the access flags for fields, methods, or classes.
220     *
221     * @see #ACC_PUBLIC
222     */
223    short ACC_STRICT = 0x0800;
224
225    /**
226     * One of the access flags for fields, methods, or classes.
227     *
228     * @see #ACC_PUBLIC
229     */
230    short ACC_SYNTHETIC = 0x1000;
231
232    /**
233     * One of the access flags for fields, methods, or classes.
234     *
235     * @see #ACC_PUBLIC
236     */
237    short ACC_ANNOTATION = 0x2000;
238
239    /**
240     * One of the access flags for fields, methods, or classes.
241     *
242     * @see #ACC_PUBLIC
243     */
244    short ACC_ENUM = 0x4000;
245
246    // Applies to classes compiled by new compilers only
247    /**
248     * One of the access flags for fields, methods, or classes.
249     *
250     * @see #ACC_PUBLIC
251     */
252    short ACC_SUPER = 0x0020;
253
254    /**
255     * One of the access flags for fields, methods, or classes.
256     *
257     * @see #ACC_PUBLIC
258     */
259    short MAX_ACC_FLAG = ACC_ENUM;
260
261    /** The names of the access flags. */
262    String[] ACCESS_NAMES = {"public", "private", "protected", "static", "final", "synchronized", "volatile", "transient", "native", "interface", "abstract",
263        "strictfp", "synthetic", "annotation", "enum"};
264
265    /** Marks a constant pool entry as type UTF-8. */
266    byte CONSTANT_Utf8 = 1;
267
268    /** Marks a constant pool entry as type Integer. */
269    byte CONSTANT_Integer = 3;
270
271    /** Marks a constant pool entry as type Float. */
272    byte CONSTANT_Float = 4;
273
274    /** Marks a constant pool entry as type Long. */
275    byte CONSTANT_Long = 5;
276
277    /** Marks a constant pool entry as type Double. */
278    byte CONSTANT_Double = 6;
279
280    /** Marks a constant pool entry as a Class. */
281    byte CONSTANT_Class = 7;
282
283    /** Marks a constant pool entry as a Field Reference. */
284    byte CONSTANT_Fieldref = 9;
285
286    /** Marks a constant pool entry as type String. */
287    byte CONSTANT_String = 8;
288
289    /** Marks a constant pool entry as a Method Reference. */
290    byte CONSTANT_Methodref = 10;
291
292    /** Marks a constant pool entry as an Interface Method Reference. */
293    byte CONSTANT_InterfaceMethodref = 11;
294
295    /** Marks a constant pool entry as a name and type. */
296    byte CONSTANT_NameAndType = 12;
297
298    /** The names of the types of entries in a constant pool. */
299    String[] CONSTANT_NAMES = {"", "CONSTANT_Utf8", "", "CONSTANT_Integer", "CONSTANT_Float", "CONSTANT_Long", "CONSTANT_Double", "CONSTANT_Class",
300        "CONSTANT_String", "CONSTANT_Fieldref", "CONSTANT_Methodref", "CONSTANT_InterfaceMethodref", "CONSTANT_NameAndType"};
301
302    /**
303     * The name of the static initializer, also called &quot;class initialization method&quot; or &quot;interface
304     * initialization method&quot;. This is &quot;&lt;clinit&gt;&quot;.
305     */
306    String STATIC_INITIALIZER_NAME = "<clinit>";
307
308    /**
309     * The name of every constructor method in a class, also called &quot;instance initialization method&quot;. This is
310     * &quot;&lt;init&gt;&quot;.
311     */
312    String CONSTRUCTOR_NAME = "<init>";
313
314    /** The names of the interfaces implemented by arrays */
315    String[] INTERFACES_IMPLEMENTED_BY_ARRAYS = {"java.lang.Cloneable", "java.io.Serializable"};
316
317    /**
318     * One of the limitations of the Java Virtual Machine.
319     *
320     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.11"> The Java Virtual Machine
321     *      Specification, Second Edition, page 152, chapter 4.10.</a>
322     */
323    int MAX_CP_ENTRIES = 65535;
324
325    /**
326     * One of the limitations of the Java Virtual Machine.
327     *
328     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.11"> The Java Virtual Machine
329     *      Specification, Second Edition, page 152, chapter 4.10.</a>
330     */
331    int MAX_CODE_SIZE = 65536; // bytes
332
333    /**
334     * Java VM opcode.
335     *
336     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
337     *      Java Virtual Machine Specification</a>
338     */
339    short NOP = 0;
340
341    /**
342     * Java VM opcode.
343     *
344     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
345     *      Java Virtual Machine Specification</a>
346     */
347    short ACONST_NULL = 1;
348
349    /**
350     * Java VM opcode.
351     *
352     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
353     *      Java Virtual Machine Specification</a>
354     */
355    short ICONST_M1 = 2;
356
357    /**
358     * Java VM opcode.
359     *
360     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
361     *      Java Virtual Machine Specification</a>
362     */
363    short ICONST_0 = 3;
364
365    /**
366     * Java VM opcode.
367     *
368     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
369     *      Java Virtual Machine Specification</a>
370     */
371    short ICONST_1 = 4;
372
373    /**
374     * Java VM opcode.
375     *
376     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
377     *      Java Virtual Machine Specification</a>
378     */
379    short ICONST_2 = 5;
380
381    /**
382     * Java VM opcode.
383     *
384     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
385     *      Java Virtual Machine Specification</a>
386     */
387    short ICONST_3 = 6;
388
389    /**
390     * Java VM opcode.
391     *
392     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
393     *      Java Virtual Machine Specification</a>
394     */
395    short ICONST_4 = 7;
396
397    /**
398     * Java VM opcode.
399     *
400     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
401     *      Java Virtual Machine Specification</a>
402     */
403    short ICONST_5 = 8;
404
405    /**
406     * Java VM opcode.
407     *
408     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
409     *      Java Virtual Machine Specification</a>
410     */
411    short LCONST_0 = 9;
412
413    /**
414     * Java VM opcode.
415     *
416     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
417     *      Java Virtual Machine Specification</a>
418     */
419    short LCONST_1 = 10;
420
421    /**
422     * Java VM opcode.
423     *
424     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
425     *      Java Virtual Machine Specification</a>
426     */
427    short FCONST_0 = 11;
428
429    /**
430     * Java VM opcode.
431     *
432     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
433     *      Java Virtual Machine Specification</a>
434     */
435    short FCONST_1 = 12;
436
437    /**
438     * Java VM opcode.
439     *
440     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
441     *      Java Virtual Machine Specification</a>
442     */
443    short FCONST_2 = 13;
444
445    /**
446     * Java VM opcode.
447     *
448     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
449     *      Java Virtual Machine Specification</a>
450     */
451    short DCONST_0 = 14;
452
453    /**
454     * Java VM opcode.
455     *
456     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
457     *      Java Virtual Machine Specification</a>
458     */
459    short DCONST_1 = 15;
460
461    /**
462     * Java VM opcode.
463     *
464     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
465     *      Java Virtual Machine Specification</a>
466     */
467    short BIPUSH = 16;
468
469    /**
470     * Java VM opcode.
471     *
472     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
473     *      Java Virtual Machine Specification</a>
474     */
475    short SIPUSH = 17;
476
477    /**
478     * Java VM opcode.
479     *
480     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
481     *      Java Virtual Machine Specification</a>
482     */
483    short LDC = 18;
484
485    /**
486     * Java VM opcode.
487     *
488     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
489     *      Java Virtual Machine Specification</a>
490     */
491    short LDC_W = 19;
492
493    /**
494     * Java VM opcode.
495     *
496     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
497     *      Java Virtual Machine Specification</a>
498     */
499    short LDC2_W = 20;
500
501    /**
502     * Java VM opcode.
503     *
504     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
505     *      Java Virtual Machine Specification</a>
506     */
507    short ILOAD = 21;
508
509    /**
510     * Java VM opcode.
511     *
512     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
513     *      Java Virtual Machine Specification</a>
514     */
515    short LLOAD = 22;
516
517    /**
518     * Java VM opcode.
519     *
520     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
521     *      Java Virtual Machine Specification</a>
522     */
523    short FLOAD = 23;
524
525    /**
526     * Java VM opcode.
527     *
528     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
529     *      Java Virtual Machine Specification</a>
530     */
531    short DLOAD = 24;
532
533    /**
534     * Java VM opcode.
535     *
536     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
537     *      Java Virtual Machine Specification</a>
538     */
539    short ALOAD = 25;
540
541    /**
542     * Java VM opcode.
543     *
544     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
545     *      Java Virtual Machine Specification</a>
546     */
547    short ILOAD_0 = 26;
548
549    /**
550     * Java VM opcode.
551     *
552     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
553     *      Java Virtual Machine Specification</a>
554     */
555    short ILOAD_1 = 27;
556
557    /**
558     * Java VM opcode.
559     *
560     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
561     *      Java Virtual Machine Specification</a>
562     */
563    short ILOAD_2 = 28;
564
565    /**
566     * Java VM opcode.
567     *
568     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
569     *      Java Virtual Machine Specification</a>
570     */
571    short ILOAD_3 = 29;
572
573    /**
574     * Java VM opcode.
575     *
576     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
577     *      Java Virtual Machine Specification</a>
578     */
579    short LLOAD_0 = 30;
580
581    /**
582     * Java VM opcode.
583     *
584     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
585     *      Java Virtual Machine Specification</a>
586     */
587    short LLOAD_1 = 31;
588
589    /**
590     * Java VM opcode.
591     *
592     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
593     *      Java Virtual Machine Specification</a>
594     */
595    short LLOAD_2 = 32;
596
597    /**
598     * Java VM opcode.
599     *
600     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
601     *      Java Virtual Machine Specification</a>
602     */
603    short LLOAD_3 = 33;
604
605    /**
606     * Java VM opcode.
607     *
608     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
609     *      Java Virtual Machine Specification</a>
610     */
611    short FLOAD_0 = 34;
612
613    /**
614     * Java VM opcode.
615     *
616     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
617     *      Java Virtual Machine Specification</a>
618     */
619    short FLOAD_1 = 35;
620
621    /**
622     * Java VM opcode.
623     *
624     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
625     *      Java Virtual Machine Specification</a>
626     */
627    short FLOAD_2 = 36;
628
629    /**
630     * Java VM opcode.
631     *
632     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
633     *      Java Virtual Machine Specification</a>
634     */
635    short FLOAD_3 = 37;
636
637    /**
638     * Java VM opcode.
639     *
640     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
641     *      Java Virtual Machine Specification</a>
642     */
643    short DLOAD_0 = 38;
644
645    /**
646     * Java VM opcode.
647     *
648     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
649     *      Java Virtual Machine Specification</a>
650     */
651    short DLOAD_1 = 39;
652
653    /**
654     * Java VM opcode.
655     *
656     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
657     *      Java Virtual Machine Specification</a>
658     */
659    short DLOAD_2 = 40;
660
661    /**
662     * Java VM opcode.
663     *
664     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
665     *      Java Virtual Machine Specification</a>
666     */
667    short DLOAD_3 = 41;
668
669    /**
670     * Java VM opcode.
671     *
672     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
673     *      Java Virtual Machine Specification</a>
674     */
675    short ALOAD_0 = 42;
676
677    /**
678     * Java VM opcode.
679     *
680     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
681     *      Java Virtual Machine Specification</a>
682     */
683    short ALOAD_1 = 43;
684
685    /**
686     * Java VM opcode.
687     *
688     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
689     *      Java Virtual Machine Specification</a>
690     */
691    short ALOAD_2 = 44;
692
693    /**
694     * Java VM opcode.
695     *
696     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
697     *      Java Virtual Machine Specification</a>
698     */
699    short ALOAD_3 = 45;
700
701    /**
702     * Java VM opcode.
703     *
704     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
705     *      Java Virtual Machine Specification</a>
706     */
707    short IALOAD = 46;
708
709    /**
710     * Java VM opcode.
711     *
712     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
713     *      Java Virtual Machine Specification</a>
714     */
715    short LALOAD = 47;
716
717    /**
718     * Java VM opcode.
719     *
720     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
721     *      Java Virtual Machine Specification</a>
722     */
723    short FALOAD = 48;
724
725    /**
726     * Java VM opcode.
727     *
728     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
729     *      Java Virtual Machine Specification</a>
730     */
731    short DALOAD = 49;
732
733    /**
734     * Java VM opcode.
735     *
736     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
737     *      Java Virtual Machine Specification</a>
738     */
739    short AALOAD = 50;
740
741    /**
742     * Java VM opcode.
743     *
744     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
745     *      Java Virtual Machine Specification</a>
746     */
747    short BALOAD = 51;
748
749    /**
750     * Java VM opcode.
751     *
752     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
753     *      Java Virtual Machine Specification</a>
754     */
755    short CALOAD = 52;
756
757    /**
758     * Java VM opcode.
759     *
760     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
761     *      Java Virtual Machine Specification</a>
762     */
763    short SALOAD = 53;
764
765    /**
766     * Java VM opcode.
767     *
768     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
769     *      Java Virtual Machine Specification</a>
770     */
771    short ISTORE = 54;
772
773    /**
774     * Java VM opcode.
775     *
776     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
777     *      Java Virtual Machine Specification</a>
778     */
779    short LSTORE = 55;
780
781    /**
782     * Java VM opcode.
783     *
784     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
785     *      Java Virtual Machine Specification</a>
786     */
787    short FSTORE = 56;
788
789    /**
790     * Java VM opcode.
791     *
792     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
793     *      Java Virtual Machine Specification</a>
794     */
795    short DSTORE = 57;
796
797    /**
798     * Java VM opcode.
799     *
800     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
801     *      Java Virtual Machine Specification</a>
802     */
803    short ASTORE = 58;
804
805    /**
806     * Java VM opcode.
807     *
808     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
809     *      Java Virtual Machine Specification</a>
810     */
811    short ISTORE_0 = 59;
812
813    /**
814     * Java VM opcode.
815     *
816     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
817     *      Java Virtual Machine Specification</a>
818     */
819    short ISTORE_1 = 60;
820
821    /**
822     * Java VM opcode.
823     *
824     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
825     *      Java Virtual Machine Specification</a>
826     */
827    short ISTORE_2 = 61;
828
829    /**
830     * Java VM opcode.
831     *
832     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
833     *      Java Virtual Machine Specification</a>
834     */
835    short ISTORE_3 = 62;
836
837    /**
838     * Java VM opcode.
839     *
840     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
841     *      Java Virtual Machine Specification</a>
842     */
843    short LSTORE_0 = 63;
844
845    /**
846     * Java VM opcode.
847     *
848     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
849     *      Java Virtual Machine Specification</a>
850     */
851    short LSTORE_1 = 64;
852
853    /**
854     * Java VM opcode.
855     *
856     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
857     *      Java Virtual Machine Specification</a>
858     */
859    short LSTORE_2 = 65;
860
861    /**
862     * Java VM opcode.
863     *
864     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
865     *      Java Virtual Machine Specification</a>
866     */
867    short LSTORE_3 = 66;
868
869    /**
870     * Java VM opcode.
871     *
872     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
873     *      Java Virtual Machine Specification</a>
874     */
875    short FSTORE_0 = 67;
876
877    /**
878     * Java VM opcode.
879     *
880     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
881     *      Java Virtual Machine Specification</a>
882     */
883    short FSTORE_1 = 68;
884
885    /**
886     * Java VM opcode.
887     *
888     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
889     *      Java Virtual Machine Specification</a>
890     */
891    short FSTORE_2 = 69;
892
893    /**
894     * Java VM opcode.
895     *
896     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
897     *      Java Virtual Machine Specification</a>
898     */
899    short FSTORE_3 = 70;
900
901    /**
902     * Java VM opcode.
903     *
904     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
905     *      Java Virtual Machine Specification</a>
906     */
907    short DSTORE_0 = 71;
908
909    /**
910     * Java VM opcode.
911     *
912     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
913     *      Java Virtual Machine Specification</a>
914     */
915    short DSTORE_1 = 72;
916
917    /**
918     * Java VM opcode.
919     *
920     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
921     *      Java Virtual Machine Specification</a>
922     */
923    short DSTORE_2 = 73;
924
925    /**
926     * Java VM opcode.
927     *
928     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
929     *      Java Virtual Machine Specification</a>
930     */
931    short DSTORE_3 = 74;
932
933    /**
934     * Java VM opcode.
935     *
936     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
937     *      Java Virtual Machine Specification</a>
938     */
939    short ASTORE_0 = 75;
940
941    /**
942     * Java VM opcode.
943     *
944     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
945     *      Java Virtual Machine Specification</a>
946     */
947    short ASTORE_1 = 76;
948
949    /**
950     * Java VM opcode.
951     *
952     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
953     *      Java Virtual Machine Specification</a>
954     */
955    short ASTORE_2 = 77;
956
957    /**
958     * Java VM opcode.
959     *
960     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
961     *      Java Virtual Machine Specification</a>
962     */
963    short ASTORE_3 = 78;
964
965    /**
966     * Java VM opcode.
967     *
968     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
969     *      Java Virtual Machine Specification</a>
970     */
971    short IASTORE = 79;
972
973    /**
974     * Java VM opcode.
975     *
976     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
977     *      Java Virtual Machine Specification</a>
978     */
979    short LASTORE = 80;
980
981    /**
982     * Java VM opcode.
983     *
984     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
985     *      Java Virtual Machine Specification</a>
986     */
987    short FASTORE = 81;
988
989    /**
990     * Java VM opcode.
991     *
992     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
993     *      Java Virtual Machine Specification</a>
994     */
995    short DASTORE = 82;
996
997    /**
998     * Java VM opcode.
999     *
1000     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1001     *      Java Virtual Machine Specification</a>
1002     */
1003    short AASTORE = 83;
1004
1005    /**
1006     * Java VM opcode.
1007     *
1008     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1009     *      Java Virtual Machine Specification</a>
1010     */
1011    short BASTORE = 84;
1012
1013    /**
1014     * Java VM opcode.
1015     *
1016     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1017     *      Java Virtual Machine Specification</a>
1018     */
1019    short CASTORE = 85;
1020
1021    /**
1022     * Java VM opcode.
1023     *
1024     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1025     *      Java Virtual Machine Specification</a>
1026     */
1027    short SASTORE = 86;
1028
1029    /**
1030     * Java VM opcode.
1031     *
1032     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1033     *      Java Virtual Machine Specification</a>
1034     */
1035    short POP = 87;
1036
1037    /**
1038     * Java VM opcode.
1039     *
1040     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1041     *      Java Virtual Machine Specification</a>
1042     */
1043    short POP2 = 88;
1044
1045    /**
1046     * Java VM opcode.
1047     *
1048     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1049     *      Java Virtual Machine Specification</a>
1050     */
1051    short DUP = 89;
1052
1053    /**
1054     * Java VM opcode.
1055     *
1056     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1057     *      Java Virtual Machine Specification</a>
1058     */
1059    short DUP_X1 = 90;
1060
1061    /**
1062     * Java VM opcode.
1063     *
1064     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1065     *      Java Virtual Machine Specification</a>
1066     */
1067    short DUP_X2 = 91;
1068
1069    /**
1070     * Java VM opcode.
1071     *
1072     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1073     *      Java Virtual Machine Specification</a>
1074     */
1075    short DUP2 = 92;
1076
1077    /**
1078     * Java VM opcode.
1079     *
1080     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1081     *      Java Virtual Machine Specification</a>
1082     */
1083    short DUP2_X1 = 93;
1084
1085    /**
1086     * Java VM opcode.
1087     *
1088     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1089     *      Java Virtual Machine Specification</a>
1090     */
1091    short DUP2_X2 = 94;
1092
1093    /**
1094     * Java VM opcode.
1095     *
1096     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1097     *      Java Virtual Machine Specification</a>
1098     */
1099    short SWAP = 95;
1100
1101    /**
1102     * Java VM opcode.
1103     *
1104     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1105     *      Java Virtual Machine Specification</a>
1106     */
1107    short IADD = 96;
1108
1109    /**
1110     * Java VM opcode.
1111     *
1112     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1113     *      Java Virtual Machine Specification</a>
1114     */
1115    short LADD = 97;
1116
1117    /**
1118     * Java VM opcode.
1119     *
1120     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1121     *      Java Virtual Machine Specification</a>
1122     */
1123    short FADD = 98;
1124
1125    /**
1126     * Java VM opcode.
1127     *
1128     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1129     *      Java Virtual Machine Specification</a>
1130     */
1131    short DADD = 99;
1132
1133    /**
1134     * Java VM opcode.
1135     *
1136     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1137     *      Java Virtual Machine Specification</a>
1138     */
1139    short ISUB = 100;
1140
1141    /**
1142     * Java VM opcode.
1143     *
1144     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1145     *      Java Virtual Machine Specification</a>
1146     */
1147    short LSUB = 101;
1148
1149    /**
1150     * Java VM opcode.
1151     *
1152     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1153     *      Java Virtual Machine Specification</a>
1154     */
1155    short FSUB = 102;
1156
1157    /**
1158     * Java VM opcode.
1159     *
1160     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1161     *      Java Virtual Machine Specification</a>
1162     */
1163    short DSUB = 103;
1164
1165    /**
1166     * Java VM opcode.
1167     *
1168     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1169     *      Java Virtual Machine Specification</a>
1170     */
1171    short IMUL = 104;
1172
1173    /**
1174     * Java VM opcode.
1175     *
1176     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1177     *      Java Virtual Machine Specification</a>
1178     */
1179    short LMUL = 105;
1180
1181    /**
1182     * Java VM opcode.
1183     *
1184     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1185     *      Java Virtual Machine Specification</a>
1186     */
1187    short FMUL = 106;
1188
1189    /**
1190     * Java VM opcode.
1191     *
1192     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1193     *      Java Virtual Machine Specification</a>
1194     */
1195    short DMUL = 107;
1196
1197    /**
1198     * Java VM opcode.
1199     *
1200     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1201     *      Java Virtual Machine Specification</a>
1202     */
1203    short IDIV = 108;
1204
1205    /**
1206     * Java VM opcode.
1207     *
1208     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1209     *      Java Virtual Machine Specification</a>
1210     */
1211    short LDIV = 109;
1212
1213    /**
1214     * Java VM opcode.
1215     *
1216     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1217     *      Java Virtual Machine Specification</a>
1218     */
1219    short FDIV = 110;
1220
1221    /**
1222     * Java VM opcode.
1223     *
1224     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1225     *      Java Virtual Machine Specification</a>
1226     */
1227    short DDIV = 111;
1228
1229    /**
1230     * Java VM opcode.
1231     *
1232     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1233     *      Java Virtual Machine Specification</a>
1234     */
1235    short IREM = 112;
1236
1237    /**
1238     * Java VM opcode.
1239     *
1240     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1241     *      Java Virtual Machine Specification</a>
1242     */
1243    short LREM = 113;
1244
1245    /**
1246     * Java VM opcode.
1247     *
1248     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1249     *      Java Virtual Machine Specification</a>
1250     */
1251    short FREM = 114;
1252
1253    /**
1254     * Java VM opcode.
1255     *
1256     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1257     *      Java Virtual Machine Specification</a>
1258     */
1259    short DREM = 115;
1260
1261    /**
1262     * Java VM opcode.
1263     *
1264     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1265     *      Java Virtual Machine Specification</a>
1266     */
1267    short INEG = 116;
1268
1269    /**
1270     * Java VM opcode.
1271     *
1272     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1273     *      Java Virtual Machine Specification</a>
1274     */
1275    short LNEG = 117;
1276
1277    /**
1278     * Java VM opcode.
1279     *
1280     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1281     *      Java Virtual Machine Specification</a>
1282     */
1283    short FNEG = 118;
1284
1285    /**
1286     * Java VM opcode.
1287     *
1288     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1289     *      Java Virtual Machine Specification</a>
1290     */
1291    short DNEG = 119;
1292
1293    /**
1294     * Java VM opcode.
1295     *
1296     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1297     *      Java Virtual Machine Specification</a>
1298     */
1299    short ISHL = 120;
1300
1301    /**
1302     * Java VM opcode.
1303     *
1304     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1305     *      Java Virtual Machine Specification</a>
1306     */
1307    short LSHL = 121;
1308
1309    /**
1310     * Java VM opcode.
1311     *
1312     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1313     *      Java Virtual Machine Specification</a>
1314     */
1315    short ISHR = 122;
1316
1317    /**
1318     * Java VM opcode.
1319     *
1320     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1321     *      Java Virtual Machine Specification</a>
1322     */
1323    short LSHR = 123;
1324
1325    /**
1326     * Java VM opcode.
1327     *
1328     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1329     *      Java Virtual Machine Specification</a>
1330     */
1331    short IUSHR = 124;
1332
1333    /**
1334     * Java VM opcode.
1335     *
1336     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1337     *      Java Virtual Machine Specification</a>
1338     */
1339    short LUSHR = 125;
1340
1341    /**
1342     * Java VM opcode.
1343     *
1344     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1345     *      Java Virtual Machine Specification</a>
1346     */
1347    short IAND = 126;
1348
1349    /**
1350     * Java VM opcode.
1351     *
1352     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1353     *      Java Virtual Machine Specification</a>
1354     */
1355    short LAND = 127;
1356
1357    /**
1358     * Java VM opcode.
1359     *
1360     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1361     *      Java Virtual Machine Specification</a>
1362     */
1363    short IOR = 128;
1364
1365    /**
1366     * Java VM opcode.
1367     *
1368     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1369     *      Java Virtual Machine Specification</a>
1370     */
1371    short LOR = 129;
1372
1373    /**
1374     * Java VM opcode.
1375     *
1376     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1377     *      Java Virtual Machine Specification</a>
1378     */
1379    short IXOR = 130;
1380
1381    /**
1382     * Java VM opcode.
1383     *
1384     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1385     *      Java Virtual Machine Specification</a>
1386     */
1387    short LXOR = 131;
1388
1389    /**
1390     * Java VM opcode.
1391     *
1392     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1393     *      Java Virtual Machine Specification</a>
1394     */
1395    short IINC = 132;
1396
1397    /**
1398     * Java VM opcode.
1399     *
1400     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1401     *      Java Virtual Machine Specification</a>
1402     */
1403    short I2L = 133;
1404
1405    /**
1406     * Java VM opcode.
1407     *
1408     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1409     *      Java Virtual Machine Specification</a>
1410     */
1411    short I2F = 134;
1412
1413    /**
1414     * Java VM opcode.
1415     *
1416     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1417     *      Java Virtual Machine Specification</a>
1418     */
1419    short I2D = 135;
1420
1421    /**
1422     * Java VM opcode.
1423     *
1424     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1425     *      Java Virtual Machine Specification</a>
1426     */
1427    short L2I = 136;
1428
1429    /**
1430     * Java VM opcode.
1431     *
1432     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1433     *      Java Virtual Machine Specification</a>
1434     */
1435    short L2F = 137;
1436
1437    /**
1438     * Java VM opcode.
1439     *
1440     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1441     *      Java Virtual Machine Specification</a>
1442     */
1443    short L2D = 138;
1444
1445    /**
1446     * Java VM opcode.
1447     *
1448     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1449     *      Java Virtual Machine Specification</a>
1450     */
1451    short F2I = 139;
1452
1453    /**
1454     * Java VM opcode.
1455     *
1456     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1457     *      Java Virtual Machine Specification</a>
1458     */
1459    short F2L = 140;
1460
1461    /**
1462     * Java VM opcode.
1463     *
1464     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1465     *      Java Virtual Machine Specification</a>
1466     */
1467    short F2D = 141;
1468
1469    /**
1470     * Java VM opcode.
1471     *
1472     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1473     *      Java Virtual Machine Specification</a>
1474     */
1475    short D2I = 142;
1476
1477    /**
1478     * Java VM opcode.
1479     *
1480     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1481     *      Java Virtual Machine Specification</a>
1482     */
1483    short D2L = 143;
1484
1485    /**
1486     * Java VM opcode.
1487     *
1488     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1489     *      Java Virtual Machine Specification</a>
1490     */
1491    short D2F = 144;
1492
1493    /**
1494     * Java VM opcode.
1495     *
1496     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1497     *      Java Virtual Machine Specification</a>
1498     */
1499    short I2B = 145;
1500
1501    /**
1502     * Java VM opcode.
1503     *
1504     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1505     *      Java Virtual Machine Specification</a>
1506     */
1507    short INT2BYTE = 145; // Old notion
1508
1509    /**
1510     * Java VM opcode.
1511     *
1512     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1513     *      Java Virtual Machine Specification</a>
1514     */
1515    short I2C = 146;
1516
1517    /**
1518     * Java VM opcode.
1519     *
1520     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1521     *      Java Virtual Machine Specification</a>
1522     */
1523    short INT2CHAR = 146; // Old notion
1524
1525    /**
1526     * Java VM opcode.
1527     *
1528     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1529     *      Java Virtual Machine Specification</a>
1530     */
1531    short I2S = 147;
1532
1533    /**
1534     * Java VM opcode.
1535     *
1536     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1537     *      Java Virtual Machine Specification</a>
1538     */
1539    short INT2SHORT = 147; // Old notion
1540
1541    /**
1542     * Java VM opcode.
1543     *
1544     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1545     *      Java Virtual Machine Specification</a>
1546     */
1547    short LCMP = 148;
1548
1549    /**
1550     * Java VM opcode.
1551     *
1552     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1553     *      Java Virtual Machine Specification</a>
1554     */
1555    short FCMPL = 149;
1556
1557    /**
1558     * Java VM opcode.
1559     *
1560     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1561     *      Java Virtual Machine Specification</a>
1562     */
1563    short FCMPG = 150;
1564
1565    /**
1566     * Java VM opcode.
1567     *
1568     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1569     *      Java Virtual Machine Specification</a>
1570     */
1571    short DCMPL = 151;
1572
1573    /**
1574     * Java VM opcode.
1575     *
1576     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1577     *      Java Virtual Machine Specification</a>
1578     */
1579    short DCMPG = 152;
1580
1581    /**
1582     * Java VM opcode.
1583     *
1584     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1585     *      Java Virtual Machine Specification</a>
1586     */
1587    short IFEQ = 153;
1588
1589    /**
1590     * Java VM opcode.
1591     *
1592     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1593     *      Java Virtual Machine Specification</a>
1594     */
1595    short IFNE = 154;
1596
1597    /**
1598     * Java VM opcode.
1599     *
1600     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1601     *      Java Virtual Machine Specification</a>
1602     */
1603    short IFLT = 155;
1604
1605    /**
1606     * Java VM opcode.
1607     *
1608     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1609     *      Java Virtual Machine Specification</a>
1610     */
1611    short IFGE = 156;
1612
1613    /**
1614     * Java VM opcode.
1615     *
1616     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1617     *      Java Virtual Machine Specification</a>
1618     */
1619    short IFGT = 157;
1620
1621    /**
1622     * Java VM opcode.
1623     *
1624     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1625     *      Java Virtual Machine Specification</a>
1626     */
1627    short IFLE = 158;
1628
1629    /**
1630     * Java VM opcode.
1631     *
1632     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1633     *      Java Virtual Machine Specification</a>
1634     */
1635    short IF_ICMPEQ = 159;
1636
1637    /**
1638     * Java VM opcode.
1639     *
1640     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1641     *      Java Virtual Machine Specification</a>
1642     */
1643    short IF_ICMPNE = 160;
1644
1645    /**
1646     * Java VM opcode.
1647     *
1648     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1649     *      Java Virtual Machine Specification</a>
1650     */
1651    short IF_ICMPLT = 161;
1652
1653    /**
1654     * Java VM opcode.
1655     *
1656     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1657     *      Java Virtual Machine Specification</a>
1658     */
1659    short IF_ICMPGE = 162;
1660
1661    /**
1662     * Java VM opcode.
1663     *
1664     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1665     *      Java Virtual Machine Specification</a>
1666     */
1667    short IF_ICMPGT = 163;
1668
1669    /**
1670     * Java VM opcode.
1671     *
1672     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1673     *      Java Virtual Machine Specification</a>
1674     */
1675    short IF_ICMPLE = 164;
1676
1677    /**
1678     * Java VM opcode.
1679     *
1680     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1681     *      Java Virtual Machine Specification</a>
1682     */
1683    short IF_ACMPEQ = 165;
1684
1685    /**
1686     * Java VM opcode.
1687     *
1688     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1689     *      Java Virtual Machine Specification</a>
1690     */
1691    short IF_ACMPNE = 166;
1692
1693    /**
1694     * Java VM opcode.
1695     *
1696     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1697     *      Java Virtual Machine Specification</a>
1698     */
1699    short GOTO = 167;
1700
1701    /**
1702     * Java VM opcode.
1703     *
1704     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1705     *      Java Virtual Machine Specification</a>
1706     */
1707    short JSR = 168;
1708
1709    /**
1710     * Java VM opcode.
1711     *
1712     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1713     *      Java Virtual Machine Specification</a>
1714     */
1715    short RET = 169;
1716
1717    /**
1718     * Java VM opcode.
1719     *
1720     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1721     *      Java Virtual Machine Specification</a>
1722     */
1723    short TABLESWITCH = 170;
1724
1725    /**
1726     * Java VM opcode.
1727     *
1728     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1729     *      Java Virtual Machine Specification</a>
1730     */
1731    short LOOKUPSWITCH = 171;
1732
1733    /**
1734     * Java VM opcode.
1735     *
1736     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1737     *      Java Virtual Machine Specification</a>
1738     */
1739    short IRETURN = 172;
1740
1741    /**
1742     * Java VM opcode.
1743     *
1744     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1745     *      Java Virtual Machine Specification</a>
1746     */
1747    short LRETURN = 173;
1748
1749    /**
1750     * Java VM opcode.
1751     *
1752     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1753     *      Java Virtual Machine Specification</a>
1754     */
1755    short FRETURN = 174;
1756
1757    /**
1758     * Java VM opcode.
1759     *
1760     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1761     *      Java Virtual Machine Specification</a>
1762     */
1763    short DRETURN = 175;
1764
1765    /**
1766     * Java VM opcode.
1767     *
1768     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1769     *      Java Virtual Machine Specification</a>
1770     */
1771    short ARETURN = 176;
1772
1773    /**
1774     * Java VM opcode.
1775     *
1776     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1777     *      Java Virtual Machine Specification</a>
1778     */
1779    short RETURN = 177;
1780
1781    /**
1782     * Java VM opcode.
1783     *
1784     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1785     *      Java Virtual Machine Specification</a>
1786     */
1787    short GETSTATIC = 178;
1788
1789    /**
1790     * Java VM opcode.
1791     *
1792     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1793     *      Java Virtual Machine Specification</a>
1794     */
1795    short PUTSTATIC = 179;
1796
1797    /**
1798     * Java VM opcode.
1799     *
1800     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1801     *      Java Virtual Machine Specification</a>
1802     */
1803    short GETFIELD = 180;
1804
1805    /**
1806     * Java VM opcode.
1807     *
1808     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1809     *      Java Virtual Machine Specification</a>
1810     */
1811    short PUTFIELD = 181;
1812
1813    /**
1814     * Java VM opcode.
1815     *
1816     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1817     *      Java Virtual Machine Specification</a>
1818     */
1819    short INVOKEVIRTUAL = 182;
1820
1821    /**
1822     * Java VM opcode.
1823     *
1824     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1825     *      Java Virtual Machine Specification</a>
1826     */
1827    short INVOKESPECIAL = 183;
1828
1829    /**
1830     * Java VM opcode.
1831     *
1832     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1833     *      Java Virtual Machine Specification</a>
1834     */
1835    short INVOKENONVIRTUAL = 183; // Old name in JDK 1.0
1836
1837    /**
1838     * Java VM opcode.
1839     *
1840     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1841     *      Java Virtual Machine Specification</a>
1842     */
1843    short INVOKESTATIC = 184;
1844
1845    /**
1846     * Java VM opcode.
1847     *
1848     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1849     *      Java Virtual Machine Specification</a>
1850     */
1851    short INVOKEINTERFACE = 185;
1852
1853    /**
1854     * Java VM opcode.
1855     *
1856     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1857     *      Java Virtual Machine Specification</a>
1858     */
1859    short INVOKEDYNAMIC = 186;
1860
1861    /**
1862     * Java VM opcode.
1863     *
1864     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1865     *      Java Virtual Machine Specification</a>
1866     */
1867    short NEW = 187;
1868
1869    /**
1870     * Java VM opcode.
1871     *
1872     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1873     *      Java Virtual Machine Specification</a>
1874     */
1875    short NEWARRAY = 188;
1876
1877    /**
1878     * Java VM opcode.
1879     *
1880     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1881     *      Java Virtual Machine Specification</a>
1882     */
1883    short ANEWARRAY = 189;
1884
1885    /**
1886     * Java VM opcode.
1887     *
1888     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1889     *      Java Virtual Machine Specification</a>
1890     */
1891    short ARRAYLENGTH = 190;
1892
1893    /**
1894     * Java VM opcode.
1895     *
1896     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1897     *      Java Virtual Machine Specification</a>
1898     */
1899    short ATHROW = 191;
1900
1901    /**
1902     * Java VM opcode.
1903     *
1904     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1905     *      Java Virtual Machine Specification</a>
1906     */
1907    short CHECKCAST = 192;
1908
1909    /**
1910     * Java VM opcode.
1911     *
1912     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1913     *      Java Virtual Machine Specification</a>
1914     */
1915    short INSTANCEOF = 193;
1916
1917    /**
1918     * Java VM opcode.
1919     *
1920     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1921     *      Java Virtual Machine Specification</a>
1922     */
1923    short MONITORENTER = 194;
1924
1925    /**
1926     * Java VM opcode.
1927     *
1928     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1929     *      Java Virtual Machine Specification</a>
1930     */
1931    short MONITOREXIT = 195;
1932
1933    /**
1934     * Java VM opcode.
1935     *
1936     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1937     *      Java Virtual Machine Specification</a>
1938     */
1939    short WIDE = 196;
1940
1941    /**
1942     * Java VM opcode.
1943     *
1944     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1945     *      Java Virtual Machine Specification</a>
1946     */
1947    short MULTIANEWARRAY = 197;
1948
1949    /**
1950     * Java VM opcode.
1951     *
1952     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1953     *      Java Virtual Machine Specification</a>
1954     */
1955    short IFNULL = 198;
1956
1957    /**
1958     * Java VM opcode.
1959     *
1960     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1961     *      Java Virtual Machine Specification</a>
1962     */
1963    short IFNONNULL = 199;
1964
1965    /**
1966     * Java VM opcode.
1967     *
1968     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1969     *      Java Virtual Machine Specification</a>
1970     */
1971    short GOTO_W = 200;
1972
1973    /**
1974     * Java VM opcode.
1975     *
1976     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The
1977     *      Java Virtual Machine Specification</a>
1978     */
1979    short JSR_W = 201;
1980
1981    /**
1982     * JVM internal opcode.
1983     *
1984     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.2"> Reserved opcodes in the Java
1985     *      Virtual Machine Specification</a>
1986     */
1987    short BREAKPOINT = 202;
1988
1989    /**
1990     * JVM internal opcode.
1991     *
1992     * @see <a href=
1993     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
1994     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
1995     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
1996     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
1997     */
1998    short LDC_QUICK = 203;
1999
2000    /**
2001     * JVM internal opcode.
2002     *
2003     * @see <a href=
2004     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
2005     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
2006     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
2007     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
2008     */
2009    short LDC_W_QUICK = 204;
2010
2011    /**
2012     * JVM internal opcode.
2013     *
2014     * @see <a href=
2015     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
2016     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
2017     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
2018     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
2019     */
2020    short LDC2_W_QUICK = 205;
2021
2022    /**
2023     * JVM internal opcode.
2024     *
2025     * @see <a href=
2026     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
2027     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
2028     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
2029     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
2030     */
2031    short GETFIELD_QUICK = 206;
2032
2033    /**
2034     * JVM internal opcode.
2035     *
2036     * @see <a href=
2037     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
2038     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
2039     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
2040     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
2041     */
2042    short PUTFIELD_QUICK = 207;
2043
2044    /**
2045     * JVM internal opcode.
2046     *
2047     * @see <a href=
2048     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
2049     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
2050     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
2051     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
2052     */
2053    short GETFIELD2_QUICK = 208;
2054
2055    /**
2056     * JVM internal opcode.
2057     *
2058     * @see <a href=
2059     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
2060     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
2061     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
2062     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
2063     */
2064    short PUTFIELD2_QUICK = 209;
2065
2066    /**
2067     * JVM internal opcode.
2068     *
2069     * @see <a href=
2070     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
2071     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
2072     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
2073     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
2074     */
2075    short GETSTATIC_QUICK = 210;
2076
2077    /**
2078     * JVM internal opcode.
2079     *
2080     * @see <a href=
2081     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
2082     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
2083     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
2084     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
2085     */
2086    short PUTSTATIC_QUICK = 211;
2087
2088    /**
2089     * JVM internal opcode.
2090     *
2091     * @see <a href=
2092     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
2093     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
2094     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
2095     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
2096     */
2097    short GETSTATIC2_QUICK = 212;
2098
2099    /**
2100     * JVM internal opcode.
2101     *
2102     * @see <a href=
2103     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
2104     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
2105     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
2106     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
2107     */
2108    short PUTSTATIC2_QUICK = 213;
2109
2110    /**
2111     * JVM internal opcode.
2112     *
2113     * @see <a href=
2114     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
2115     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
2116     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
2117     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
2118     */
2119    short INVOKEVIRTUAL_QUICK = 214;
2120
2121    /**
2122     * JVM internal opcode.
2123     *
2124     * @see <a href=
2125     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
2126     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
2127     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
2128     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
2129     */
2130    short INVOKENONVIRTUAL_QUICK = 215;
2131
2132    /**
2133     * JVM internal opcode.
2134     *
2135     * @see <a href=
2136     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
2137     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
2138     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
2139     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
2140     */
2141    short INVOKESUPER_QUICK = 216;
2142
2143    /**
2144     * JVM internal opcode.
2145     *
2146     * @see <a href=
2147     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
2148     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
2149     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
2150     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
2151     */
2152    short INVOKESTATIC_QUICK = 217;
2153
2154    /**
2155     * JVM internal opcode.
2156     *
2157     * @see <a href=
2158     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
2159     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
2160     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
2161     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
2162     */
2163    short INVOKEINTERFACE_QUICK = 218;
2164
2165    /**
2166     * JVM internal opcode.
2167     *
2168     * @see <a href=
2169     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
2170     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
2171     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
2172     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
2173     */
2174    short INVOKEVIRTUALOBJECT_QUICK = 219;
2175
2176    /**
2177     * JVM internal opcode.
2178     *
2179     * @see <a href=
2180     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
2181     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
2182     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
2183     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
2184     */
2185    short NEW_QUICK = 221;
2186
2187    /**
2188     * JVM internal opcode.
2189     *
2190     * @see <a href=
2191     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
2192     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
2193     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
2194     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
2195     */
2196    short ANEWARRAY_QUICK = 222;
2197
2198    /**
2199     * JVM internal opcode.
2200     *
2201     * @see <a href=
2202     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
2203     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
2204     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
2205     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
2206     */
2207    short MULTIANEWARRAY_QUICK = 223;
2208
2209    /**
2210     * JVM internal opcode.
2211     *
2212     * @see <a href=
2213     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
2214     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
2215     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
2216     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
2217     */
2218    short CHECKCAST_QUICK = 224;
2219
2220    /**
2221     * JVM internal opcode.
2222     *
2223     * @see <a href=
2224     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
2225     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
2226     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
2227     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
2228     */
2229    short INSTANCEOF_QUICK = 225;
2230
2231    /**
2232     * JVM internal opcode.
2233     *
2234     * @see <a href=
2235     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
2236     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
2237     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
2238     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
2239     */
2240    short INVOKEVIRTUAL_QUICK_W = 226;
2241
2242    /**
2243     * JVM internal opcode.
2244     *
2245     * @see <a href=
2246     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
2247     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
2248     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
2249     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
2250     */
2251    short GETFIELD_QUICK_W = 227;
2252
2253    /**
2254     * JVM internal opcode.
2255     *
2256     * @see <a href=
2257     *      "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
2258     *      Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
2259     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick
2260     *      opcodes were removed from the second version of the Java Virtual Machine Specification.</a>
2261     */
2262    short PUTFIELD_QUICK_W = 228;
2263
2264    /**
2265     * JVM internal opcode.
2266     *
2267     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.2"> Reserved opcodes in the Java
2268     *      Virtual Machine Specification</a>
2269     */
2270    short IMPDEP1 = 254;
2271
2272    /**
2273     * JVM internal opcode.
2274     *
2275     * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.2"> Reserved opcodes in the Java
2276     *      Virtual Machine Specification</a>
2277     */
2278    short IMPDEP2 = 255;
2279
2280    /**
2281     * BCEL virtual instruction for pushing an arbitrary data type onto the stack. Will be converted to the appropriate JVM
2282     * opcode when the class is dumped.
2283     */
2284    short PUSH = 4711;
2285
2286    /**
2287     * BCEL virtual instruction for either LOOKUPSWITCH or TABLESWITCH. Will be converted to the appropriate JVM opcode when
2288     * the class is dumped.
2289     */
2290    short SWITCH = 4712;
2291
2292    /** Illegal opcode. */
2293    short UNDEFINED = -1;
2294
2295    /** Illegal opcode. */
2296    short UNPREDICTABLE = -2;
2297
2298    /** Illegal opcode. */
2299    short RESERVED = -3;
2300
2301    /** Mnemonic for an illegal opcode. */
2302    String ILLEGAL_OPCODE = "<illegal opcode>";
2303
2304    /** Mnemonic for an illegal type. */
2305    String ILLEGAL_TYPE = "<illegal type>";
2306
2307    /** Boolean data type. */
2308    byte T_BOOLEAN = 4;
2309
2310    /** Char data type. */
2311    byte T_CHAR = 5;
2312
2313    /** Float data type. */
2314    byte T_FLOAT = 6;
2315
2316    /** Double data type. */
2317    byte T_DOUBLE = 7;
2318
2319    /** Byte data type. */
2320    byte T_BYTE = 8;
2321
2322    /** Short data type. */
2323    byte T_SHORT = 9;
2324
2325    /** Int data type. */
2326    byte T_INT = 10;
2327
2328    /** Long data type. */
2329    byte T_LONG = 11;
2330
2331    /** Void data type (non-standard). */
2332    byte T_VOID = 12; // Non-standard
2333
2334    /** Array data type. */
2335    byte T_ARRAY = 13;
2336
2337    /** Object data type. */
2338    byte T_OBJECT = 14;
2339
2340    /** Reference data type (deprecated). */
2341    byte T_REFERENCE = 14; // Deprecated
2342
2343    /** Unknown data type. */
2344    byte T_UNKNOWN = 15;
2345
2346    /** Address data type. */
2347    byte T_ADDRESS = 16;
2348
2349    /**
2350     * The primitive type names corresponding to the T_XX constants, e.g., TYPE_NAMES[T_INT] = "int"
2351     */
2352    String[] TYPE_NAMES = {ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE, "boolean", "char", "float", "double", "byte", "short", "int", "long", "void",
2353        "array", "object", "unknown", "address"};
2354
2355    /**
2356     * The primitive class names corresponding to the T_XX constants, e.g., CLASS_TYPE_NAMES[T_INT] = "java.lang.Integer"
2357     */
2358    String[] CLASS_TYPE_NAMES = {ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE, "java.lang.Boolean", "java.lang.Character", "java.lang.Float",
2359        "java.lang.Double", "java.lang.Byte", "java.lang.Short", "java.lang.Integer", "java.lang.Long", "java.lang.Void", ILLEGAL_TYPE, ILLEGAL_TYPE,
2360        ILLEGAL_TYPE, ILLEGAL_TYPE};
2361
2362    /**
2363     * The signature characters corresponding to primitive types, e.g., SHORT_TYPE_NAMES[T_INT] = "I"
2364     */
2365    String[] SHORT_TYPE_NAMES = {ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE, "Z", "C", "F", "D", "B", "S", "I", "J", "V", ILLEGAL_TYPE,
2366        ILLEGAL_TYPE, ILLEGAL_TYPE};
2367
2368    /**
2369     * Number of byte code operands for each opcode, i.e., number of bytes after the tag byte itself. Indexed by opcode, so
2370     * NO_OF_OPERANDS[BIPUSH] = the number of operands for a bipush instruction.
2371     */
2372    short[] NO_OF_OPERANDS = {0/* nop */, 0/* aconst_null */, 0/* iconst_m1 */, 0/* iconst_0 */, 0/* iconst_1 */, 0/* iconst_2 */, 0/* iconst_3 */,
2373        0/* iconst_4 */, 0/* iconst_5 */, 0/* lconst_0 */, 0/* lconst_1 */, 0/* fconst_0 */, 0/* fconst_1 */, 0/* fconst_2 */, 0/* dconst_0 */, 0/* dconst_1 */,
2374        1/* bipush */, 2/* sipush */, 1/* ldc */, 2/* ldc_w */, 2/* ldc2_w */, 1/* iload */, 1/* lload */, 1/* fload */, 1/* dload */, 1/* aload */,
2375        0/* iload_0 */, 0/* iload_1 */, 0/* iload_2 */, 0/* iload_3 */, 0/* lload_0 */, 0/* lload_1 */, 0/* lload_2 */, 0/* lload_3 */, 0/* fload_0 */,
2376        0/* fload_1 */, 0/* fload_2 */, 0/* fload_3 */, 0/* dload_0 */, 0/* dload_1 */, 0/* dload_2 */, 0/* dload_3 */, 0/* aload_0 */, 0/* aload_1 */,
2377        0/* aload_2 */, 0/* aload_3 */, 0/* iaload */, 0/* laload */, 0/* faload */, 0/* daload */, 0/* aaload */, 0/* baload */, 0/* caload */, 0/* saload */,
2378        1/* istore */, 1/* lstore */, 1/* fstore */, 1/* dstore */, 1/* astore */, 0/* istore_0 */, 0/* istore_1 */, 0/* istore_2 */, 0/* istore_3 */,
2379        0/* lstore_0 */, 0/* lstore_1 */, 0/* lstore_2 */, 0/* lstore_3 */, 0/* fstore_0 */, 0/* fstore_1 */, 0/* fstore_2 */, 0/* fstore_3 */, 0/* dstore_0 */,
2380        0/* dstore_1 */, 0/* dstore_2 */, 0/* dstore_3 */, 0/* astore_0 */, 0/* astore_1 */, 0/* astore_2 */, 0/* astore_3 */, 0/* iastore */, 0/* lastore */,
2381        0/* fastore */, 0/* dastore */, 0/* aastore */, 0/* bastore */, 0/* castore */, 0/* sastore */, 0/* pop */, 0/* pop2 */, 0/* dup */, 0/* dup_x1 */,
2382        0/* dup_x2 */, 0/* dup2 */, 0/* dup2_x1 */, 0/* dup2_x2 */, 0/* swap */, 0/* iadd */, 0/* ladd */, 0/* fadd */, 0/* dadd */, 0/* isub */, 0/* lsub */,
2383        0/* fsub */, 0/* dsub */, 0/* imul */, 0/* lmul */, 0/* fmul */, 0/* dmul */, 0/* idiv */, 0/* ldiv */, 0/* fdiv */, 0/* ddiv */, 0/* irem */,
2384        0/* lrem */, 0/* frem */, 0/* drem */, 0/* ineg */, 0/* lneg */, 0/* fneg */, 0/* dneg */, 0/* ishl */, 0/* lshl */, 0/* ishr */, 0/* lshr */,
2385        0/* iushr */, 0/* lushr */, 0/* iand */, 0/* land */, 0/* ior */, 0/* lor */, 0/* ixor */, 0/* lxor */, 2/* iinc */, 0/* i2l */, 0/* i2f */, 0/* i2d */,
2386        0/* l2i */, 0/* l2f */, 0/* l2d */, 0/* f2i */, 0/* f2l */, 0/* f2d */, 0/* d2i */, 0/* d2l */, 0/* d2f */, 0/* i2b */, 0/* i2c */, 0/* i2s */,
2387        0/* lcmp */, 0/* fcmpl */, 0/* fcmpg */, 0/* dcmpl */, 0/* dcmpg */, 2/* ifeq */, 2/* ifne */, 2/* iflt */, 2/* ifge */, 2/* ifgt */, 2/* ifle */,
2388        2/* if_icmpeq */, 2/* if_icmpne */, 2/* if_icmplt */, 2/* if_icmpge */, 2/* if_icmpgt */, 2/* if_icmple */, 2/* if_acmpeq */, 2/* if_acmpne */,
2389        2/* goto */, 2/* jsr */, 1/* ret */, UNPREDICTABLE/* tableswitch */, UNPREDICTABLE/* lookupswitch */, 0/* ireturn */, 0/* lreturn */, 0/* freturn */,
2390        0/* dreturn */, 0/* areturn */, 0/* return */, 2/* getstatic */, 2/* putstatic */, 2/* getfield */, 2/* putfield */, 2/* invokevirtual */,
2391        2/* invokespecial */, 2/* invokestatic */, 4/* invokeinterface */, 4/* invokedynamic */, 2/* new */, 1/* newarray */, 2/* anewarray */,
2392        0/* arraylength */, 0/* athrow */, 2/* checkcast */, 2/* instanceof */, 0/* monitorenter */, 0/* monitorexit */, UNPREDICTABLE/* wide */,
2393        3/* multianewarray */, 2/* ifnull */, 2/* ifnonnull */, 4/* goto_w */, 4/* jsr_w */, 0/* breakpoint */, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
2394        UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
2395        UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
2396        UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
2397        UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, RESERVED/* impdep1 */, RESERVED/* impdep2 */
2398    };
2399
2400    /**
2401     * How the byte code operands are to be interpreted for each opcode. Indexed by opcode. TYPE_OF_OPERANDS[ILOAD] = an
2402     * array of shorts describing the data types for the instruction.
2403     */
2404    short[][] TYPE_OF_OPERANDS = {{}/* nop */, {}/* aconst_null */, {}/* iconst_m1 */, {}/* iconst_0 */, {}/* iconst_1 */, {}/* iconst_2 */, {}/* iconst_3 */,
2405        {}/* iconst_4 */, {}/* iconst_5 */, {}/* lconst_0 */, {}/* lconst_1 */, {}/* fconst_0 */, {}/* fconst_1 */, {}/* fconst_2 */, {}/* dconst_0 */,
2406        {}/* dconst_1 */, {T_BYTE}/* bipush */, {T_SHORT}/* sipush */, {T_BYTE}/* ldc */, {T_SHORT}/* ldc_w */, {T_SHORT}/* ldc2_w */, {T_BYTE}/* iload */,
2407        {T_BYTE}/* lload */, {T_BYTE}/* fload */, {T_BYTE}/* dload */, {T_BYTE}/* aload */, {}/* iload_0 */, {}/* iload_1 */, {}/* iload_2 */, {}/* iload_3 */,
2408        {}/* lload_0 */, {}/* lload_1 */, {}/* lload_2 */, {}/* lload_3 */, {}/* fload_0 */, {}/* fload_1 */, {}/* fload_2 */, {}/* fload_3 */, {}/* dload_0 */,
2409        {}/* dload_1 */, {}/* dload_2 */, {}/* dload_3 */, {}/* aload_0 */, {}/* aload_1 */, {}/* aload_2 */, {}/* aload_3 */, {}/* iaload */, {}/* laload */,
2410        {}/* faload */, {}/* daload */, {}/* aaload */, {}/* baload */, {}/* caload */, {}/* saload */, {T_BYTE}/* istore */, {T_BYTE}/* lstore */,
2411        {T_BYTE}/* fstore */, {T_BYTE}/* dstore */, {T_BYTE}/* astore */, {}/* istore_0 */, {}/* istore_1 */, {}/* istore_2 */, {}/* istore_3 */,
2412        {}/* lstore_0 */, {}/* lstore_1 */, {}/* lstore_2 */, {}/* lstore_3 */, {}/* fstore_0 */, {}/* fstore_1 */, {}/* fstore_2 */, {}/* fstore_3 */,
2413        {}/* dstore_0 */, {}/* dstore_1 */, {}/* dstore_2 */, {}/* dstore_3 */, {}/* astore_0 */, {}/* astore_1 */, {}/* astore_2 */, {}/* astore_3 */,
2414        {}/* iastore */, {}/* lastore */, {}/* fastore */, {}/* dastore */, {}/* aastore */, {}/* bastore */, {}/* castore */, {}/* sastore */, {}/* pop */,
2415        {}/* pop2 */, {}/* dup */, {}/* dup_x1 */, {}/* dup_x2 */, {}/* dup2 */, {}/* dup2_x1 */, {}/* dup2_x2 */, {}/* swap */, {}/* iadd */, {}/* ladd */,
2416        {}/* fadd */, {}/* dadd */, {}/* isub */, {}/* lsub */, {}/* fsub */, {}/* dsub */, {}/* imul */, {}/* lmul */, {}/* fmul */, {}/* dmul */,
2417        {}/* idiv */, {}/* ldiv */, {}/* fdiv */, {}/* ddiv */, {}/* irem */, {}/* lrem */, {}/* frem */, {}/* drem */, {}/* ineg */, {}/* lneg */,
2418        {}/* fneg */, {}/* dneg */, {}/* ishl */, {}/* lshl */, {}/* ishr */, {}/* lshr */, {}/* iushr */, {}/* lushr */, {}/* iand */, {}/* land */,
2419        {}/* ior */, {}/* lor */, {}/* ixor */, {}/* lxor */, {T_BYTE, T_BYTE}/* iinc */, {}/* i2l */, {}/* i2f */, {}/* i2d */, {}/* l2i */, {}/* l2f */,
2420        {}/* l2d */, {}/* f2i */, {}/* f2l */, {}/* f2d */, {}/* d2i */, {}/* d2l */, {}/* d2f */, {}/* i2b */, {}/* i2c */, {}/* i2s */, {}/* lcmp */,
2421        {}/* fcmpl */, {}/* fcmpg */, {}/* dcmpl */, {}/* dcmpg */, {T_SHORT}/* ifeq */, {T_SHORT}/* ifne */, {T_SHORT}/* iflt */, {T_SHORT}/* ifge */,
2422        {T_SHORT}/* ifgt */, {T_SHORT}/* ifle */, {T_SHORT}/* if_icmpeq */, {T_SHORT}/* if_icmpne */, {T_SHORT}/* if_icmplt */, {T_SHORT}/* if_icmpge */,
2423        {T_SHORT}/* if_icmpgt */, {T_SHORT}/* if_icmple */, {T_SHORT}/* if_acmpeq */, {T_SHORT}/* if_acmpne */, {T_SHORT}/* goto */, {T_SHORT}/* jsr */,
2424        {T_BYTE}/* ret */, {}/* tableswitch */, {}/* lookupswitch */, {}/* ireturn */, {}/* lreturn */, {}/* freturn */, {}/* dreturn */, {}/* areturn */,
2425        {}/* return */, {T_SHORT}/* getstatic */, {T_SHORT}/* putstatic */, {T_SHORT}/* getfield */, {T_SHORT}/* putfield */, {T_SHORT}/* invokevirtual */,
2426        {T_SHORT}/* invokespecial */, {T_SHORT}/* invokestatic */, {T_SHORT, T_BYTE, T_BYTE}/* invokeinterface */, {T_SHORT, T_BYTE, T_BYTE}/* invokedynamic */,
2427        {T_SHORT}/* new */, {T_BYTE}/* newarray */, {T_SHORT}/* anewarray */, {}/* arraylength */, {}/* athrow */, {T_SHORT}/* checkcast */,
2428        {T_SHORT}/* instanceof */, {}/* monitorenter */, {}/* monitorexit */, {T_BYTE}/* wide */, {T_SHORT, T_BYTE}/* multianewarray */, {T_SHORT}/* ifnull */,
2429        {T_SHORT}/* ifnonnull */, {T_INT}/* goto_w */, {T_INT}/* jsr_w */, {}/* breakpoint */, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},
2430        {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},
2431        {}/* impdep1 */, {}/* impdep2 */
2432    };
2433
2434    /**
2435     * Names of opcodes. Indexed by opcode. OPCODE_NAMES[ALOAD] = "aload".
2436     */
2437    String[] OPCODE_NAMES = {"nop", "aconst_null", "iconst_m1", "iconst_0", "iconst_1", "iconst_2", "iconst_3", "iconst_4", "iconst_5", "lconst_0", "lconst_1",
2438        "fconst_0", "fconst_1", "fconst_2", "dconst_0", "dconst_1", "bipush", "sipush", "ldc", "ldc_w", "ldc2_w", "iload", "lload", "fload", "dload", "aload",
2439        "iload_0", "iload_1", "iload_2", "iload_3", "lload_0", "lload_1", "lload_2", "lload_3", "fload_0", "fload_1", "fload_2", "fload_3", "dload_0",
2440        "dload_1", "dload_2", "dload_3", "aload_0", "aload_1", "aload_2", "aload_3", "iaload", "laload", "faload", "daload", "aaload", "baload", "caload",
2441        "saload", "istore", "lstore", "fstore", "dstore", "astore", "istore_0", "istore_1", "istore_2", "istore_3", "lstore_0", "lstore_1", "lstore_2",
2442        "lstore_3", "fstore_0", "fstore_1", "fstore_2", "fstore_3", "dstore_0", "dstore_1", "dstore_2", "dstore_3", "astore_0", "astore_1", "astore_2",
2443        "astore_3", "iastore", "lastore", "fastore", "dastore", "aastore", "bastore", "castore", "sastore", "pop", "pop2", "dup", "dup_x1", "dup_x2", "dup2",
2444        "dup2_x1", "dup2_x2", "swap", "iadd", "ladd", "fadd", "dadd", "isub", "lsub", "fsub", "dsub", "imul", "lmul", "fmul", "dmul", "idiv", "ldiv", "fdiv",
2445        "ddiv", "irem", "lrem", "frem", "drem", "ineg", "lneg", "fneg", "dneg", "ishl", "lshl", "ishr", "lshr", "iushr", "lushr", "iand", "land", "ior", "lor",
2446        "ixor", "lxor", "iinc", "i2l", "i2f", "i2d", "l2i", "l2f", "l2d", "f2i", "f2l", "f2d", "d2i", "d2l", "d2f", "i2b", "i2c", "i2s", "lcmp", "fcmpl",
2447        "fcmpg", "dcmpl", "dcmpg", "ifeq", "ifne", "iflt", "ifge", "ifgt", "ifle", "if_icmpeq", "if_icmpne", "if_icmplt", "if_icmpge", "if_icmpgt", "if_icmple",
2448        "if_acmpeq", "if_acmpne", "goto", "jsr", "ret", "tableswitch", "lookupswitch", "ireturn", "lreturn", "freturn", "dreturn", "areturn", "return",
2449        "getstatic", "putstatic", "getfield", "putfield", "invokevirtual", "invokespecial", "invokestatic", "invokeinterface", "invokedynamic", "new",
2450        "newarray", "anewarray", "arraylength", "athrow", "checkcast", "instanceof", "monitorenter", "monitorexit", "wide", "multianewarray", "ifnull",
2451        "ifnonnull", "goto_w", "jsr_w", "breakpoint", ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
2452        ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
2453        ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
2454        ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
2455        ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
2456        ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
2457        "impdep1", "impdep2"};
2458
2459    /**
2460     * Number of words consumed on operand stack by instructions. Indexed by opcode. CONSUME_STACK[FALOAD] = number of words
2461     * consumed from the stack by a faload instruction.
2462     */
2463    int[] CONSUME_STACK = {0/* nop */, 0/* aconst_null */, 0/* iconst_m1 */, 0/* iconst_0 */, 0/* iconst_1 */, 0/* iconst_2 */, 0/* iconst_3 */,
2464        0/* iconst_4 */, 0/* iconst_5 */, 0/* lconst_0 */, 0/* lconst_1 */, 0/* fconst_0 */, 0/* fconst_1 */, 0/* fconst_2 */, 0/* dconst_0 */, 0/* dconst_1 */,
2465        0/* bipush */, 0/* sipush */, 0/* ldc */, 0/* ldc_w */, 0/* ldc2_w */, 0/* iload */, 0/* lload */, 0/* fload */, 0/* dload */, 0/* aload */,
2466        0/* iload_0 */, 0/* iload_1 */, 0/* iload_2 */, 0/* iload_3 */, 0/* lload_0 */, 0/* lload_1 */, 0/* lload_2 */, 0/* lload_3 */, 0/* fload_0 */,
2467        0/* fload_1 */, 0/* fload_2 */, 0/* fload_3 */, 0/* dload_0 */, 0/* dload_1 */, 0/* dload_2 */, 0/* dload_3 */, 0/* aload_0 */, 0/* aload_1 */,
2468        0/* aload_2 */, 0/* aload_3 */, 2/* iaload */, 2/* laload */, 2/* faload */, 2/* daload */, 2/* aaload */, 2/* baload */, 2/* caload */, 2/* saload */,
2469        1/* istore */, 2/* lstore */, 1/* fstore */, 2/* dstore */, 1/* astore */, 1/* istore_0 */, 1/* istore_1 */, 1/* istore_2 */, 1/* istore_3 */,
2470        2/* lstore_0 */, 2/* lstore_1 */, 2/* lstore_2 */, 2/* lstore_3 */, 1/* fstore_0 */, 1/* fstore_1 */, 1/* fstore_2 */, 1/* fstore_3 */, 2/* dstore_0 */,
2471        2/* dstore_1 */, 2/* dstore_2 */, 2/* dstore_3 */, 1/* astore_0 */, 1/* astore_1 */, 1/* astore_2 */, 1/* astore_3 */, 3/* iastore */, 4/* lastore */,
2472        3/* fastore */, 4/* dastore */, 3/* aastore */, 3/* bastore */, 3/* castore */, 3/* sastore */, 1/* pop */, 2/* pop2 */, 1/* dup */, 2/* dup_x1 */,
2473        3/* dup_x2 */, 2/* dup2 */, 3/* dup2_x1 */, 4/* dup2_x2 */, 2/* swap */, 2/* iadd */, 4/* ladd */, 2/* fadd */, 4/* dadd */, 2/* isub */, 4/* lsub */,
2474        2/* fsub */, 4/* dsub */, 2/* imul */, 4/* lmul */, 2/* fmul */, 4/* dmul */, 2/* idiv */, 4/* ldiv */, 2/* fdiv */, 4/* ddiv */, 2/* irem */,
2475        4/* lrem */, 2/* frem */, 4/* drem */, 1/* ineg */, 2/* lneg */, 1/* fneg */, 2/* dneg */, 2/* ishl */, 3/* lshl */, 2/* ishr */, 3/* lshr */,
2476        2/* iushr */, 3/* lushr */, 2/* iand */, 4/* land */, 2/* ior */, 4/* lor */, 2/* ixor */, 4/* lxor */, 0/* iinc */, 1/* i2l */, 1/* i2f */, 1/* i2d */,
2477        2/* l2i */, 2/* l2f */, 2/* l2d */, 1/* f2i */, 1/* f2l */, 1/* f2d */, 2/* d2i */, 2/* d2l */, 2/* d2f */, 1/* i2b */, 1/* i2c */, 1/* i2s */,
2478        4/* lcmp */, 2/* fcmpl */, 2/* fcmpg */, 4/* dcmpl */, 4/* dcmpg */, 1/* ifeq */, 1/* ifne */, 1/* iflt */, 1/* ifge */, 1/* ifgt */, 1/* ifle */,
2479        2/* if_icmpeq */, 2/* if_icmpne */, 2/* if_icmplt */, 2 /* if_icmpge */, 2/* if_icmpgt */, 2/* if_icmple */, 2/* if_acmpeq */, 2/* if_acmpne */,
2480        0/* goto */, 0/* jsr */, 0/* ret */, 1/* tableswitch */, 1/* lookupswitch */, 1/* ireturn */, 2/* lreturn */, 1/* freturn */, 2/* dreturn */,
2481        1/* areturn */, 0/* return */, 0/* getstatic */, UNPREDICTABLE/* putstatic */, 1/* getfield */, UNPREDICTABLE/* putfield */,
2482        UNPREDICTABLE/* invokevirtual */, UNPREDICTABLE/* invokespecial */, UNPREDICTABLE/* invokestatic */, UNPREDICTABLE/* invokeinterface */,
2483        UNPREDICTABLE/* invokedynamic */, 0/* new */, 1/* newarray */, 1/* anewarray */, 1/* arraylength */, 1/* athrow */, 1/* checkcast */, 1/* instanceof */,
2484        1/* monitorenter */, 1/* monitorexit */, 0/* wide */, UNPREDICTABLE/* multianewarray */, 1/* ifnull */, 1/* ifnonnull */, 0/* goto_w */, 0/* jsr_w */,
2485        0/* breakpoint */, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
2486        UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
2487        UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
2488        UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
2489        UNPREDICTABLE/* impdep1 */, UNPREDICTABLE/* impdep2 */
2490    };
2491
2492    /**
2493     * Number of words produced onto operand stack by instructions. Indexed by opcode. CONSUME_STACK[DALOAD] = number of
2494     * words consumed from the stack by a daload instruction.
2495     */
2496    int[] PRODUCE_STACK = {0/* nop */, 1/* aconst_null */, 1/* iconst_m1 */, 1/* iconst_0 */, 1/* iconst_1 */, 1/* iconst_2 */, 1/* iconst_3 */,
2497        1/* iconst_4 */, 1/* iconst_5 */, 2/* lconst_0 */, 2/* lconst_1 */, 1/* fconst_0 */, 1/* fconst_1 */, 1/* fconst_2 */, 2/* dconst_0 */, 2/* dconst_1 */,
2498        1/* bipush */, 1/* sipush */, 1/* ldc */, 1/* ldc_w */, 2/* ldc2_w */, 1/* iload */, 2/* lload */, 1/* fload */, 2/* dload */, 1/* aload */,
2499        1/* iload_0 */, 1/* iload_1 */, 1/* iload_2 */, 1/* iload_3 */, 2/* lload_0 */, 2/* lload_1 */, 2/* lload_2 */, 2/* lload_3 */, 1/* fload_0 */,
2500        1/* fload_1 */, 1/* fload_2 */, 1/* fload_3 */, 2/* dload_0 */, 2/* dload_1 */, 2/* dload_2 */, 2/* dload_3 */, 1/* aload_0 */, 1/* aload_1 */,
2501        1/* aload_2 */, 1/* aload_3 */, 1/* iaload */, 2/* laload */, 1/* faload */, 2/* daload */, 1/* aaload */, 1/* baload */, 1/* caload */, 1/* saload */,
2502        0/* istore */, 0/* lstore */, 0/* fstore */, 0/* dstore */, 0/* astore */, 0/* istore_0 */, 0/* istore_1 */, 0/* istore_2 */, 0/* istore_3 */,
2503        0/* lstore_0 */, 0/* lstore_1 */, 0/* lstore_2 */, 0/* lstore_3 */, 0/* fstore_0 */, 0/* fstore_1 */, 0/* fstore_2 */, 0/* fstore_3 */, 0/* dstore_0 */,
2504        0/* dstore_1 */, 0/* dstore_2 */, 0/* dstore_3 */, 0/* astore_0 */, 0/* astore_1 */, 0/* astore_2 */, 0/* astore_3 */, 0/* iastore */, 0/* lastore */,
2505        0/* fastore */, 0/* dastore */, 0/* aastore */, 0/* bastore */, 0/* castore */, 0/* sastore */, 0/* pop */, 0/* pop2 */, 2/* dup */, 3/* dup_x1 */,
2506        4/* dup_x2 */, 4/* dup2 */, 5/* dup2_x1 */, 6/* dup2_x2 */, 2/* swap */, 1/* iadd */, 2/* ladd */, 1/* fadd */, 2/* dadd */, 1/* isub */, 2/* lsub */,
2507        1/* fsub */, 2/* dsub */, 1/* imul */, 2/* lmul */, 1/* fmul */, 2/* dmul */, 1/* idiv */, 2/* ldiv */, 1/* fdiv */, 2/* ddiv */, 1/* irem */,
2508        2/* lrem */, 1/* frem */, 2/* drem */, 1/* ineg */, 2/* lneg */, 1/* fneg */, 2/* dneg */, 1/* ishl */, 2/* lshl */, 1/* ishr */, 2/* lshr */,
2509        1/* iushr */, 2/* lushr */, 1/* iand */, 2/* land */, 1/* ior */, 2/* lor */, 1/* ixor */, 2/* lxor */, 0/* iinc */, 2/* i2l */, 1/* i2f */, 2/* i2d */,
2510        1/* l2i */, 1/* l2f */, 2/* l2d */, 1/* f2i */, 2/* f2l */, 2/* f2d */, 1/* d2i */, 2/* d2l */, 1/* d2f */, 1/* i2b */, 1/* i2c */, 1/* i2s */,
2511        1/* lcmp */, 1/* fcmpl */, 1/* fcmpg */, 1/* dcmpl */, 1/* dcmpg */, 0/* ifeq */, 0/* ifne */, 0/* iflt */, 0/* ifge */, 0/* ifgt */, 0/* ifle */,
2512        0/* if_icmpeq */, 0/* if_icmpne */, 0/* if_icmplt */, 0/* if_icmpge */, 0/* if_icmpgt */, 0/* if_icmple */, 0/* if_acmpeq */, 0/* if_acmpne */,
2513        0/* goto */, 1/* jsr */, 0/* ret */, 0/* tableswitch */, 0/* lookupswitch */, 0/* ireturn */, 0/* lreturn */, 0/* freturn */, 0/* dreturn */,
2514        0/* areturn */, 0/* return */, UNPREDICTABLE/* getstatic */, 0/* putstatic */, UNPREDICTABLE/* getfield */, 0/* putfield */,
2515        UNPREDICTABLE/* invokevirtual */, UNPREDICTABLE/* invokespecial */, UNPREDICTABLE/* invokestatic */, UNPREDICTABLE/* invokeinterface */,
2516        UNPREDICTABLE/* invokedynamic */, 1/* new */, 1/* newarray */, 1/* anewarray */, 1/* arraylength */, 1/* athrow */, 1/* checkcast */, 1/* instanceof */,
2517        0/* monitorenter */, 0/* monitorexit */, 0/* wide */, 1/* multianewarray */, 0/* ifnull */, 0/* ifnonnull */, 0/* goto_w */, 1/* jsr_w */,
2518        0/* breakpoint */, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
2519        UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
2520        UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
2521        UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
2522        UNPREDICTABLE/* impdep1 */, UNPREDICTABLE/* impdep2 */
2523    };
2524
2525    /**
2526     * Attributes and their corresponding names.
2527     */
2528    byte ATTR_UNKNOWN = -1;
2529    byte ATTR_SOURCE_FILE = 0;
2530    byte ATTR_CONSTANT_VALUE = 1;
2531    byte ATTR_CODE = 2;
2532    byte ATTR_EXCEPTIONS = 3;
2533    byte ATTR_LINE_NUMBER_TABLE = 4;
2534    byte ATTR_LOCAL_VARIABLE_TABLE = 5;
2535    byte ATTR_INNER_CLASSES = 6;
2536    byte ATTR_SYNTHETIC = 7;
2537    byte ATTR_DEPRECATED = 8;
2538    byte ATTR_PMG = 9;
2539    byte ATTR_SIGNATURE = 10;
2540    byte ATTR_STACK_MAP = 11;
2541    byte ATTR_RUNTIMEVISIBLE_ANNOTATIONS = 12;
2542    byte ATTR_RUNTIMEINVISIBLE_ANNOTATIONS = 13;
2543    byte ATTR_RUNTIMEVISIBLE_PARAMETER_ANNOTATIONS = 14;
2544    byte ATTR_RUNTIMEINVISIBLE_PARAMETER_ANNOTATIONS = 15;
2545    byte ATTR_ANNOTATION_DEFAULT = 16;
2546
2547    short KNOWN_ATTRIBUTES = 12;// should be 17
2548
2549    // TODO: mutable public array!!
2550    String[] ATTRIBUTE_NAMES = {"SourceFile", "ConstantValue", "Code", "Exceptions", "LineNumberTable", "LocalVariableTable", "InnerClasses", "Synthetic",
2551        "Deprecated", "PMGClass", "Signature", "StackMap", "RuntimeVisibleAnnotations", "RuntimeInvisibleAnnotations", "RuntimeVisibleParameterAnnotations",
2552        "RuntimeInvisibleParameterAnnotations", "AnnotationDefault"};
2553
2554    /**
2555     * Constants used in the StackMap attribute.
2556     */
2557    byte ITEM_Bogus = 0;
2558    byte ITEM_Integer = 1;
2559    byte ITEM_Float = 2;
2560    byte ITEM_Double = 3;
2561    byte ITEM_Long = 4;
2562    byte ITEM_Null = 5;
2563    byte ITEM_InitObject = 6;
2564    byte ITEM_Object = 7;
2565    byte ITEM_NewObject = 8;
2566
2567    String[] ITEM_NAMES = {"Bogus", "Integer", "Float", "Double", "Long", "Null", "InitObject", "Object", "NewObject"};
2568
2569}