001/*
002 * Licensed to the Apache Software Foundation (ASF) under one
003 * or more contributor license agreements.  See the NOTICE file
004 * distributed with this work for additional information
005 * regarding copyright ownership.  The ASF licenses this file
006 * to you under the Apache License, Version 2.0 (the
007 * "License"); you may not use this file except in compliance
008 * with the License.  You may obtain a copy of the License at
009 *
010 *   https://www.apache.org/licenses/LICENSE-2.0
011 *
012 * Unless required by applicable law or agreed to in writing,
013 * software distributed under the License is distributed on an
014 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
015 * KIND, either express or implied.  See the License for the
016 * specific language governing permissions and limitations
017 * under the License.
018 */
019
020package org.apache.bcel.generic;
021
022/**
023 * Contains shareable instruction objects.
024 * <p>
025 * Reusing predefined instruction objects can save time and memory, especially for frequently used instructions such as ICONST_0.
026 * These objects are shared and should not be modified. This approach adapts the Flyweight design pattern by using an array instead of a factory.
027 * </p>
028 * <p>
029 * The instruction objects can also be accessed directly by name, for example, {@code il.append(InstructionConst.ICONST_0)}.
030 * </p>
031 *
032 * @deprecated (since 6.0) Do not use. Use {@link InstructionConst} instead.
033 */
034@Deprecated
035public interface InstructionConstants {
036
037    /**
038     * Deprecated, consider private and ignore.
039     *
040     * @deprecated Consider private.
041     */
042    @Deprecated
043    class Clinit {
044
045        /**
046         * Constructs a Clinit.
047         */
048        public Clinit() {
049            // empty
050        }
051    }
052
053    /*
054     * NOTE these are not currently immutable, because Instruction has mutable protected fields opcode and length.
055     */
056
057    /**
058     * NOP instruction.
059     *
060     * @deprecated Use {@link InstructionConst#NOP}.
061     */
062    @Deprecated
063    Instruction NOP = InstructionConst.NOP;
064
065    /**
066     * ACONST_NULL instruction.
067     *
068     * @deprecated Use {@link InstructionConst#ACONST_NULL}.
069     */
070    @Deprecated
071    Instruction ACONST_NULL = InstructionConst.ACONST_NULL;
072
073    /**
074     * ICONST_M1 instruction.
075     *
076     * @deprecated Use {@link InstructionConst#ICONST_M1}.
077     */
078    @Deprecated
079    Instruction ICONST_M1 = InstructionConst.ICONST_M1;
080
081    /**
082     * ICONST_0 instruction.
083     *
084     * @deprecated Use {@link InstructionConst#ICONST_0}.
085     */
086    @Deprecated
087    Instruction ICONST_0 = InstructionConst.ICONST_0;
088
089    /**
090     * ICONST_1 instruction.
091     *
092     * @deprecated Use {@link InstructionConst#ICONST_1}.
093     */
094    @Deprecated
095    Instruction ICONST_1 = InstructionConst.ICONST_1;
096
097    /**
098     * ICONST_2 instruction.
099     *
100     * @deprecated Use {@link InstructionConst#ICONST_2}.
101     */
102    @Deprecated
103    Instruction ICONST_2 = InstructionConst.ICONST_2;
104
105    /**
106     * ICONST_3 instruction.
107     *
108     * @deprecated Use {@link InstructionConst#ICONST_3}.
109     */
110    @Deprecated
111    Instruction ICONST_3 = InstructionConst.ICONST_3;
112
113    /**
114     * ICONST_4 instruction.
115     *
116     * @deprecated Use {@link InstructionConst#ICONST_4}.
117     */
118    @Deprecated
119    Instruction ICONST_4 = InstructionConst.ICONST_4;
120
121    /**
122     * ICONST_5 instruction.
123     *
124     * @deprecated Use {@link InstructionConst#ICONST_5}.
125     */
126    @Deprecated
127    Instruction ICONST_5 = InstructionConst.ICONST_5;
128
129    /**
130     * LCONST_0 instruction.
131     *
132     * @deprecated Use {@link InstructionConst#LCONST_0}.
133     */
134    @Deprecated
135    Instruction LCONST_0 = InstructionConst.LCONST_0;
136
137    /**
138     * LCONST_1 instruction.
139     *
140     * @deprecated Use {@link InstructionConst#LCONST_1}.
141     */
142    @Deprecated
143    Instruction LCONST_1 = InstructionConst.LCONST_1;
144
145    /**
146     * FCONST_0 instruction.
147     *
148     * @deprecated Use {@link InstructionConst#FCONST_0}.
149     */
150    @Deprecated
151    Instruction FCONST_0 = InstructionConst.FCONST_0;
152
153    /**
154     * FCONST_1 instruction.
155     *
156     * @deprecated Use {@link InstructionConst#FCONST_1}.
157     */
158    @Deprecated
159    Instruction FCONST_1 = InstructionConst.FCONST_1;
160
161    /**
162     * FCONST_2 instruction.
163     *
164     * @deprecated Use {@link InstructionConst#FCONST_2}.
165     */
166    @Deprecated
167    Instruction FCONST_2 = InstructionConst.FCONST_2;
168
169    /**
170     * DCONST_0 instruction.
171     *
172     * @deprecated Use {@link InstructionConst#DCONST_0}.
173     */
174    @Deprecated
175    Instruction DCONST_0 = InstructionConst.DCONST_0;
176
177    /**
178     * DCONST_1 instruction.
179     *
180     * @deprecated Use {@link InstructionConst#DCONST_1}.
181     */
182    @Deprecated
183    Instruction DCONST_1 = InstructionConst.DCONST_1;
184
185    /**
186     * IALOAD instruction.
187     *
188     * @deprecated Use {@link InstructionConst#IALOAD}.
189     */
190    @Deprecated
191    ArrayInstruction IALOAD = InstructionConst.IALOAD;
192
193    /**
194     * LALOAD instruction.
195     *
196     * @deprecated Use {@link InstructionConst#LALOAD}.
197     */
198    @Deprecated
199    ArrayInstruction LALOAD = InstructionConst.LALOAD;
200
201    /**
202     * FALOAD instruction.
203     *
204     * @deprecated Use {@link InstructionConst#FALOAD}.
205     */
206    @Deprecated
207    ArrayInstruction FALOAD = InstructionConst.FALOAD;
208
209    /**
210     * DALOAD instruction.
211     *
212     * @deprecated Use {@link InstructionConst#DALOAD}.
213     */
214    @Deprecated
215    ArrayInstruction DALOAD = InstructionConst.DALOAD;
216
217    /**
218     * AALOAD instruction.
219     *
220     * @deprecated Use {@link InstructionConst#AALOAD}.
221     */
222    @Deprecated
223    ArrayInstruction AALOAD = InstructionConst.AALOAD;
224
225    /**
226     * BALOAD instruction.
227     *
228     * @deprecated Use {@link InstructionConst#BALOAD}.
229     */
230    @Deprecated
231    ArrayInstruction BALOAD = InstructionConst.BALOAD;
232
233    /**
234     * CALOAD instruction.
235     *
236     * @deprecated Use {@link InstructionConst#CALOAD}.
237     */
238    @Deprecated
239    ArrayInstruction CALOAD = InstructionConst.CALOAD;
240
241    /**
242     * SALOAD instruction.
243     *
244     * @deprecated Use {@link InstructionConst#SALOAD}.
245     */
246    @Deprecated
247    ArrayInstruction SALOAD = InstructionConst.SALOAD;
248
249    /**
250     * IASTORE instruction.
251     *
252     * @deprecated Use {@link InstructionConst#IASTORE}.
253     */
254    @Deprecated
255    ArrayInstruction IASTORE = InstructionConst.IASTORE;
256
257    /**
258     * LASTORE instruction.
259     *
260     * @deprecated Use {@link InstructionConst#LASTORE}.
261     */
262    @Deprecated
263    ArrayInstruction LASTORE = InstructionConst.LASTORE;
264
265    /**
266     * FASTORE instruction.
267     *
268     * @deprecated Use {@link InstructionConst#FASTORE}.
269     */
270    @Deprecated
271    ArrayInstruction FASTORE = InstructionConst.FASTORE;
272
273    /**
274     * DASTORE instruction.
275     *
276     * @deprecated Use {@link InstructionConst#DASTORE}.
277     */
278    @Deprecated
279    ArrayInstruction DASTORE = InstructionConst.DASTORE;
280
281    /**
282     * AASTORE instruction.
283     *
284     * @deprecated Use {@link InstructionConst#AASTORE}.
285     */
286    @Deprecated
287    ArrayInstruction AASTORE = InstructionConst.AASTORE;
288
289    /**
290     * BASTORE instruction.
291     *
292     * @deprecated Use {@link InstructionConst#BASTORE}.
293     */
294    @Deprecated
295    ArrayInstruction BASTORE = InstructionConst.BASTORE;
296
297    /**
298     * CASTORE instruction.
299     *
300     * @deprecated Use {@link InstructionConst#CASTORE}.
301     */
302    @Deprecated
303    ArrayInstruction CASTORE = InstructionConst.CASTORE;
304
305    /**
306     * SASTORE instruction.
307     *
308     * @deprecated Use {@link InstructionConst#SASTORE}.
309     */
310    @Deprecated
311    ArrayInstruction SASTORE = InstructionConst.SASTORE;
312
313    /**
314     * POP instruction.
315     *
316     * @deprecated Use {@link InstructionConst#POP}.
317     */
318    @Deprecated
319    StackInstruction POP = InstructionConst.POP;
320
321    /**
322     * POP2 instruction.
323     *
324     * @deprecated Use {@link InstructionConst#POP2}.
325     */
326    @Deprecated
327    StackInstruction POP2 = InstructionConst.POP2;
328
329    /**
330     * DUP instruction.
331     *
332     * @deprecated Use {@link InstructionConst#DUP}.
333     */
334    @Deprecated
335    StackInstruction DUP = InstructionConst.DUP;
336
337    /**
338     * DUP_X1 instruction.
339     *
340     * @deprecated Use {@link InstructionConst#DUP_X1}.
341     */
342    @Deprecated
343    StackInstruction DUP_X1 = InstructionConst.DUP_X1;
344
345    /**
346     * DUP_X2 instruction.
347     *
348     * @deprecated Use {@link InstructionConst#DUP_X2}.
349     */
350    @Deprecated
351    StackInstruction DUP_X2 = InstructionConst.DUP_X2;
352
353    /**
354     * DUP2 instruction.
355     *
356     * @deprecated Use {@link InstructionConst#DUP2}.
357     */
358    @Deprecated
359    StackInstruction DUP2 = InstructionConst.DUP2;
360
361    /**
362     * DUP2_X1 instruction.
363     *
364     * @deprecated Use {@link InstructionConst#DUP2_X1}.
365     */
366    @Deprecated
367    StackInstruction DUP2_X1 = InstructionConst.DUP2_X1;
368
369    /**
370     * DUP2_X2 instruction.
371     *
372     * @deprecated Use {@link InstructionConst#DUP2_X2}.
373     */
374    @Deprecated
375    StackInstruction DUP2_X2 = InstructionConst.DUP2_X2;
376
377    /**
378     * SWAP instruction.
379     *
380     * @deprecated Use {@link InstructionConst#SWAP}.
381     */
382    @Deprecated
383    StackInstruction SWAP = InstructionConst.SWAP;
384
385    /**
386     * IADD instruction.
387     *
388     * @deprecated Use {@link InstructionConst#IADD}.
389     */
390    @Deprecated
391    ArithmeticInstruction IADD = InstructionConst.IADD;
392
393    /**
394     * LADD instruction.
395     *
396     * @deprecated Use {@link InstructionConst#LADD}.
397     */
398    @Deprecated
399    ArithmeticInstruction LADD = InstructionConst.LADD;
400
401    /**
402     * FADD instruction.
403     *
404     * @deprecated Use {@link InstructionConst#FADD}.
405     */
406    @Deprecated
407    ArithmeticInstruction FADD = InstructionConst.FADD;
408
409    /**
410     * DADD instruction.
411     *
412     * @deprecated Use {@link InstructionConst#DADD}.
413     */
414    @Deprecated
415    ArithmeticInstruction DADD = InstructionConst.DADD;
416
417    /**
418     * ISUB instruction.
419     *
420     * @deprecated Use {@link InstructionConst#ISUB}.
421     */
422    @Deprecated
423    ArithmeticInstruction ISUB = InstructionConst.ISUB;
424
425    /**
426     * LSUB instruction.
427     *
428     * @deprecated Use {@link InstructionConst#LSUB}.
429     */
430    @Deprecated
431    ArithmeticInstruction LSUB = InstructionConst.LSUB;
432
433    /**
434     * FSUB instruction.
435     *
436     * @deprecated Use {@link InstructionConst#FSUB}.
437     */
438    @Deprecated
439    ArithmeticInstruction FSUB = InstructionConst.FSUB;
440
441    /**
442     * DSUB instruction.
443     *
444     * @deprecated Use {@link InstructionConst#DSUB}.
445     */
446    @Deprecated
447    ArithmeticInstruction DSUB = InstructionConst.DSUB;
448
449    /**
450     * IMUL instruction.
451     *
452     * @deprecated Use {@link InstructionConst#IMUL}.
453     */
454    @Deprecated
455    ArithmeticInstruction IMUL = InstructionConst.IMUL;
456
457    /**
458     * LMUL instruction.
459     *
460     * @deprecated Use {@link InstructionConst#LMUL}.
461     */
462    @Deprecated
463    ArithmeticInstruction LMUL = InstructionConst.LMUL;
464
465    /**
466     * FMUL instruction.
467     *
468     * @deprecated Use {@link InstructionConst#FMUL}.
469     */
470    @Deprecated
471    ArithmeticInstruction FMUL = InstructionConst.FMUL;
472
473    /**
474     * DMUL instruction.
475     *
476     * @deprecated Use {@link InstructionConst#DMUL}.
477     */
478    @Deprecated
479    ArithmeticInstruction DMUL = InstructionConst.DMUL;
480
481    /**
482     * IDIV instruction.
483     *
484     * @deprecated Use {@link InstructionConst#IDIV}.
485     */
486    @Deprecated
487    ArithmeticInstruction IDIV = InstructionConst.IDIV;
488
489    /**
490     * LDIV instruction.
491     *
492     * @deprecated Use {@link InstructionConst#LDIV}.
493     */
494    @Deprecated
495    ArithmeticInstruction LDIV = InstructionConst.LDIV;
496
497    /**
498     * FDIV instruction.
499     *
500     * @deprecated Use {@link InstructionConst#FDIV}.
501     */
502    @Deprecated
503    ArithmeticInstruction FDIV = InstructionConst.FDIV;
504
505    /**
506     * DDIV instruction.
507     *
508     * @deprecated Use {@link InstructionConst#DDIV}.
509     */
510    @Deprecated
511    ArithmeticInstruction DDIV = InstructionConst.DDIV;
512
513    /**
514     * IREM instruction.
515     *
516     * @deprecated Use {@link InstructionConst#IREM}.
517     */
518    @Deprecated
519    ArithmeticInstruction IREM = InstructionConst.IREM;
520
521    /**
522     * LREM instruction.
523     *
524     * @deprecated Use {@link InstructionConst#LREM}.
525     */
526    @Deprecated
527    ArithmeticInstruction LREM = InstructionConst.LREM;
528
529    /**
530     * FREM instruction.
531     *
532     * @deprecated Use {@link InstructionConst#FREM}.
533     */
534    @Deprecated
535    ArithmeticInstruction FREM = InstructionConst.FREM;
536
537    /**
538     * DREM instruction.
539     *
540     * @deprecated Use {@link InstructionConst#DREM}.
541     */
542    @Deprecated
543    ArithmeticInstruction DREM = InstructionConst.DREM;
544
545    /**
546     * INEG instruction.
547     *
548     * @deprecated Use {@link InstructionConst#INEG}.
549     */
550    @Deprecated
551    ArithmeticInstruction INEG = InstructionConst.INEG;
552
553    /**
554     * LNEG instruction.
555     *
556     * @deprecated Use {@link InstructionConst#LNEG}.
557     */
558    @Deprecated
559    ArithmeticInstruction LNEG = InstructionConst.LNEG;
560
561    /**
562     * FNEG instruction.
563     *
564     * @deprecated Use {@link InstructionConst#FNEG}.
565     */
566    @Deprecated
567    ArithmeticInstruction FNEG = InstructionConst.FNEG;
568
569    /**
570     * DNEG instruction.
571     *
572     * @deprecated Use {@link InstructionConst#DNEG}.
573     */
574    @Deprecated
575    ArithmeticInstruction DNEG = InstructionConst.DNEG;
576
577    /**
578     * ISHL instruction.
579     *
580     * @deprecated Use {@link InstructionConst#ISHL}.
581     */
582    @Deprecated
583    ArithmeticInstruction ISHL = InstructionConst.ISHL;
584
585    /**
586     * LSHL instruction.
587     *
588     * @deprecated Use {@link InstructionConst#LSHL}.
589     */
590    @Deprecated
591    ArithmeticInstruction LSHL = InstructionConst.LSHL;
592
593    /**
594     * ISHR instruction.
595     *
596     * @deprecated Use {@link InstructionConst#ISHR}.
597     */
598    @Deprecated
599    ArithmeticInstruction ISHR = InstructionConst.ISHR;
600
601    /**
602     * LSHR instruction.
603     *
604     * @deprecated Use {@link InstructionConst#LSHR}.
605     */
606    @Deprecated
607    ArithmeticInstruction LSHR = InstructionConst.LSHR;
608
609    /**
610     * IUSHR instruction.
611     *
612     * @deprecated Use {@link InstructionConst#IUSHR}.
613     */
614    @Deprecated
615    ArithmeticInstruction IUSHR = InstructionConst.IUSHR;
616
617    /**
618     * LUSHR instruction.
619     *
620     * @deprecated Use {@link InstructionConst#LUSHR}.
621     */
622    @Deprecated
623    ArithmeticInstruction LUSHR = InstructionConst.LUSHR;
624
625    /**
626     * IAND instruction.
627     *
628     * @deprecated Use {@link InstructionConst#IAND}.
629     */
630    @Deprecated
631    ArithmeticInstruction IAND = InstructionConst.IAND;
632
633    /**
634     * LAND instruction.
635     *
636     * @deprecated Use {@link InstructionConst#LAND}.
637     */
638    @Deprecated
639    ArithmeticInstruction LAND = InstructionConst.LAND;
640
641    /**
642     * IOR instruction.
643     *
644     * @deprecated Use {@link InstructionConst#IOR}.
645     */
646    @Deprecated
647    ArithmeticInstruction IOR = InstructionConst.IOR;
648
649    /**
650     * LOR instruction.
651     *
652     * @deprecated Use {@link InstructionConst#LOR}.
653     */
654    @Deprecated
655    ArithmeticInstruction LOR = InstructionConst.LOR;
656
657    /**
658     * IXOR instruction.
659     *
660     * @deprecated Use {@link InstructionConst#IXOR}.
661     */
662    @Deprecated
663    ArithmeticInstruction IXOR = InstructionConst.IXOR;
664
665    /**
666     * LXOR instruction.
667     *
668     * @deprecated Use {@link InstructionConst#LXOR}.
669     */
670    @Deprecated
671    ArithmeticInstruction LXOR = InstructionConst.LXOR;
672
673    /**
674     * I2L instruction.
675     *
676     * @deprecated Use {@link InstructionConst#I2L}.
677     */
678    @Deprecated
679    ConversionInstruction I2L = InstructionConst.I2L;
680
681    /**
682     * I2F instruction.
683     *
684     * @deprecated Use {@link InstructionConst#I2F}.
685     */
686    @Deprecated
687    ConversionInstruction I2F = InstructionConst.I2F;
688
689    /**
690     * I2D instruction.
691     *
692     * @deprecated Use {@link InstructionConst#I2D}.
693     */
694    @Deprecated
695    ConversionInstruction I2D = InstructionConst.I2D;
696
697    /**
698     * L2I instruction.
699     *
700     * @deprecated Use {@link InstructionConst#L2I}.
701     */
702    @Deprecated
703    ConversionInstruction L2I = InstructionConst.L2I;
704
705    /**
706     * L2F instruction.
707     *
708     * @deprecated Use {@link InstructionConst#L2F}.
709     */
710    @Deprecated
711    ConversionInstruction L2F = InstructionConst.L2F;
712
713    /**
714     * L2D instruction.
715     *
716     * @deprecated Use {@link InstructionConst#L2D}.
717     */
718    @Deprecated
719    ConversionInstruction L2D = InstructionConst.L2D;
720
721    /**
722     * F2I instruction.
723     *
724     * @deprecated Use {@link InstructionConst#F2I}.
725     */
726    @Deprecated
727    ConversionInstruction F2I = InstructionConst.F2I;
728
729    /**
730     * F2L instruction.
731     *
732     * @deprecated Use {@link InstructionConst#F2L}.
733     */
734    @Deprecated
735    ConversionInstruction F2L = InstructionConst.F2L;
736
737    /**
738     * F2D instruction.
739     *
740     * @deprecated Use {@link InstructionConst#F2D}.
741     */
742    @Deprecated
743    ConversionInstruction F2D = InstructionConst.F2D;
744
745    /**
746     * D2I instruction.
747     *
748     * @deprecated Use {@link InstructionConst#D2I}.
749     */
750    @Deprecated
751    ConversionInstruction D2I = InstructionConst.D2I;
752
753    /**
754     * D2L instruction.
755     *
756     * @deprecated Use {@link InstructionConst#D2L}.
757     */
758    @Deprecated
759    ConversionInstruction D2L = InstructionConst.D2L;
760
761    /**
762     * D2F instruction.
763     *
764     * @deprecated Use {@link InstructionConst#D2F}.
765     */
766    @Deprecated
767    ConversionInstruction D2F = InstructionConst.D2F;
768
769    /**
770     * I2B instruction.
771     *
772     * @deprecated Use {@link InstructionConst#I2B}.
773     */
774    @Deprecated
775    ConversionInstruction I2B = InstructionConst.I2B;
776
777    /**
778     * I2C instruction.
779     *
780     * @deprecated Use {@link InstructionConst#I2C}.
781     */
782    @Deprecated
783    ConversionInstruction I2C = InstructionConst.I2C;
784
785    /**
786     * I2S instruction.
787     *
788     * @deprecated Use {@link InstructionConst#I2S}.
789     */
790    @Deprecated
791    ConversionInstruction I2S = InstructionConst.I2S;
792
793    /**
794     * LCMP instruction.
795     *
796     * @deprecated Use {@link InstructionConst#LCMP}.
797     */
798    @Deprecated
799    Instruction LCMP = InstructionConst.LCMP;
800
801    /**
802     * FCMPL instruction.
803     *
804     * @deprecated Use {@link InstructionConst#FCMPL}.
805     */
806    @Deprecated
807    Instruction FCMPL = InstructionConst.FCMPL;
808
809    /**
810     * FCMPG instruction.
811     *
812     * @deprecated Use {@link InstructionConst#FCMPG}.
813     */
814    @Deprecated
815    Instruction FCMPG = InstructionConst.FCMPG;
816
817    /**
818     * DCMPL instruction.
819     *
820     * @deprecated Use {@link InstructionConst#DCMPL}.
821     */
822    @Deprecated
823    Instruction DCMPL = InstructionConst.DCMPL;
824
825    /**
826     * DCMPG instruction.
827     *
828     * @deprecated Use {@link InstructionConst#DCMPG}.
829     */
830    @Deprecated
831    Instruction DCMPG = InstructionConst.DCMPG;
832
833    /**
834     * IRETURN instruction.
835     *
836     * @deprecated Use {@link InstructionConst#IRETURN}.
837     */
838    @Deprecated
839    ReturnInstruction IRETURN = InstructionConst.IRETURN;
840
841    /**
842     * LRETURN instruction.
843     *
844     * @deprecated Use {@link InstructionConst#LRETURN}.
845     */
846    @Deprecated
847    ReturnInstruction LRETURN = InstructionConst.LRETURN;
848
849    /**
850     * FRETURN instruction.
851     *
852     * @deprecated Use {@link InstructionConst#FRETURN}.
853     */
854    @Deprecated
855    ReturnInstruction FRETURN = InstructionConst.FRETURN;
856
857    /**
858     * DRETURN instruction.
859     *
860     * @deprecated Use {@link InstructionConst#DRETURN}.
861     */
862    @Deprecated
863    ReturnInstruction DRETURN = InstructionConst.DRETURN;
864
865    /**
866     * ARETURN instruction.
867     *
868     * @deprecated Use {@link InstructionConst#ARETURN}.
869     */
870    @Deprecated
871    ReturnInstruction ARETURN = InstructionConst.ARETURN;
872
873    /**
874     * RETURN instruction.
875     *
876     * @deprecated Use {@link InstructionConst#RETURN}.
877     */
878    @Deprecated
879    ReturnInstruction RETURN = InstructionConst.RETURN;
880
881    /**
882     * ARRAYLENGTH instruction.
883     *
884     * @deprecated Use {@link InstructionConst#ARRAYLENGTH}.
885     */
886    @Deprecated
887    Instruction ARRAYLENGTH = InstructionConst.ARRAYLENGTH;
888
889    /**
890     * ATHROW instruction.
891     *
892     * @deprecated Use {@link InstructionConst#ATHROW}.
893     */
894    @Deprecated
895    Instruction ATHROW = InstructionConst.ATHROW;
896
897    /**
898     * MONITORENTER instruction.
899     *
900     * @deprecated Use {@link InstructionConst#MONITORENTER}.
901     */
902    @Deprecated
903    Instruction MONITORENTER = InstructionConst.MONITORENTER;
904
905    /**
906     * MONITOREXIT instruction.
907     *
908     * @deprecated Use {@link InstructionConst#MONITOREXIT}.
909     */
910    @Deprecated
911    Instruction MONITOREXIT = InstructionConst.MONITOREXIT;
912
913    /**
914     * You can use these constants in multiple places safely, if you can guarantee that you will never alter their internal values, for example call setIndex().
915     *
916     * @deprecated Use {@link InstructionConst#THIS}.
917     */
918    @Deprecated
919    LocalVariableInstruction THIS = InstructionConst.THIS;
920
921    /**
922     * ALOAD_0 instruction.
923     *
924     * @deprecated Use {@link InstructionConst#ALOAD_0}.
925     */
926    @Deprecated
927    LocalVariableInstruction ALOAD_0 = InstructionConst.ALOAD_0;
928
929    /**
930     * ALOAD_1 instruction.
931     *
932     * @deprecated Use {@link InstructionConst#ALOAD_1}.
933     */
934    @Deprecated
935    LocalVariableInstruction ALOAD_1 = InstructionConst.ALOAD_1;
936
937    /**
938     * ALOAD_2 instruction.
939     *
940     * @deprecated Use {@link InstructionConst#ALOAD_2}.
941     */
942    @Deprecated
943    LocalVariableInstruction ALOAD_2 = InstructionConst.ALOAD_2;
944
945    /**
946     * ILOAD_0 instruction.
947     *
948     * @deprecated Use {@link InstructionConst#ILOAD_0}.
949     */
950    @Deprecated
951    LocalVariableInstruction ILOAD_0 = InstructionConst.ILOAD_0;
952
953    /**
954     * ILOAD_1 instruction.
955     *
956     * @deprecated Use {@link InstructionConst#ILOAD_1}.
957     */
958    @Deprecated
959    LocalVariableInstruction ILOAD_1 = InstructionConst.ILOAD_1;
960
961    /**
962     * ILOAD_2 instruction.
963     *
964     * @deprecated Use {@link InstructionConst#ILOAD_2}.
965     */
966    @Deprecated
967    LocalVariableInstruction ILOAD_2 = InstructionConst.ILOAD_2;
968
969    /**
970     * ASTORE_0 instruction.
971     *
972     * @deprecated Use {@link InstructionConst#ASTORE_0}.
973     */
974    @Deprecated
975    LocalVariableInstruction ASTORE_0 = InstructionConst.ASTORE_0;
976
977    /**
978     * ASTORE_1 instruction.
979     *
980     * @deprecated Use {@link InstructionConst#ASTORE_1}.
981     */
982    @Deprecated
983    LocalVariableInstruction ASTORE_1 = InstructionConst.ASTORE_1;
984
985    /**
986     * ASTORE_2 instruction.
987     *
988     * @deprecated Use {@link InstructionConst#ASTORE_2}.
989     */
990    @Deprecated
991    LocalVariableInstruction ASTORE_2 = InstructionConst.ASTORE_2;
992
993    /**
994     * ISTORE_0 instruction.
995     *
996     * @deprecated Use {@link InstructionConst#ISTORE_0}.
997     */
998    @Deprecated
999    LocalVariableInstruction ISTORE_0 = InstructionConst.ISTORE_0;
1000
1001    /**
1002     * ISTORE_1 instruction.
1003     *
1004     * @deprecated Use {@link InstructionConst#ISTORE_1}.
1005     */
1006    @Deprecated
1007    LocalVariableInstruction ISTORE_1 = InstructionConst.ISTORE_1;
1008
1009    /**
1010     * ISTORE_2 instruction.
1011     *
1012     * @deprecated Use {@link InstructionConst#ISTORE_2}.
1013     */
1014    @Deprecated
1015    LocalVariableInstruction ISTORE_2 = InstructionConst.ISTORE_2;
1016
1017    /**
1018     * Instruction objects indexed by opcode. Entries for instructions without a predefined instance, such as branch instructions, are null.
1019     *
1020     * @deprecated Use {@link InstructionConst#INSTRUCTIONS}.
1021     */
1022    @Deprecated
1023    Instruction[] INSTRUCTIONS = InstructionConst.INSTRUCTIONS;
1024
1025    /**
1026     * Interfaces may have no static initializers, so we simulate this with an inner class.
1027     */
1028    Clinit bla = new Clinit();
1029}