|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object edu.rice.cs.cunit.classFile.code.instructions.AInstruction
public abstract class AInstruction
Abstract Java instruction.
Constructor Summary | |
---|---|
AInstruction()
|
Method Summary | |
---|---|
abstract boolean |
equals(java.lang.Object o)
Return true of this instruction and the other object are equal. |
abstract int[] |
getBranchTargets()
Return an array of target indices. |
abstract byte[] |
getBytecode(int pc,
LineNumberTable lnt)
Get the bytecode for this instruction, padded for the specified program counter value, with branch targets according to the specified line number table |
abstract int |
getBytecodeLength(int pc)
Get the length bytecode for this instruction, padded for the specified program counter value. |
static AInstruction |
getCorrespondingLoad(AInstruction storeInstruction)
Returns a load instruction that corresponds to the given store instruction. |
static AInstruction |
getCorrespondingStore(AInstruction loadInstruction)
Returns a store instruction that corresponds to the given load instruction. |
abstract byte |
getOpcode()
Get the opcode of this instruction. |
abstract int |
hashCode()
Return hash code. |
static AInstruction |
makeInstruction(byte[] bytecode,
int pc,
int paddingPC,
LineNumberTable lnt)
Make an instruction from the bytecode starting at pc, using the specified padding PC and the line number table. |
abstract void |
setBranchTargets(int[] branchTargets)
Set the branch target indices. |
java.lang.String |
toStringVerbose(ConstantPool cp)
Return a verbose string representation. |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public AInstruction()
Method Detail |
---|
public abstract byte[] getBytecode(int pc, LineNumberTable lnt)
pc
- PC for paddinglnt
- line number table for branches
public abstract byte getOpcode()
public abstract int getBytecodeLength(int pc)
pc
- PC for padding
public abstract int[] getBranchTargets()
public abstract void setBranchTargets(int[] branchTargets)
branchTargets
- array of target indicespublic static AInstruction makeInstruction(byte[] bytecode, int pc, int paddingPC, LineNumberTable lnt)
bytecode
- bytecodepc
- start PC in bytecodepaddingPC
- PC used for paddinglnt
- line number table for branches
public abstract boolean equals(java.lang.Object o)
equals
in class java.lang.Object
o
- other object
public abstract int hashCode()
hashCode
in class java.lang.Object
public java.lang.String toStringVerbose(ConstantPool cp)
cp
- constant pool
public static AInstruction getCorrespondingStore(AInstruction loadInstruction)
loadInstruction
- load instruction
public static AInstruction getCorrespondingLoad(AInstruction storeInstruction)
storeInstruction
- store instruction
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |