Inserts the given bytecode sequence exclusively before the next instruction that would be returned by
next()
(not before the instruction returned by tha last call to
next()
). Branch offsets and the exception table are also updated.
If the next instruction is at the beginning of a block statement, then the bytecode is excluded from that block.
An extra gap may be inserted at the end of the inserted bytecode sequence for adjusting alignment if the code attribute includes LOOKUPSWITCH
or TABLESWITCH
.
@param code inserted bytecode sequence.
@return the index indicating the first byte of theinserted byte sequence.