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