View Javadoc
1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements.  See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership.  The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  You may obtain a copy of the License at
9    *
10   *   https://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing,
13   * software distributed under the License is distributed on an
14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   * KIND, either express or implied.  See the License for the
16   * specific language governing permissions and limitations
17   * under the License.
18   */
19  
20  package org.apache.bcel.generic;
21  
22  /**
23   * Contains shareable instruction objects.
24   * <p>
25   * 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
26   * 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
27   * feature is an adaptation of the FlyWeight design pattern, we just use an array instead of a factory.
28   * </p>
29   * <p>
30   * The Instructions can also accessed directly under their names, so it's possible to write il.append(Instruction.ICONST_0);
31   * </p>
32   *
33   * @deprecated (since 6.0) Do not use. Use {@link InstructionConst} instead.
34   */
35  @Deprecated
36  public interface InstructionConstants {
37  
38      /**
39       * Deprecated, consider private and ignore.
40       *
41       * @deprecated Consider private.
42       */
43      @Deprecated
44      class Clinit {
45  
46          /**
47           * Constructs a Clinit.
48           */
49          public Clinit() {
50              // empty
51          }
52      }
53  
54      /*
55       * NOTE these are not currently immutable, because Instruction has mutable protected fields opcode and length.
56       */
57  
58      /**
59       * NOP instruction.
60       *
61       * @deprecated Use {@link InstructionConst#NOP}.
62       */
63      @Deprecated
64      Instruction NOP = InstructionConst.NOP;
65  
66      /**
67       * ACONST_NULL instruction.
68       *
69       * @deprecated Use {@link InstructionConst#ACONST_NULL}.
70       */
71      @Deprecated
72      Instruction ACONST_NULL = InstructionConst.ACONST_NULL;
73  
74      /**
75       * ICONST_M1 instruction.
76       *
77       * @deprecated Use {@link InstructionConst#ICONST_M1}.
78       */
79      @Deprecated
80      Instruction ICONST_M1 = InstructionConst.ICONST_M1;
81  
82      /**
83       * ICONST_0 instruction.
84       *
85       * @deprecated Use {@link InstructionConst#ICONST_0}.
86       */
87      @Deprecated
88      Instruction ICONST_0 = InstructionConst.ICONST_0;
89  
90      /**
91       * ICONST_1 instruction.
92       *
93       * @deprecated Use {@link InstructionConst#ICONST_1}.
94       */
95      @Deprecated
96      Instruction ICONST_1 = InstructionConst.ICONST_1;
97  
98      /**
99       * 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 }