jef.dna.instructions.impl
Class Wide
java.lang.Object
jef.dna.instructions.impl.InstructionAncestor
jef.dna.instructions.impl.Wide
- All Implemented Interfaces:
- java.lang.Cloneable, Instruction, BytesCountable
public class Wide
- extends InstructionAncestor
This class maps the WIDE
bytecode instruction which extends local variable index
by additional bytes. The wide instruction modifies the behavior of another instruction. It takes
one of two formats, depending on the instruction being modified. The widened bytecode operates as
normal, except for the use of the wider index and, in the case of the second form, the larger
increment range.
- Author:
- frusso
Constructor Summary |
Wide()
Creates a new instance of Wide |
Method Summary |
void |
setOperandsCountPosticipated(int[] bytecode,
int startFrom)
This method should be implemented by those classes wrapping JVM instructions whose number of
operands is variable. |
int |
updateRefs(int offset)
This method must implement the logic necessary to update all the references to constant pool
table's entries contained within the bytecode instruction. |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Wide
public Wide()
- Creates a new instance of Wide
setOperandsCountPosticipated
public void setOperandsCountPosticipated(int[] bytecode,
int startFrom)
- This method should be implemented by those classes wrapping JVM instructions whose number of
operands is variable. This method is called by the
fromArray
method defined in
the InstructionAncestor
class. InstructionAncestor
already
contains an empty implementation of this method, useful for those classes exposing a prefixed
number of operands. In such a case there is no need to override the
setOperandsCountPosticipated
method,
- Specified by:
setOperandsCountPosticipated
in interface Instruction
- Overrides:
setOperandsCountPosticipated
in class InstructionAncestor
- Parameters:
bytecode
- The method's bytecodestartFrom
- The index of the current instruction's mnemonic (opcode)
updateRefs
public int updateRefs(int offset)
- This method must implement the logic necessary to update all the references to constant pool
table's entries contained within the bytecode instruction.
- Specified by:
updateRefs
in interface Instruction
- Overrides:
updateRefs
in class InstructionAncestor
- Parameters:
offset
- The offset used for updating expressed as number of cpt's entries to be skipped
- Returns:
- int The number of processed words within the current bytecode instruction