org.objectweb.asm.tree.analysis.Analyzer.newControlFlowExceptionEdge()方法的使用及代码示例

x33g5p2x  于2022-01-16 转载在 其他  
字(2.8k)|赞(0)|评价(0)|浏览(148)

本文整理了Java中org.objectweb.asm.tree.analysis.Analyzer.newControlFlowExceptionEdge()方法的一些代码示例,展示了Analyzer.newControlFlowExceptionEdge()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Analyzer.newControlFlowExceptionEdge()方法的具体详情如下:
包路径:org.objectweb.asm.tree.analysis.Analyzer
类名称:Analyzer
方法名:newControlFlowExceptionEdge

Analyzer.newControlFlowExceptionEdge介绍

[英]Creates a control flow graph edge corresponding to an exception handler. The default implementation of this method does nothing. It can be overridden in order to construct the control flow graph of a method (this method is called by the #analyze method during its visit of the method's code).
[中]创建与异常处理程序对应的控制流图边缘。此方法的默认实现不执行任何操作。可以重写它以构造方法的控制流图(该方法在访问方法代码时由#analyze方法调用)。

代码示例

代码示例来源:origin: org.ow2.asm/asm-debug-all

/**
 * Creates a control flow graph edge corresponding to an exception handler.
 * The default implementation of this method delegates to
 * {@link #newControlFlowExceptionEdge(int, int)
 * newControlFlowExceptionEdge(int, int)}. It can be overridden in order to
 * construct the control flow graph of a method (this method is called by
 * the {@link #analyze analyze} method during its visit of the method's
 * code).
 * 
 * @param insn
 *            an instruction index.
 * @param tcb
 *            TryCatchBlockNode corresponding to this edge.
 * @return true if this edge must be considered in the data flow analysis
 *         performed by this analyzer, or false otherwise. The default
 *         implementation of this method delegates to
 *         {@link #newControlFlowExceptionEdge(int, int)
 *         newControlFlowExceptionEdge(int, int)}.
 */
protected boolean newControlFlowExceptionEdge(final int insn,
    final TryCatchBlockNode tcb) {
  return newControlFlowExceptionEdge(insn, insns.indexOf(tcb.handler));
}

代码示例来源:origin: com.android.tools.lint/lint-checks

@Override
protected boolean newControlFlowExceptionEdge(int insn, TryCatchBlockNode tcb) {
  AbstractInsnNode from = instructions.get(insn);
  graph.exception(from, tcb);
  return super.newControlFlowExceptionEdge(insn, tcb);
}

代码示例来源:origin: com.amazon.device.tools.lint/lint-checks

@Override
protected boolean newControlFlowExceptionEdge(int insn, TryCatchBlockNode tcb) {
  AbstractInsnNode from = instructions.get(insn);
  graph.exception(from, tcb);
  return super.newControlFlowExceptionEdge(insn, tcb);
}

代码示例来源:origin: com.android.tools.lint/lint-checks

@Override
  protected boolean newControlFlowExceptionEdge(int insn, int successor) {
    AbstractInsnNode from = instructions.get(insn);
    AbstractInsnNode to = instructions.get(successor);
    graph.exception(from, to);
    return super.newControlFlowExceptionEdge(insn, successor);
  }
};

代码示例来源:origin: com.amazon.device.tools.lint/lint-checks

@Override
  protected boolean newControlFlowExceptionEdge(int insn, int successor) {
    AbstractInsnNode from = instructions.get(insn);
    AbstractInsnNode to = instructions.get(successor);
    graph.exception(from, to);
    return super.newControlFlowExceptionEdge(insn, successor);
  }
};

代码示例来源:origin: org.ow2.asm/asm-debug-all

if (newControlFlowExceptionEdge(insn, tcb)) {
  handler.init(f);
  handler.clearStack();

相关文章