@Override public boolean test(final ControlFlowNode node) { return node.getExceptionHandler() == other; } }
@Override public boolean test(final ControlFlowNode node) { return node.getExceptionHandler() == other; } }
@Override public boolean test(final ControlFlowNode node) { return node.getExceptionHandler() == handler; } }
@Override public boolean test(final ControlFlowNode node) { return node.getExceptionHandler() == other; } }
@Override public boolean test(final ControlFlowNode node) { return node.getExceptionHandler() == handler; } }
@Override public boolean test(final ControlFlowNode node) { return node.getExceptionHandler() == other; } }
@Override public boolean test(final ControlFlowNode node) { return node.getExceptionHandler() == handler; } }
@Override public boolean test(final ControlFlowNode node) { return node.getExceptionHandler() == other; } }
@Override public boolean test(final ControlFlowNode node) { return node.getExceptionHandler() == other; } }
private static ControlFlowNode findHandlerNode(final ControlFlowGraph cfg, final ExceptionHandler handler) { final List<ControlFlowNode> nodes = cfg.getNodes(); for (int i = nodes.size() - 1; i >= 0; i--) { final ControlFlowNode node = nodes.get(i); if (node.getExceptionHandler() == handler) { return node; } } return null; }
private static ControlFlowNode findHandlerNode(final ControlFlowGraph cfg, final ExceptionHandler handler) { final List<ControlFlowNode> nodes = cfg.getNodes(); for (int i = nodes.size() - 1; i >= 0; i--) { final ControlFlowNode node = nodes.get(i); if (node.getExceptionHandler() == handler) { return node; } } return null; }
private static ControlFlowNode findHandlerNode(final ControlFlowGraph cfg, final ExceptionHandler handler) { final List<ControlFlowNode> nodes = cfg.getNodes(); for (int i = nodes.size() - 1; i >= 0; i--) { final ControlFlowNode node = nodes.get(i); if (node.getExceptionHandler() == handler) { return node; } } return null; }
private ControlFlowNode findInnermostFinallyHandlerNode(final int offset) { final ExceptionHandler handler = findInnermostFinallyHandler(offset); if (handler == null) { return _exceptionalExit; } for (final ControlFlowNode node : _nodes) { if (node.getExceptionHandler() == handler && node.getCopyFrom() == null) { return node; } } throw new IllegalStateException("Could not find node for exception handler!"); }
private ControlFlowNode findInnermostFinallyHandlerNode(final int offset) { final ExceptionHandler handler = findInnermostFinallyHandler(offset); if (handler == null) { return _exceptionalExit; } for (final ControlFlowNode node : _nodes) { if (node.getExceptionHandler() == handler && node.getCopyFrom() == null) { return node; } } throw new IllegalStateException("Could not find node for exception handler!"); }
private ControlFlowNode findInnermostExceptionHandlerNode(final int offset) { final ExceptionHandler handler = findInnermostExceptionHandler(offset); if (handler == null) { return _exceptionalExit; } for (final ControlFlowNode node : _nodes) { if (node.getExceptionHandler() == handler && node.getCopyFrom() == null) { return node; } } throw new IllegalStateException("Could not find node for exception handler!"); }
private ControlFlowNode findInnermostExceptionHandlerNode(final int offset) { final ExceptionHandler handler = findInnermostExceptionHandler(offset); if (handler == null) { return _exceptionalExit; } for (final ControlFlowNode node : _nodes) { if (node.getExceptionHandler() == handler && node.getCopyFrom() == null) { return node; } } throw new IllegalStateException("Could not find node for exception handler!"); }
private ControlFlowNode findInnermostFinallyHandlerNode(final int offset) { final ExceptionHandler handler = findInnermostFinallyHandler(offset); if (handler == null) { return _exceptionalExit; } for (final ControlFlowNode node : _nodes) { if (node.getExceptionHandler() == handler && node.getCopyFrom() == null) { return node; } } throw new IllegalStateException("Could not find node for exception handler!"); }
private ControlFlowNode findInnermostExceptionHandlerNode(final int offset) { final ExceptionHandler handler = findInnermostExceptionHandler(offset); if (handler == null) { return _exceptionalExit; } for (final ControlFlowNode node : _nodes) { if (node.getExceptionHandler() == handler && node.getCopyFrom() == null) { return node; } } throw new IllegalStateException("Could not find node for exception handler!"); }
private static ControlFlowNode findInnermostExceptionHandlerNode(final ControlFlowGraph cfg, final int offsetInTryBlock) { ExceptionHandler result = null; ControlFlowNode resultNode = null; final List<ControlFlowNode> nodes = cfg.getNodes(); for (int i = nodes.size() - 1; i >= 0; i--) { final ControlFlowNode node = nodes.get(i); final ExceptionHandler handler = node.getExceptionHandler(); if (handler == null) { break; } final InstructionBlock tryBlock = handler.getTryBlock(); if (tryBlock.getFirstInstruction().getOffset() <= offsetInTryBlock && offsetInTryBlock < tryBlock.getLastInstruction().getEndOffset() && isNarrower(handler, result)) { result = handler; resultNode = node; } } return resultNode; }
private ControlFlowNode findParentExceptionHandlerNode(final ControlFlowNode node) { assert node.getNodeType() == ControlFlowNodeType.CatchHandler || node.getNodeType() == ControlFlowNodeType.FinallyHandler; ControlFlowNode result = null; ExceptionHandler resultHandler = null; final int offset = node.getExceptionHandler().getHandlerBlock().getFirstInstruction().getOffset(); for (int i = 0, n = _nodes.size(); i < n; i++) { final ControlFlowNode currentNode = _nodes.get(i); final ExceptionHandler handler = currentNode.getExceptionHandler(); if (handler != null && handler.getTryBlock().getFirstInstruction().getOffset() <= offset && offset < handler.getTryBlock().getLastInstruction().getEndOffset() && (resultHandler == null || isNarrower(handler, resultHandler))) { result = currentNode; resultHandler = handler; } } return result != null ? result : _exceptionalExit; }