Examples of JumpInfo


Examples of edu.umd.cs.findbugs.OpcodeStack.JumpInfo

    }

    public BitSet linesMentionedMultipleTimes(Method method) {
        IAnalysisCache analysisCache = Global.getAnalysisCache();
        XMethod xMethod = XFactory.createXMethod(jclass, method);
        JumpInfo jumpInfo = null;
        try {
            jumpInfo = analysisCache.getMethodAnalysis(JumpInfo.class, xMethod.getMethodDescriptor());
        } catch (CheckedAnalysisException e) {
            AnalysisContext.logError("Error getting jump information", e);
        }
        BitSet lineMentionedMultipleTimes = new BitSet();
        BitSet pcInFinallyBlock = new BitSet();

        Code code = method.getCode();
        if (code == null) {
            return lineMentionedMultipleTimes;
        }
        CodeException[] exceptionTable = code.getExceptionTable();
        if (exceptionTable == null || exceptionTable.length == 0) {
            return lineMentionedMultipleTimes;
        }
        int firstHandler = Integer.MAX_VALUE;
        for (CodeException e : exceptionTable) {
            if (e.getCatchType() == 0) {
                int pc = e.getHandlerPC();
                firstHandler = Math.min(firstHandler, pc);
                if (jumpInfo != null) {
                    int end = jumpInfo.getNextJump(pc + 1);
                    if (end >= pc) {
                        pcInFinallyBlock.set(pc, end);
                    }
                }
            }
View Full Code Here

Examples of jadx.core.dex.attributes.nodes.JumpInfo

      }
    }
  }

  private static void addJump(InsnNode[] insnByOffset, int offset, int target) {
    insnByOffset[target].addAttr(AType.JUMP, new JumpInfo(offset, target));
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.