@Override public boolean test(final ExceptionHandler handler) { return handler.getHandlerBlock().getFirstInstruction() == next; } }
@Override protected void beforeSet(final int index, final Instruction item) { final Instruction current = get(index); item.setPrevious(current.getPrevious()); item.setNext(current.getNext()); current.setPrevious(null); current.setNext(null); }
public final boolean contains(final InstructionBlock block) { return block != null && block.getFirstInstruction().getOffset() >= getFirstInstruction().getOffset() && block.getLastInstruction().getOffset() <= getLastInstruction().getOffset(); }
private static ExceptionHandler findFirstHandler(final InstructionBlock tryBlock, final Collection<ExceptionHandler> handlers) { ExceptionHandler result = null; for (final ExceptionHandler handler : handlers) { if (handler.getTryBlock().equals(tryBlock) && (result == null || handler.getHandlerBlock().getFirstInstruction().getOffset() < result.getHandlerBlock().getFirstInstruction().getOffset())) { result = handler; } } return result; }
private ExceptionHandler findInnermostExceptionHandler(final int offsetInTryBlock) { ExceptionHandler result = null; for (final ExceptionHandler handler : _handlerPlaceholders) { final InstructionBlock tryBlock = handler.getTryBlock(); if (tryBlock.getFirstInstruction().getOffset() <= offsetInTryBlock && offsetInTryBlock < tryBlock.getLastInstruction().getEndOffset() && (result == null || isNarrower(handler, result))) { result = handler; } } return result; }
@Override protected void beforeClear() { for (int i = 0; i < size(); i++) { get(i).setNext(null); get(i).setPrevious(null); } }
@SuppressWarnings("unchecked") public <T> T lookupConstant(final int index) { final ConstantEntry entry = (ConstantEntry) get(index); return (T) entry.getConstantValue(); }
public ReferenceEntry getReference() { final Tag actual = owner.get(referenceIndex).getTag(); Tag expected = Tag.MethodReference; // allow these tag types also: switch (actual) { case FieldReference: case InterfaceMethodReference: expected = actual; } return (ReferenceEntry) owner.get(referenceIndex, expected); }
@Override public boolean test(final ByteCode code) { return code.instruction == e.getHandlerBlock().getLastInstruction(); } }
private static ExceptionHandler findFirstHandler(final InstructionBlock tryBlock, final Collection<ExceptionHandler> handlers) { ExceptionHandler result = null; for (final ExceptionHandler handler : handlers) { if (handler.getTryBlock().equals(tryBlock) && (result == null || handler.getHandlerBlock().getFirstInstruction().getOffset() < result.getHandlerBlock().getFirstInstruction().getOffset())) { result = handler; } } return result; }
private ExceptionHandler findInnermostExceptionHandler(final int offsetInTryBlock) { ExceptionHandler result = null; for (final ExceptionHandler handler : _exceptionHandlers) { final InstructionBlock tryBlock = handler.getTryBlock(); if (tryBlock.getFirstInstruction().getOffset() <= offsetInTryBlock && offsetInTryBlock < tryBlock.getLastInstruction().getEndOffset() && (result == null || isNarrower(handler, result))) { result = handler; } } return result; }
public final boolean contains(final Instruction instruction) { return instruction != null && instruction.getOffset() >= getFirstInstruction().getOffset() && instruction.getOffset() <= getLastInstruction().getOffset(); }
@SuppressWarnings("unchecked") public <T> T lookupConstant(final int index) { final ConstantEntry entry = (ConstantEntry) get(index); return (T) entry.getConstantValue(); }
public ReferenceEntry getReference() { final Tag actual = owner.get(referenceIndex).getTag(); Tag expected = Tag.MethodReference; // allow these tag types also: switch (actual) { case FieldReference: case InterfaceMethodReference: expected = actual; } return (ReferenceEntry) owner.get(referenceIndex, expected); }
private static ExceptionHandler findFirstHandler(final InstructionBlock tryBlock, final Collection<ExceptionHandler> handlers) { ExceptionHandler result = null; for (final ExceptionHandler handler : handlers) { if (handler.getTryBlock().equals(tryBlock) && (result == null || handler.getHandlerBlock().getFirstInstruction().getOffset() < result.getHandlerBlock().getFirstInstruction().getOffset())) { result = handler; } } return result; }
public final boolean contains(final Instruction instruction) { return instruction != null && instruction.getOffset() >= getFirstInstruction().getOffset() && instruction.getOffset() <= getLastInstruction().getOffset(); }
public final boolean intersects(final InstructionBlock block) { return block != null && block.getFirstInstruction().getOffset() <= getLastInstruction().getOffset() && block.getLastInstruction().getOffset() >= getFirstInstruction().getOffset(); }