ProGuard

proguard.classfile.instruction
Class BranchInstruction

java.lang.Object
  extended byproguard.classfile.instruction.Instruction
      extended byproguard.classfile.instruction.BranchInstruction

public class BranchInstruction
extends Instruction

This interface describes an instruction that branches to a given offset in the code.


Field Summary
 int branchOffset
           
 
Fields inherited from class proguard.classfile.instruction.Instruction
opcode
 
Constructor Summary
BranchInstruction()
          Creates an uninitialized BranchInstruction.
BranchInstruction(byte opcode, int branchOffset)
           
 
Method Summary
 void accept(ClassFile classFile, MethodInfo methodInfo, CodeAttrInfo codeAttrInfo, int offset, InstructionVisitor instructionVisitor)
          Accepts the given visitor.
 BranchInstruction copy(BranchInstruction branchInstruction)
          Copies the given instruction into this instruction.
 int length(int offset)
          Returns the length in bytes of the instruction.
protected  void readInfo(byte[] code, int offset)
          Reads the data following the instruction opcode.
 Instruction shrink()
          Shrinks this instruction to its shortest possible form.
 String toString()
           
 String toString(int offset)
          Returns a description of the instruction, at the given offset.
protected  void writeInfo(byte[] code, int offset)
          Writes data following the instruction opcode.
 
Methods inherited from class proguard.classfile.instruction.Instruction
getName, isCategory2, isWide, readByte, readInt, readShort, readSignedByte, readSignedShort, readSignedValue, readValue, stackPopCount, stackPushCount, write, writeByte, writeInt, writeShort, writeValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

branchOffset

public int branchOffset
Constructor Detail

BranchInstruction

public BranchInstruction()
Creates an uninitialized BranchInstruction.


BranchInstruction

public BranchInstruction(byte opcode,
                         int branchOffset)
Method Detail

copy

public BranchInstruction copy(BranchInstruction branchInstruction)
Copies the given instruction into this instruction.

Parameters:
branchInstruction - the instruction to be copied.
Returns:
this 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(ClassFile classFile,
                   MethodInfo methodInfo,
                   CodeAttrInfo codeAttrInfo,
                   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.

Specified by:
toString in class Instruction

toString

public String toString()

ProGuard