当前位置: 首页>>代码示例>>Java>>正文


Java InstructionConstants.OP_CALOAD属性代码示例

本文整理汇总了Java中proguard.classfile.instruction.InstructionConstants.OP_CALOAD属性的典型用法代码示例。如果您正苦于以下问题:Java InstructionConstants.OP_CALOAD属性的具体用法?Java InstructionConstants.OP_CALOAD怎么用?Java InstructionConstants.OP_CALOAD使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在proguard.classfile.instruction.InstructionConstants的用法示例。


在下文中一共展示了InstructionConstants.OP_CALOAD属性的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: visitSimpleInstruction

public void visitSimpleInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, SimpleInstruction simpleInstruction)
{
    byte opcode = simpleInstruction.opcode;

    // Check for instructions that may throw exceptions.
    // Note that monitorexit can not sensibly throw exceptions, except the
    // broken and deprecated asynchronous ThreadDeath. Removing the
    // artificial infinite looping exception blocks that recent compilers
    // add does not strictly follow the JVM specs, but it does have the
    // additional benefit of avoiding a bug in the JVM in JDK 1.1.
    switch (opcode)
    {
        case InstructionConstants.OP_IDIV:
        case InstructionConstants.OP_LDIV:
        case InstructionConstants.OP_IREM:
        case InstructionConstants.OP_LREM:
        case InstructionConstants.OP_IALOAD:
        case InstructionConstants.OP_LALOAD:
        case InstructionConstants.OP_FALOAD:
        case InstructionConstants.OP_DALOAD:
        case InstructionConstants.OP_AALOAD:
        case InstructionConstants.OP_BALOAD:
        case InstructionConstants.OP_CALOAD:
        case InstructionConstants.OP_SALOAD:
        case InstructionConstants.OP_IASTORE:
        case InstructionConstants.OP_LASTORE:
        case InstructionConstants.OP_FASTORE:
        case InstructionConstants.OP_DASTORE:
        case InstructionConstants.OP_AASTORE:
        case InstructionConstants.OP_BASTORE:
        case InstructionConstants.OP_CASTORE:
        case InstructionConstants.OP_SASTORE:
        case InstructionConstants.OP_NEWARRAY:
        case InstructionConstants.OP_ARRAYLENGTH:
        case InstructionConstants.OP_ATHROW:
        case InstructionConstants.OP_MONITORENTER:
            // These instructions may throw exceptions.
            mayThrowExceptions = true;
    }

}
 
开发者ID:tranleduy2000,项目名称:javaide,代码行数:41,代码来源:ExceptionInstructionChecker.java

示例2: visitSimpleInstruction

public void visitSimpleInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, SimpleInstruction simpleInstruction)
{
    switch (simpleInstruction.opcode)
    {
        case InstructionConstants.OP_IALOAD:
        case InstructionConstants.OP_BALOAD:
        case InstructionConstants.OP_CALOAD:
        case InstructionConstants.OP_SALOAD:
        case InstructionConstants.OP_IADD:
        case InstructionConstants.OP_ISUB:
        case InstructionConstants.OP_IMUL:
        case InstructionConstants.OP_IDIV:
        case InstructionConstants.OP_IREM:
        case InstructionConstants.OP_INEG:
        case InstructionConstants.OP_ISHL:
        case InstructionConstants.OP_ISHR:
        case InstructionConstants.OP_IUSHR:
        case InstructionConstants.OP_IAND:
        case InstructionConstants.OP_IOR:
        case InstructionConstants.OP_IXOR:
        case InstructionConstants.OP_L2I:
        case InstructionConstants.OP_F2I:
        case InstructionConstants.OP_D2I:
        case InstructionConstants.OP_I2B:
        case InstructionConstants.OP_I2C:
        case InstructionConstants.OP_I2S:
            replaceIntegerPushInstruction(clazz, offset, simpleInstruction);
            break;

        case InstructionConstants.OP_LALOAD:
        case InstructionConstants.OP_LADD:
        case InstructionConstants.OP_LSUB:
        case InstructionConstants.OP_LMUL:
        case InstructionConstants.OP_LDIV:
        case InstructionConstants.OP_LREM:
        case InstructionConstants.OP_LNEG:
        case InstructionConstants.OP_LSHL:
        case InstructionConstants.OP_LSHR:
        case InstructionConstants.OP_LUSHR:
        case InstructionConstants.OP_LAND:
        case InstructionConstants.OP_LOR:
        case InstructionConstants.OP_LXOR:
        case InstructionConstants.OP_I2L:
        case InstructionConstants.OP_F2L:
        case InstructionConstants.OP_D2L:
            replaceLongPushInstruction(clazz, offset, simpleInstruction);
            break;

        case InstructionConstants.OP_FALOAD:
        case InstructionConstants.OP_FADD:
        case InstructionConstants.OP_FSUB:
        case InstructionConstants.OP_FMUL:
        case InstructionConstants.OP_FDIV:
        case InstructionConstants.OP_FREM:
        case InstructionConstants.OP_FNEG:
        case InstructionConstants.OP_I2F:
        case InstructionConstants.OP_L2F:
        case InstructionConstants.OP_D2F:
            replaceFloatPushInstruction(clazz, offset, simpleInstruction);
            break;

        case InstructionConstants.OP_DALOAD:
        case InstructionConstants.OP_DADD:
        case InstructionConstants.OP_DSUB:
        case InstructionConstants.OP_DMUL:
        case InstructionConstants.OP_DDIV:
        case InstructionConstants.OP_DREM:
        case InstructionConstants.OP_DNEG:
        case InstructionConstants.OP_I2D:
        case InstructionConstants.OP_L2D:
        case InstructionConstants.OP_F2D:
            replaceDoublePushInstruction(clazz, offset, simpleInstruction);
            break;

        case InstructionConstants.OP_AALOAD:
            replaceReferencePushInstruction(clazz, offset, simpleInstruction);
            break;
    }
}
 
开发者ID:tranleduy2000,项目名称:javaide,代码行数:79,代码来源:EvaluationSimplifier.java


注:本文中的proguard.classfile.instruction.InstructionConstants.OP_CALOAD属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。