|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectserp.bytecode.Attributes
serp.bytecode.Attribute
serp.bytecode.Code
public class Code
Representation of a code block of a class.
The methods of this class mimic those of the same name in the
ListIterator class. Note that the size and index
information of the code block will change as opcodes are added.
Code blocks are usually obtained from a BCMethod, but can also
be constructed via the default constructor. Blocks created this way can
be used to provide template instructions to the various search/replace
methods in this class.
The code class contains methods named after most JVM instructions, each
of which adds the matching opcode to the code block at the
current iterator position. It also contains generic versions of various
JVM instructions whose opcodes are not set until their properties are set
with additional information. Almost all instruction types are able to
'morph' their opcode on the fly as the arguments to the instruction change.
Thus the developer can initially call, for example, the aload
opcode, but later change the type to load to int and the
opcode will automatically morph to the iload opcode.
| Constructor Summary | |
|---|---|
Code()
The public constructor is for creating template code modules that produce Instructions used in matching through
the various search and replace methods. |
|
| Method Summary | |
|---|---|
ArrayLoadInstruction |
aaload()
Load an object array value onto the stack; the aaload
opcode. |
ArrayStoreInstruction |
aastore()
Store an object value from the stack into an array; the aastore opcode. |
void |
acceptVisit(BCVisitor visit)
Accept a visit from a BCVisitor, calling the appropriate methods
to notify the visitor that it has entered this entity, and
to provide it with the proper callbacks for each sub-entity owned
by this one. |
Instruction |
add(Instruction ins)
Adds a copy of the given instruction. |
ExceptionHandler |
addExceptionHandler()
Add an exception handler to this code block. |
ExceptionHandler |
addExceptionHandler(ExceptionHandler handler)
Import the given exception handler from another code block. |
ExceptionHandler |
addExceptionHandler(Instruction tryStart,
Instruction tryEnd,
Instruction handlerStart,
BCClass catchType)
Add an exception handler to this code block. |
ExceptionHandler |
addExceptionHandler(Instruction tryStart,
Instruction tryEnd,
Instruction handlerStart,
Class catchType)
Add an exception handler to this code block. |
ExceptionHandler |
addExceptionHandler(Instruction tryStart,
Instruction tryEnd,
Instruction handlerStart,
String catchType)
Add an exception handler to this code block. |
void |
after(Instruction ins)
Position the iterator just after the given instruction. |
void |
after(int index)
Place the iterator after the given list index. |
void |
afterLast()
Set the position of the instruction iterator to after the last opcode. |
LoadInstruction |
aload()
Load an object local variable onto the stack. |
ClassInstruction |
anew()
Create a new instance of an object; the new opcode. |
ClassInstruction |
anewarray()
Create a new instance of an object array; the anew opcode. |
ReturnInstruction |
areturn()
Return an object from a method; the areturn opcode. |
Instruction |
arraylength()
Get the length of an array on the stack; the arraylength
opcode. |
StoreInstruction |
astore()
Store an object value from the stack into a local variable. |
Instruction |
athrow()
Throw an exception; the athrow opcode. |
ArrayLoadInstruction |
baload()
Load a byte array value onto the stack; the baload opcode. |
ArrayStoreInstruction |
bastore()
Store a byte value from the stack into an array; the bastore opcode. |
void |
before(Instruction ins)
Position the iterator just before the given instruction. |
void |
before(int index)
Place the iterator before the given list index. |
void |
beforeFirst()
Reset the position of the instruction iterator to the first opcode. |
void |
calculateMaxLocals()
Calculate and set the number of locals needed based on the instructions used and the parameters of the method this code block is a part of. |
void |
calculateMaxStack()
Calculate and set the maximum stack depth needed for the instructions used. |
ArrayLoadInstruction |
caload()
Load a char array value onto the stack; the caload opcode. |
ArrayStoreInstruction |
castore()
Store a char value from the stack into an array; the castore opcode. |
ClassInstruction |
checkcast()
Cast an object on the stack to another type; the checkcast
opcode. |
ClassConstantInstruction |
classconstant()
Load a class constant onto the stack. |
void |
clearExceptionHandlers()
Clear all exception handlers. |
ConstantInstruction |
constant()
Load some constant onto the stack. |
ConvertInstruction |
convert()
Convert the top stack value to another type. |
MathInstruction |
dadd()
Add the top two stack double values; the dadd opcode. |
ArrayLoadInstruction |
daload()
Load a double array value onto the stack; the daload opcode. |
ArrayStoreInstruction |
dastore()
Store a double value from the stack into an array; the dastore opcode. |
CmpInstruction |
dcmpg()
Compare the top two stack values; the dcmpg opcode. |
CmpInstruction |
dcmpl()
Compare the top two stack values; the dcmpl opcode. |
MathInstruction |
ddiv()
Divide the top two stack double values; the ddiv opcode. |
LoadInstruction |
dload()
Load a double local variable onto the stack. |
MathInstruction |
dmul()
Multiply the top two stack double values; the dmul opcode. |
MathInstruction |
dneg()
Negate the top stack double value; the dneg opcode. |
MathInstruction |
drem()
Take the remainder of the top two double stack values; the drem opcode. |
ReturnInstruction |
dreturn()
Return a double from a method; the dreturn opcode. |
StoreInstruction |
dstore()
Store a double value from the stack into a local variable. |
MathInstruction |
dsub()
Subtract the top two stack double values; the dsub opcode. |
StackInstruction |
dup()
The dup opcode. |
StackInstruction |
dup2()
The dup2 opcode. |
StackInstruction |
dup2x1()
The dup2x1 opcode. |
StackInstruction |
dup2x2()
The dup2x2 opcode. |
StackInstruction |
dupx1()
The dupx1 opcode. |
StackInstruction |
dupx2()
The dupx2 opcode. |
MathInstruction |
fadd()
Add the top two stack float values; the fadd opcode. |
ArrayLoadInstruction |
faload()
Load a float array value onto the stack; the faload opcode. |
ArrayStoreInstruction |
fastore()
Store a float value from the stack into an array; the fastore opcode. |
CmpInstruction |
fcmpg()
Compare the top two stack values; the fcmpg opcode. |
CmpInstruction |
fcmpl()
Compare the top two stack values; the fcmpl opcode. |
MathInstruction |
fdiv()
Divide the top two stack float values; the fdiv opcode. |
LoadInstruction |
fload()
Load a float local variable onto the stack. |
MathInstruction |
fmul()
Multiply the top two stack float values; the fmul opcode. |
MathInstruction |
fneg()
Negate the top stack float value; the fneg opcode. |
MathInstruction |
frem()
Take the remainder of the top two float stack values; the frem opcode. |
ReturnInstruction |
freturn()
Return a float from a method; the freturn opcode. |
StoreInstruction |
fstore()
Store a float value from the stack into a local variable. |
MathInstruction |
fsub()
Subtract the top two stack float values; the fsub opcode. |
ExceptionHandler |
getExceptionHandler(BCClass catchType)
Return the exception handler that catches the given exception type; if multiple handlers catch the given type, which is returned is undefined. |
ExceptionHandler |
getExceptionHandler(Class catchType)
Return the exception handler that catches the given exception type; if multiple handlers catch the given type, which is returned is undefined. |
ExceptionHandler |
getExceptionHandler(String catchType)
Return the exception handler that catches the given exception type; if multiple handlers catch the given type, which is returned is undefined. |
ExceptionHandler[] |
getExceptionHandlers()
Return the exception handlers active in this code block, or an empty array if none. |
ExceptionHandler[] |
getExceptionHandlers(BCClass catchType)
Return all exception handlers that catch the given exception type, or an empty array if none. |
ExceptionHandler[] |
getExceptionHandlers(Class catchType)
Return all exception handlers that catch the given exception type, or an empty array if none. |
ExceptionHandler[] |
getExceptionHandlers(String catchType)
Return all exception handlers that catch the given exception type, or an empty array if none. |
GetFieldInstruction |
getfield()
Load the value from a field onto the stack; the getfield
opcode. |
Instruction[] |
getInstructions()
Return all the Instructions of this method. |
LineNumberTable |
getLineNumberTable(boolean add)
Return line number information for the code. |
int |
getLocalsIndex(int paramIndex)
Return the local variable index for the paramIndex'th parameter to the method. |
LocalVariableTable |
getLocalVariableTable(boolean add)
Return local variable information for the code. |
LocalVariableTypeTable |
getLocalVariableTypeTable(boolean add)
Return local variable generics information for the code. |
int |
getMaxLocals()
Return the maximum number of local variables (including params) set for this method. |
int |
getMaxStack()
Return the maximum stack depth set for this code block. |
BCMethod |
getMethod()
The owning method. |
int |
getNextLocalsIndex()
Return the next available local variable index. |
int |
getParamsIndex(int localIndex)
Return the parameter index for the given local index, or -1 if the given local does not reference a param. |
GetFieldInstruction |
getstatic()
Load the value from a static field onto the stack; the getstatic opcode. |
JumpInstruction |
go2()
The go2 opcode. |
boolean |
hasNext()
Return true if a subsequent call to next() will return an
instruction. |
boolean |
hasPrevious()
Return true if a subsequent call to previous() will return an
instruction. |
MathInstruction |
iadd()
Add the top two stack int values; the iadd opcode. |
ArrayLoadInstruction |
iaload()
Load an int array value onto the stack; the iaload opcode. |
MathInstruction |
iand()
Take the mathematical and of the top two stack int values; the iand opcode. |
ArrayStoreInstruction |
iastore()
Store an int value from the stack into an array; the iastore opcode. |
MathInstruction |
idiv()
Divide the top two stack int values; the idiv opcode. |
IfInstruction |
ifacmpeq()
The ifacmpeq opcode. |
IfInstruction |
ifacmpne()
The ifacmpne opcode. |
IfInstruction |
ifeq()
The ifeq opcode. |
IfInstruction |
ifge()
The ifge opcode. |
IfInstruction |
ifgt()
The ifgt opcode. |
IfInstruction |
ificmpeq()
The ificmpeq opcode. |
IfInstruction |
ificmpge()
The ificmpge opcode. |
IfInstruction |
ificmpgt()
The ificmpgt opcode. |
IfInstruction |
ificmple()
The ificmple opcode. |
IfInstruction |
ificmplt()
The ificmplt opcode. |
IfInstruction |
ificmpne()
The ificmpne opcode. |
IfInstruction |
ifle()
The ifle opcode. |
IfInstruction |
iflt()
The iflt opcode. |
IfInstruction |
ifne()
The ifne opcode. |
IfInstruction |
ifnonnull()
The ifnonnull opcode. |
IfInstruction |
ifnull()
The ifnull opcode. |
IIncInstruction |
iinc()
Add the iinc opcode. |
LoadInstruction |
iload()
Load an int local variable onto the stack. |
MathInstruction |
imul()
Multiply the top two stack int values; the imul opcode. |
MathInstruction |
ineg()
Negate the top stack int value; the ineg opcode. |
MethodInstruction |
invokeinterface()
Invoke a method on an interface; the invokeinterface opcode. |
MethodInstruction |
invokespecial()
Invoke a method non-virtually, as for constructors and superclass methods; the invokespecial opcode. |
MethodInstruction |
invokestatic()
Invoke a static method; the invokestatic opcode. |
MethodInstruction |
invokevirtual()
Invoke a virtual method; the invokevirtual opcode. |
MathInstruction |
ior()
Take the mathematical or of the top two stack int values; the ior opcode. |
MathInstruction |
irem()
Take the remainder of the top two int stack values; the irem opcode. |
ReturnInstruction |
ireturn()
Return an int from a method; the ireturn opcode. |
MathInstruction |
ishl()
Shift the top stack int values; the ishl opcode. |
MathInstruction |
ishr()
Shift the top stack int values; the ishr opcode. |
ClassInstruction |
isinstance()
Test if a stack object is an instance of a class; the instanceof opcode. |
StoreInstruction |
istore()
Store an int value from the stack into a local variable. |
MathInstruction |
isub()
Subtract the top two stack int values; the isub opcode. |
MathInstruction |
iushr()
Shift the top stack int values; the iushr opcode. |
MathInstruction |
ixor()
Take the mathematical xor of the top two stack int values; the ixor opcode. |
JumpInstruction |
jsr()
The jsr opcode used in implementing finally
clauses. |
MathInstruction |
ladd()
Add the top two stack long values; the ladd opcode. |
ArrayLoadInstruction |
laload()
Load a long array value onto the stack; the laload opcode. |
MathInstruction |
land()
Take the mathematical and of the top two stack long values; the land opcode. |
ArrayStoreInstruction |
lastore()
Store a long value from the stack into an array; the lastore opcode. |
CmpInstruction |
lcmp()
Compare the top two stack values; the lcmp opcode. |
MathInstruction |
ldiv()
Divide the top two stack long values; the ldiv opcode. |
ListIterator |
listIterator()
Returns another listIterator view of the Instructions in this code block. |
LoadInstruction |
lload()
Load a long local variable onto the stack. |
MathInstruction |
lmul()
Multiply the top two stack long values; the lmul opcode. |
MathInstruction |
lneg()
Negate the top stack long value; the lneg opcode. |
LookupSwitchInstruction |
lookupswitch()
The lookupswitch opcode. |
MathInstruction |
lor()
Take the mathematical or of the top two stack long values; the lor opcode. |
MathInstruction |
lrem()
Take the remainder of the top two long stack values; the lrem opcode. |
ReturnInstruction |
lreturn()
Return a long from a method; the lreturn opcode. |
MathInstruction |
lshl()
Shift the top stack long values; the lshl opcode. |
MathInstruction |
lshr()
Shift the top stack long values; the lshr opcode. |
StoreInstruction |
lstore()
Store a long value from the stack into a local variable. |
MathInstruction |
lsub()
Subtract the top two stack long values; the lsub opcode. |
MathInstruction |
lushr()
Shift the top stack long values; the lushr opcode. |
MathInstruction |
lxor()
Take the mathematical xor of the top two stack long values; the lxor opcode. |
MathInstruction |
math()
Perform some math operation on the stack items. |
MonitorEnterInstruction |
monitorenter()
The monitorenter opcode. |
MonitorExitInstruction |
monitorexit()
The monitorexit opcode. |
MultiANewArrayInstruction |
multianewarray()
Create a new multidimensional array; the multianewarray
opcode. |
NewArrayInstruction |
newarray()
Create a new array of a primitive type; the newarray opcode. |
Instruction |
next()
Return the next instruction. |
int |
nextIndex()
Return the index of the next instruction, or size() if at end. |
Instruction |
nop()
Add the nop opcode. |
StackInstruction |
pop()
The pop opcode. |
StackInstruction |
pop2()
The pop2 opcode. |
Instruction |
previous()
Return the previous instruction. |
int |
previousIndex()
Return the index of the previous instruction, or -1 if at beginning. |
PutFieldInstruction |
putfield()
Place the value of a field onto the stack; the putfield
opcode. |
PutFieldInstruction |
putstatic()
Place the value of a static field onto the stack; the putstatic opcode. |
void |
remove()
Remove the last iterated instruction. |
boolean |
removeExceptionHandler(BCClass catchType)
Remove the exception handler that catches the given type. |
boolean |
removeExceptionHandler(Class catchType)
Remove the exception handler that catches the given type. |
boolean |
removeExceptionHandler(ExceptionHandler handler)
Remove an exception handler from this code block. |
boolean |
removeExceptionHandler(String catchType)
Remove the exception handler that catches the given type. |
boolean |
removeLineNumberTable()
Remove the line number table for the code. |
boolean |
removeLocalVariableTables()
Remove the local variable table for the code. |
boolean |
removeLocalVariableTypeTables()
Remove the local variable type table for the code. |
int |
replace(Instruction[] templates,
Instruction[] with)
Equivalent to looping over each given template/replacement pair and calling replace(Instruction,Instruction) for each. |
int |
replace(Instruction template,
Instruction with)
Replaces all the instructions in this code block that match the given template with the given instruction. |
RetInstruction |
ret()
Add the ret opcode, used in implementing
finally clauses. |
ArrayLoadInstruction |
saload()
Load a short array value onto the stack; the saload opcode. |
ArrayStoreInstruction |
sastore()
Store a short value from the stack into an array; the sastore opcode. |
boolean |
searchBackward(Instruction template)
Find the closest previous instruction from the current iterator position that matches the given one, according to the Object.equals(java.lang.Object) methods of the instruction types. |
boolean |
searchForward(Instruction template)
Find the next instruction from the current iterator position that matches the given one, according to the Object.equals(java.lang.Object) methods of
the instruction types. |
Instruction |
set(Instruction ins)
Replaces the last iterated instruction with a copy of the given one. |
void |
setExceptionHandlers(ExceptionHandler[] handlers)
Set the exception handlers for this code block. |
void |
setMaxLocals(int max)
Set the maximum number of local variables (including params) in this method. |
void |
setMaxStack(int max)
Set the maximum stack depth for this code block. |
int |
size()
Return the number of instructions in the method. |
StackInstruction |
swap()
The swap opcode. |
TableSwitchInstruction |
tableswitch()
The tableswitch opcode. |
ReturnInstruction |
vreturn()
Return void from a method; the return opcode. |
WideInstruction |
wide()
Add the wide opcode. |
MathInstruction |
xadd()
Add the top two stack values. |
ArrayLoadInstruction |
xaload()
Load an array value onto the stack. |
MathInstruction |
xand()
Take the mathematical and of the top two stack values. |
ArrayStoreInstruction |
xastore()
Store a value from the stack into an array. |
CmpInstruction |
xcmp()
Compare the top two stack values. |
MathInstruction |
xdiv()
Divide the top two stack values. |
LoadInstruction |
xload()
Load a local variable onto the stack. |
MathInstruction |
xmul()
Multiply the top two stack values. |
MathInstruction |
xneg()
Negate the top stack value. |
MathInstruction |
xor()
Take the mathematical or of the top two stack values. |
MathInstruction |
xrem()
Take the remainder of the top two stack values. |
ReturnInstruction |
xreturn()
Return from a method. |
MathInstruction |
xshl()
Shift the top stack values. |
MathInstruction |
xshr()
Shift the top stack values. |
StoreInstruction |
xstore()
Store a value from the stack into a local variable. |
MathInstruction |
xsub()
Subtract the top two stack values. |
MathInstruction |
xushr()
Shift the top stack values. |
MathInstruction |
xxor()
Take the mathematical xor of the top two stack values. |
| Methods inherited from class serp.bytecode.Attribute |
|---|
getClassLoader, getName, getNameIndex, getOwner, getPool, getProject, isValid |
| Methods inherited from class serp.bytecode.Attributes |
|---|
addAttribute, addAttribute, clearAttributes, getAttribute, getAttributes, getAttributes, removeAttribute, removeAttribute, setAttributes |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public Code()
Instructions used in matching through
the various search and replace methods.
| Method Detail |
|---|
public BCMethod getMethod()
public int getMaxStack()
public void setMaxStack(int max)
public int getMaxLocals()
public void setMaxLocals(int max)
public int getLocalsIndex(int paramIndex)
public int getParamsIndex(int localIndex)
getLocalsIndex(int)public int getNextLocalsIndex()
public void calculateMaxLocals()
setMaxLocals(int)public void calculateMaxStack()
setMaxStack(int)public ExceptionHandler[] getExceptionHandlers()
public ExceptionHandler getExceptionHandler(String catchType)
public ExceptionHandler getExceptionHandler(Class catchType)
public ExceptionHandler getExceptionHandler(BCClass catchType)
public ExceptionHandler[] getExceptionHandlers(String catchType)
public ExceptionHandler[] getExceptionHandlers(Class catchType)
public ExceptionHandler[] getExceptionHandlers(BCClass catchType)
public void setExceptionHandlers(ExceptionHandler[] handlers)
public ExceptionHandler addExceptionHandler(ExceptionHandler handler)
public ExceptionHandler addExceptionHandler()
public ExceptionHandler addExceptionHandler(Instruction tryStart,
Instruction tryEnd,
Instruction handlerStart,
String catchType)
tryStart - the first instruction of the try {} blocktryEnd - the last instruction of the try {} blockhandlerStart - the first instruction of the catch {} blockcatchType - the type of exception being caught
public ExceptionHandler addExceptionHandler(Instruction tryStart,
Instruction tryEnd,
Instruction handlerStart,
Class catchType)
tryStart - the first instruction of the try {} blocktryEnd - the last instruction of the try {} blockhandlerStart - the first instruction of the catch {} blockcatchType - the type of exception being caught
public ExceptionHandler addExceptionHandler(Instruction tryStart,
Instruction tryEnd,
Instruction handlerStart,
BCClass catchType)
tryStart - the first instruction of the try {} blocktryEnd - the last instruction of the try {} blockhandlerStart - the first instruction of the catch {} blockcatchType - the type of exception being caughtpublic void clearExceptionHandlers()
public boolean removeExceptionHandler(String catchType)
public boolean removeExceptionHandler(Class catchType)
public boolean removeExceptionHandler(BCClass catchType)
public boolean removeExceptionHandler(ExceptionHandler handler)
public int size()
public void beforeFirst()
public void afterLast()
public void before(Instruction ins)
public void after(Instruction ins)
public boolean hasNext()
next() will return an
instruction.
public boolean hasPrevious()
previous() will return an
instruction.
public Instruction next()
public int nextIndex()
size() if at end.
public Instruction previous()
public int previousIndex()
public void before(int index)
public void after(int index)
public boolean searchForward(Instruction template)
Object.equals(java.lang.Object) methods of
the instruction types. This allows for matching based on template
instructions, as the equals methods of most instructions return
true if the information for the given instruction has not been filled
in. If a match is found, the iterator is placed after the matching
Instruction. If no match is found, moves the iterator to
afterLast().
public boolean searchBackward(Instruction template)
Object.equals(java.lang.Object) methods of the instruction types. This allows
for matching based on template instructions, as the equals methods of
most instructions return true if the information for the given
instruction has not been filled in. If a match is found, the iterator
is placed before the matching Instruction. If no match is found,
moves the iterator to beforeFirst().
public Instruction add(Instruction ins)
public Instruction set(Instruction ins)
ListIterator.set(E)
public int replace(Instruction template,
Instruction with)
afterLast().
public int replace(Instruction[] templates,
Instruction[] with)
replace(Instruction,Instruction) for each.
public void remove()
ListIterator.remove()public ClassConstantInstruction classconstant()
public Instruction nop()
nop opcode.
public ConstantInstruction constant()
ConstantInstruction
type takes any constant and correctly translates it into the proper
opcode, depending on the constant type and value. For example,
if the constant value is set to 0L, the opcode will be set to
lconst0.
public LoadInstruction xload()
nop until its type and local index are set.
public LoadInstruction iload()
nop until its local index is set.
public LoadInstruction lload()
nop until its local index is set.
public LoadInstruction fload()
nop until its local index is set.
public LoadInstruction dload()
nop until its local index is set.
public LoadInstruction aload()
nop until its local index is set.
public StoreInstruction xstore()
nop until its type and local index are set.
public StoreInstruction istore()
nop until its local index is
set.
public StoreInstruction lstore()
nop until its local index is
set.
public StoreInstruction fstore()
nop until its local index is
set.
public StoreInstruction dstore()
nop until its local index is
set.
public StoreInstruction astore()
nop until its local index is
set.
public RetInstruction ret()
ret opcode, used in implementing
finally clauses.
public IIncInstruction iinc()
iinc opcode.
public WideInstruction wide()
wide opcode.
public ArrayLoadInstruction xaload()
nop until its type is set.
public ArrayLoadInstruction iaload()
iaload opcode.
public ArrayLoadInstruction laload()
laload opcode.
public ArrayLoadInstruction faload()
faload opcode.
public ArrayLoadInstruction daload()
daload opcode.
public ArrayLoadInstruction aaload()
aaload
opcode.
public ArrayLoadInstruction baload()
baload opcode.
public ArrayLoadInstruction caload()
caload opcode.
public ArrayLoadInstruction saload()
saload opcode.
public ArrayStoreInstruction xastore()
nop until its type is set.
public ArrayStoreInstruction iastore()
iastore opcode.
public ArrayStoreInstruction lastore()
lastore opcode.
public ArrayStoreInstruction fastore()
fastore opcode.
public ArrayStoreInstruction dastore()
dastore opcode.
public ArrayStoreInstruction aastore()
aastore opcode.
public ArrayStoreInstruction bastore()
bastore opcode.
public ArrayStoreInstruction castore()
castore opcode.
public ArrayStoreInstruction sastore()
sastore opcode.
public StackInstruction pop()
pop opcode.
public StackInstruction pop2()
pop2 opcode.
public StackInstruction dup()
dup opcode.
public StackInstruction dupx1()
dupx1 opcode.
public StackInstruction dupx2()
dupx2 opcode.
public StackInstruction dup2()
dup2 opcode.
public StackInstruction dup2x1()
dup2x1 opcode.
public StackInstruction dup2x2()
dup2x2 opcode.
public StackInstruction swap()
swap opcode.
public MathInstruction math()
nop until its operation and type are set.
public MathInstruction xadd()
nop until its type is set.
public MathInstruction iadd()
iadd opcode.
public MathInstruction ladd()
ladd opcode.
public MathInstruction fadd()
fadd opcode.
public MathInstruction dadd()
dadd opcode.
public MathInstruction xsub()
nop until its type is set.
public MathInstruction isub()
isub opcode.
public MathInstruction lsub()
lsub opcode.
public MathInstruction fsub()
fsub opcode.
public MathInstruction dsub()
dsub opcode.
public MathInstruction xmul()
nop until its type is set.
public MathInstruction imul()
imul opcode.
public MathInstruction lmul()
lmul opcode.
public MathInstruction fmul()
fmul opcode.
public MathInstruction dmul()
dmul opcode.
public MathInstruction xdiv()
nop until its type is set.
public MathInstruction idiv()
idiv opcode.
public MathInstruction ldiv()
ldiv opcode.
public MathInstruction fdiv()
fdiv opcode.
public MathInstruction ddiv()
ddiv opcode.
public MathInstruction xrem()
nop until its type is set.
public MathInstruction irem()
irem opcode.
public MathInstruction lrem()
lrem opcode.
public MathInstruction frem()
frem opcode.
public MathInstruction drem()
drem opcode.
public MathInstruction xneg()
nop until its type is set.
public MathInstruction ineg()
ineg opcode.
public MathInstruction lneg()
lneg opcode.
public MathInstruction fneg()
fneg opcode.
public MathInstruction dneg()
dneg opcode.
public MathInstruction xshl()
nop until its type is set.
public MathInstruction ishl()
ishl opcode.
public MathInstruction lshl()
lshl opcode.
public MathInstruction xshr()
nop until its type is set.
public MathInstruction ishr()
ishr opcode.
public MathInstruction lshr()
lshr opcode.
public MathInstruction xushr()
nop until its type is set.
public MathInstruction iushr()
iushr opcode.
public MathInstruction lushr()
lushr opcode.
public MathInstruction xand()
nop until its type is set.
public MathInstruction iand()
iand opcode.
public MathInstruction land()
land opcode.
public MathInstruction xor()
nop until its type is set.
public MathInstruction ior()
ior opcode.
public MathInstruction lor()
lor opcode.
public MathInstruction xxor()
nop until its type is set.
public MathInstruction ixor()
ixor opcode.
public MathInstruction lxor()
lxor opcode.
public ConvertInstruction convert()
nop until the types to convert
between are set.
public CmpInstruction xcmp()
nop until its type is set.
public CmpInstruction lcmp()
lcmp opcode.
public CmpInstruction fcmpl()
fcmpl opcode.
public CmpInstruction fcmpg()
fcmpg opcode.
public CmpInstruction dcmpl()
dcmpl opcode.
public CmpInstruction dcmpg()
dcmpg opcode.
public IfInstruction ifeq()
ifeq opcode.
public IfInstruction ifne()
ifne opcode.
public IfInstruction iflt()
iflt opcode.
public IfInstruction ifge()
ifge opcode.
public IfInstruction ifgt()
ifgt opcode.
public IfInstruction ifle()
ifle opcode.
public IfInstruction ificmpeq()
ificmpeq opcode.
public IfInstruction ificmpne()
ificmpne opcode.
public IfInstruction ificmplt()
ificmplt opcode.
public IfInstruction ificmpge()
ificmpge opcode.
public IfInstruction ificmpgt()
ificmpgt opcode.
public IfInstruction ificmple()
ificmple opcode.
public IfInstruction ifacmpeq()
ifacmpeq opcode.
public IfInstruction ifacmpne()
ifacmpne opcode.
public IfInstruction ifnull()
ifnull opcode.
public IfInstruction ifnonnull()
ifnonnull opcode.
public JumpInstruction go2()
go2 opcode.
public JumpInstruction jsr()
jsr opcode used in implementing finally
clauses.
public TableSwitchInstruction tableswitch()
tableswitch opcode.
public LookupSwitchInstruction lookupswitch()
lookupswitch opcode.
public ReturnInstruction xreturn()
nop until its type is set.
public ReturnInstruction vreturn()
return opcode.
public ReturnInstruction ireturn()
ireturn opcode.
public ReturnInstruction lreturn()
lreturn opcode.
public ReturnInstruction freturn()
freturn opcode.
public ReturnInstruction dreturn()
dreturn opcode.
public ReturnInstruction areturn()
areturn opcode.
public GetFieldInstruction getfield()
getfield
opcode.
public GetFieldInstruction getstatic()
getstatic opcode.
public PutFieldInstruction putfield()
putfield
opcode.
public PutFieldInstruction putstatic()
putstatic opcode.
public MethodInstruction invokevirtual()
invokevirtual opcode.
public MethodInstruction invokespecial()
invokespecial opcode.
public MethodInstruction invokeinterface()
invokeinterface opcode.
public MethodInstruction invokestatic()
invokestatic opcode.
public ClassInstruction anew()
new opcode.
public ClassInstruction anewarray()
anew opcode.
public ClassInstruction checkcast()
checkcast
opcode.
public ClassInstruction isinstance()
instanceof opcode.
public MultiANewArrayInstruction multianewarray()
multianewarray
opcode.
public NewArrayInstruction newarray()
newarray opcode.
public Instruction arraylength()
arraylength
opcode.
public Instruction athrow()
athrow opcode.
public MonitorEnterInstruction monitorenter()
monitorenter opcode.
public MonitorExitInstruction monitorexit()
monitorexit opcode.
public Instruction[] getInstructions()
public void acceptVisit(BCVisitor visit)
VisitAcceptorBCVisitor, calling the appropriate methods
to notify the visitor that it has entered this entity, and
to provide it with the proper callbacks for each sub-entity owned
by this one.
public LineNumberTable getLineNumberTable(boolean add)
Attributes interface.
add - if true, a new line number table will be added
if not already present
add param is set to falsepublic boolean removeLineNumberTable()
Attributes interface.
public LocalVariableTable getLocalVariableTable(boolean add)
Attributes interface.
add - if true, a new local variable table will be
added if not already present
add param is set to falsepublic boolean removeLocalVariableTables()
Attributes interface.
public LocalVariableTypeTable getLocalVariableTypeTable(boolean add)
Attributes interface.
add - if true, a new local variable type table will be
added if not already present
add param is set to falsepublic boolean removeLocalVariableTypeTables()
Attributes interface.
public ListIterator listIterator()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||