public class LabelForm extends ByteCodeForm
This class implements the byte code form for those bytecodes which have label references (and only label references).
  • Field Details

    • widened

      protected boolean widened
  • Constructor Details

    • LabelForm

      public LabelForm(int opcode, String name, int[] rewrite)
    • LabelForm

      public LabelForm(int opcode, String name, int[] rewrite, boolean widened)
  • Method Details

    • fixUpByteCodeTargets

      public void fixUpByteCodeTargets(ByteCode byteCode, CodeAttribute codeAttribute)
      Description copied from class: ByteCodeForm
      The ByteCodeForm knows how to fix up a bytecode if it needs to be fixed up because it holds a Label bytecode.
      fixUpByteCodeTargets in class ByteCodeForm
      byteCode - a ByteCode to be fixed up
      codeAttribute - a CodeAttribute used to determine how the ByteCode should be fixed up.
    • setByteCodeOperands

      public void setByteCodeOperands(ByteCode byteCode, OperandManager operandManager, int codeLength)
      Description copied from class: ByteCodeForm
      When passed a byteCode, an OperandTable and a SegmentConstantPool, this method will set the rewrite of the byteCode appropriately.
      Specified by:
      setByteCodeOperands in class ByteCodeForm
      byteCode - ByteCode to be updated (!)
      operandManager - OperandTable from which to draw info
      codeLength - Length of bytes (excluding this bytecode) from the beginning of the method. Used in calculating padding for some variable-length bytecodes (such as lookupswitch, tableswitch).