Class BranchInstruction

java.lang.Object
proguard.classfile.instruction.Instruction
proguard.classfile.instruction.BranchInstruction

public class BranchInstruction extends Instruction
This interface describes an instruction that branches to a given offset in the code.
  • Field Details

    • branchOffset

      public int branchOffset
  • Constructor Details

    • BranchInstruction

      public BranchInstruction()
      Creates an uninitialized BranchInstruction.
    • BranchInstruction

      public BranchInstruction(byte opcode, int branchOffset)
      Creates a BranchInstruction with the given branch offset. The branch offset is relative to this instruction's offset.
  • Method Details

    • copy

      public BranchInstruction copy(BranchInstruction branchInstruction)
      Copies the given instruction into this instruction.
      Parameters:
      branchInstruction - the instruction to be copied.
      Returns:
      this instruction.
    • canonicalOpcode

      public byte canonicalOpcode()
      Description copied from class: Instruction
      Returns the canonical opcode of this instruction, i.e. typically the opcode whose extension has been removed.
      Overrides:
      canonicalOpcode in class Instruction
    • shrink

      public Instruction shrink()
      Description copied from class: Instruction
      Shrinks this instruction to its shortest possible form.
      Specified by:
      shrink in class Instruction
      Returns:
      this instruction.
    • readInfo

      protected void readInfo(byte[] code, int offset)
      Description copied from class: Instruction
      Reads the data following the instruction opcode.
      Specified by:
      readInfo in class Instruction
    • writeInfo

      protected void writeInfo(byte[] code, int offset)
      Description copied from class: Instruction
      Writes data following the instruction opcode.
      Specified by:
      writeInfo in class Instruction
    • length

      public int length(int offset)
      Description copied from class: Instruction
      Returns the length in bytes of the instruction.
      Specified by:
      length in class Instruction
    • accept

      public void accept(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, InstructionVisitor instructionVisitor)
      Description copied from class: Instruction
      Accepts the given visitor.
      Specified by:
      accept in class Instruction
    • toString

      public String toString(int offset)
      Description copied from class: Instruction
      Returns a description of the instruction, at the given offset.
      Overrides:
      toString in class Instruction
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object o)
      Specified by:
      equals in class Instruction
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in class Instruction