private void replaceTarget(Instruction orig, Instruction replace) { for (CodeEntry entry = _head.next; entry != _tail; entry = entry.next) { if (entry instanceof InstructionPtr) ((InstructionPtr) entry).replaceTarget(orig, replace); } // update the ExceptionHandler pointers ExceptionHandler[] handlers = getExceptionHandlers(); for (int i = 0; i < handlers.length; i++) handlers[i].replaceTarget(orig, replace); // update LineNumber pointers LineNumberTable lineNumbers = getLineNumberTable(false); if (lineNumbers != null) lineNumbers.replaceTarget(orig, replace); // update LocalVariable pointers LocalVariableTable variables = getLocalVariableTable(false); if (variables != null) variables.replaceTarget(orig, replace); // update LocalVariableType pointers LocalVariableTypeTable types = getLocalVariableTypeTable(false); if (types != null) types.replaceTarget(orig, replace); } }
private void replaceTarget(Instruction orig, Instruction replace) { for (CodeEntry entry = _head.next; entry != _tail; entry = entry.next) { if (entry instanceof InstructionPtr) ((InstructionPtr) entry).replaceTarget(orig, replace); } // update the ExceptionHandler pointers ExceptionHandler[] handlers = getExceptionHandlers(); for (int i = 0; i < handlers.length; i++) handlers[i].replaceTarget(orig, replace); // update LineNumber pointers LineNumberTable lineNumbers = getLineNumberTable(false); if (lineNumbers != null) lineNumbers.replaceTarget(orig, replace); // update LocalVariable pointers LocalVariableTable variables = getLocalVariableTable(false); if (variables != null) variables.replaceTarget(orig, replace); // update LocalVariableType pointers LocalVariableTypeTable types = getLocalVariableTypeTable(false); if (types != null) types.replaceTarget(orig, replace); } }