public void remove ( final AbstractInsnNode insn ) { -- size ; AbstractInsnNode next = insn . next ; AbstractInsnNode prev = insn . prev ; if ( next == null ) { if ( prev == null ) { first = null ; last = null ; } else { prev . next = null ; last = prev ; } } else { if ( prev == null ) { first = next ; next . prev = null ; } else { prev . next = next ; next . prev = prev ; } } cache = null ; insn . index = - 1 ; // insn no longer belongs to an InsnList insn . prev = null ; insn . next = null ; }
Removes the given instruction from this list .