    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}