當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。