| TargetLostException |
Exception |
Thrown by InstructionList.remove() when one or multiple disposed instruction are still being referenced by a InstructionTargeter object. |
| ClassGenException |
Exception |
Thrown on internal errors. |
| Visitor |
Interface |
Interface implementing the Visitor pattern programming style. |
| VariableLengthInstruction |
Interface |
Denotes an instruction to be a variable length instruction, such as GOTO, JSR, LOOKUPSWITCH and TABLESWITCH. |
| UnconditionalBranch |
Interface |
Denotes an instruction to perform an unconditional branch, i.e., GOTO, JSR. |
| TypedInstruction |
Interface |
Get the type associated with an instruction, int for ILOAD, or the type of the field of a PUTFIELD instruction, e.g.. |
| StackProducer |
Interface |
Denote an instruction that may produce a value on top of the stack (this excludes DUP_X1, e.g.) |
| StackConsumer |
Interface |
Denote an instruction that may consume a value from the stack. |
| PushInstruction |
Interface |
Denotes an unparameterized instruction to produce a value on top of the stack, such as ILOAD, LDC, SIPUSH, DUP, ICONST, etc. |
| PopInstruction |
Interface |
Denotes an unparameterized instruction to pop a value on top from the stack, such as ISTORE, POP, PUTSTATIC. |
| NamedAndTyped |
Interface |
Denote entity that has both name and type. |
| MethodObserver |
Interface |
Implement this interface if you're interested in changes to a MethodGen object and register yourself with addObserver(). |
| LoadClass |
Interface |
Denotes that an instruction may start the process of loading and resolving the referenced class in the Virtual Machine. |
| InstructionTargeter |
Interface |
Denote that a class targets InstructionHandles within an InstructionList. |
| InstructionListObserver |
Interface |
Implement this interface if you're interested in changes to an InstructionList object and register yourself with addObserver(). |
| InstructionConstants |
Interface |
This interface contains shareable instruction objects. |
| InstructionConstants.Clinit |
Class |
No description provided. |
| InstructionComparator |
Interface |
Equality of instructions isn't clearly to be defined. |
| IndexedInstruction |
Interface |
Denote entity that refers to an index, e.g. |
| FieldObserver |
Interface |
Imnplement this interface if you're interested in changes to a FieldGen object and register yourself with addObserver(). |
| ExceptionThrower |
Interface |
Denote an instruction that may throw a run-time or a linking exception (or both) during execution. |
| ConstantPushInstruction |
Interface |
Denotes a push instruction that produces a literal on the stack such as SIPUSH, BIPUSH, ICONST, etc. |
| CompoundInstruction |
Interface |
Wrapper class for `compound' operations, virtual instructions that don't exist as byte code, but give a useful meaning. |
| ClassObserver |
Interface |
Implement this interface if you're interested in changes to a ClassGen object and register yourself with addObserver(). |
| AllocationInstruction |
Interface |
Denote family of instructions that allocates space in the heap. |
| Type |
Class |
Abstract super class for all possible java types, namely basic types such as int, object types like String and array types, e.g. |
| TABLESWITCH |
Class |
TABLESWITCH - Switch within given range of values, i.e., low..high |
| SWITCH |
Class |
SWITCH - Branch depending on int value, generates either LOOKUPSWITCH or TABLESWITCH instruction, depending on whether the match values (int[]) can be sorted with no gaps between the numbers. |
| SWAP |
Class |
SWAP - Swa top operand stack word |
| StoreInstruction |
Class |
Denotes an unparameterized instruction to store a value into a local variable, e.g. |
| StackInstruction |
Class |
Super class for stack operations like DUP and POP. |
| SIPUSH |
Class |
SIPUSH - Push short |
| Select |
Class |
Select - Abstract super class for LOOKUPSWITCH and TABLESWITCH instructions. |
| SASTORE |
Class |
SASTORE - Store into short array |
| SALOAD |
Class |
SALOAD - Load short from array |
| ReturnInstruction |
Class |
Super class for the xRETURN family of instructions. |
| ReturnaddressType |
Class |
Returnaddress, the type JSR or JSR_W instructions push upon the stack. |
| RETURN |
Class |
RETURN - Return from void method |
| RET |
Class |
RET - Return from subroutine |
| ReferenceType |
Class |
Super class for object and array types. |
| PUTSTATIC |
Class |
PUTSTATIC - Put static field in class |
| PUTFIELD |
Class |
PUTFIELD - Put field in object |
| PUSH |
Class |
Wrapper class for push operations, which are implemented either as BIPUSH, LDC or xCONST_n instructions. |
| POP2 |
Class |
POP2 - Pop two top operand stack words |
| POP |
Class |
POP - Pop top operand stack word |
| ObjectType |
Class |
Denotes reference such as java.lang.String. |
| NOP |
Class |
NOP - Do nothing |
| NEWARRAY |
Class |
NEWARRAY - Create new array of basic type (int, short, ...) |
| NEW |
Class |
NEW - Create new object |
| MULTIANEWARRAY |
Class |
MULTIANEWARRAY - Create new mutidimensional array of references |
| MONITOREXIT |
Class |
MONITOREXIT - Exit monitor for object |
| MONITORENTER |
Class |
MONITORENTER - Enter monitor for object |
| MethodGen |
Class |
Template class for building up a method. |
| LXOR |
Class |
LXOR - Bitwise XOR long |
| LUSHR |
Class |
LUSHR - Logical shift right long |
| LSUB |
Class |
LSUB - Substract longs |
| LSTORE |
Class |
LSTORE - Store long into local variable |
| LSHR |
Class |
LSHR - Arithmetic shift right long |
| LSHL |
Class |
LSHL - Arithmetic shift left long |
| LRETURN |
Class |
LRETURN - Return long from method |
| LREM |
Class |
LREM - Remainder of long |
| LOR |
Class |
LOR - Bitwise OR long |
| LOOKUPSWITCH |
Class |
LOOKUPSWITCH - Switch with unordered set of values |
| LocalVariableInstruction |
Class |
Abstract super class for instructions dealing with local variables. |
| LocalVariableGen |
Class |
This class represents a local variable within a method. |
| LoadInstruction |
Class |
Denotes an unparameterized instruction to load a value from a local variable, e.g. |
| LNEG |
Class |
LNEG - Negate long |
| LMUL |
Class |
LMUL - Multiply longs |
| LLOAD |
Class |
LLOAD - Load long from local variable |
| LineNumberGen |
Class |
This class represents a line number within a method, i.e., give an instruction a line number corresponding to the source code line. |
| LDIV |
Class |
LDIV - Divide longs |
| LDC_W |
Class |
LDC_W - Push item from constant pool (wide index) |
| LDC2_W |
Class |
LDC2_W - Push long or double from constant pool |
| LDC |
Class |
LDC - Push item from constant pool. |
| LCONST |
Class |
LCONST - Push 0 or 1, other values cause an exception |
| LCMP |
Class |
LCMP - Compare longs: |
| LASTORE |
Class |
LASTORE - Store into long array |
| LAND |
Class |
LAND - Bitwise AND longs |
| LALOAD |
Class |
LALOAD - Load long from array |
| LADD |
Class |
LADD - Add longs |
| L2I |
Class |
L2I - Convert long to int |
| L2F |
Class |
L2F - Convert long to float |
| L2D |
Class |
L2D - Convert long to double |
| JSR_W |
Class |
JSR_W - Jump to subroutine |
| JsrInstruction |
Class |
Super class for JSR - Jump to subroutine |
| JSR |
Class |
JSR - Jump to subroutine |
| IXOR |
Class |
IXOR - Bitwise XOR int |
| IUSHR |
Class |
IUSHR - Logical shift right int |
| ISUB |
Class |
ISUB - Substract ints |
| ISTORE |
Class |
ISTORE - Store int from stack into local variable |
| ISHR |
Class |
ISHR - Arithmetic shift right int |
| ISHL |
Class |
ISHL - Arithmetic shift left int |
| IRETURN |
Class |
IRETURN - Return int from method |
| IREM |
Class |
IREM - Remainder of int |
| IOR |
Class |
IOR - Bitwise OR int |
| INVOKEVIRTUAL |
Class |
INVOKEVIRTUAL - Invoke instance method; dispatch based on class |
| INVOKESTATIC |
Class |
INVOKESTATIC - Invoke a class (static) method |
| INVOKESPECIAL |
Class |
INVOKESPECIAL - Invoke instance method; special handling for superclass, private and instance initialization method invocations |
| INVOKEINTERFACE |
Class |
INVOKEINTERFACE - Invoke interface method |
| InvokeInstruction |
Class |
Super class for the INVOKE family of instructions. |
| InstructionList |
Class |
This class is a container for a list of Instruction objects. |
| InstructionHandle |
Class |
Instances of this class give users a handle to the instructions contained in an InstructionList. |
| InstructionFactory |
Class |
Instances of this class may be used, e.g., to generate typed versions of instructions. |
| Instruction |
Class |
Abstract super class for all Java byte codes. |
| INSTANCEOF |
Class |
INSTANCEOF - Determine if object is of given type |
| INEG |
Class |
INEG - Negate int |
| IMUL |
Class |
IMUL - Multiply ints |
| IMPDEP2 |
Class |
IMPDEP2 - Implementation dependent |
| IMPDEP1 |
Class |
IMPDEP1 - Implementation dependent |
| ILOAD |
Class |
ILOAD - Load int from local variable onto stack |
| IINC |
Class |
IINC - Increment local variable by constant |
| IF_ICMPNE |
Class |
IF_ICMPNE - Branch if int comparison doesn't succeed |
| IF_ICMPLT |
Class |
IF_ICMPLT - Branch if int comparison succeeds |
| IF_ICMPLE |
Class |
IF_ICMPLE - Branch if int comparison succeeds |
| IF_ICMPGT |
Class |
IF_ICMPGT - Branch if int comparison succeeds |
| IF_ICMPGE |
Class |
IF_ICMPGE - Branch if int comparison succeeds |
| IF_ICMPEQ |
Class |
IF_ICMPEQ - Branch if int comparison succeeds |
| IF_ACMPNE |
Class |
IF_ACMPNE - Branch if reference comparison doesn't succeed |
| IF_ACMPEQ |
Class |
IF_ACMPEQ - Branch if reference comparison succeeds |
| IFNULL |
Class |
IFNULL - Branch if reference is not null |
| IFNONNULL |
Class |
IFNONNULL - Branch if reference is not null |
| IFNE |
Class |
IFNE - Branch if int comparison with zero succeeds |
| IFLT |
Class |
IFLT - Branch if int comparison with zero succeeds |
| IFLE |
Class |
IFLE - Branch if int comparison with zero succeeds |
| IfInstruction |
Class |
Super class for the IF family of instructions. |
| IFGT |
Class |
IFGT - Branch if int comparison with zero succeeds |
| IFGE |
Class |
IFGE - Branch if int comparison with zero succeeds |
| IFEQ |
Class |
IFEQ - Branch if int comparison with zero succeeds |
| IDIV |
Class |
IDIV - Divide ints |
| ICONST |
Class |
ICONST - Push value between -1, ..., 5, other values cause an exception |
| IASTORE |
Class |
IASTORE - Store into int array |
| IAND |
Class |
IAND - Bitwise AND int |
| IALOAD |
Class |
IALOAD - Load int from array |
| IADD |
Class |
IADD - Add ints |
| I2S |
Class |
I2S - Convert int to short |
| I2L |
Class |
I2L - Convert int to long |
| I2F |
Class |
I2F - Convert int to float |
| I2D |
Class |
I2D - Convert int to double |
| I2C |
Class |
I2C - Convert int to char |
| I2B |
Class |
I2B - Convert int to byte |
| GOTO_W |
Class |
GOTO_W - Branch always (to relative offset, not absolute address) |
| GotoInstruction |
Class |
Super class for GOTO |
| GOTO |
Class |
GOTO - Branch always (to relative offset, not absolute address) |
| GETSTATIC |
Class |
GETSTATIC - Fetch static field from class |
| GETFIELD |
Class |
GETFIELD - Fetch field from object |
| FSUB |
Class |
FSUB - Substract floats |
| FSTORE |
Class |
FSTORE - Store float into local variable |
| FRETURN |
Class |
FRETURN - Return float from method |
| FREM |
Class |
FREM - Remainder of floats |
| FNEG |
Class |
FNEG - Negate float |
| FMUL |
Class |
FMUL - Multiply floats |
| FLOAD |
Class |
FLOAD - Load float from local variable |
| FieldOrMethod |
Class |
Super class for InvokeInstruction and FieldInstruction, since they have some methods in common! |
| FieldInstruction |
Class |
Super class for the GET/PUT family of instructions. |
| FieldGenOrMethodGen |
Class |
Super class for FieldGen and MethodGen objects, since they have some methods in common! |
| FieldGen |
Class |
Template class for building up a field. |
| FDIV |
Class |
FDIV - Divide floats |
| FCONST |
Class |
FCONST - Push 0.0, 1.0 or 2.0, other values cause an exception |
| FCMPL |
Class |
FCMPL - Compare floats: value1 < value2 |
| FCMPG |
Class |
FCMPG - Compare floats: value1 > value2 |
| FASTORE |
Class |
FASTORE - Store into float array |
| FALOAD |
Class |
FALOAD - Load float from array |
| FADD |
Class |
FADD - Add floats |
| F2L |
Class |
F2L - Convert float to long |
| F2I |
Class |
F2I - Convert float to int |
| F2D |
Class |
F2D - Convert float to double |
| EmptyVisitor |
Class |
Supplies empty method bodies to be overridden by subclasses. |
| DUP_X2 |
Class |
DUP_X2 - Duplicate top operand stack word and put three down |
| DUP_X1 |
Class |
DUP_X1 - Duplicate top operand stack word and put two down |
| DUP2_X2 |
Class |
DUP2_X2 - Duplicate two top operand stack words and put four down |
| DUP2_X1 |
Class |
DUP2_X1 - Duplicate two top operand stack words and put three down |
| DUP2 |
Class |
DUP2 - Duplicate two top operand stack words |
| DUP |
Class |
DUP - Duplicate top operand stack word |
| DSUB |
Class |
DSUB - Substract doubles |
| DSTORE |
Class |
DSTORE - Store double into local variable |
| DRETURN |
Class |
DRETURN - Return double from method |
| DREM |
Class |
DREM - Remainder of doubles |
| DNEG |
Class |
DNEG - Negate double |
| DMUL |
Class |
DMUL - Multiply doubles |
| DLOAD |
Class |
DLOAD - Load double from local variable |
| DDIV |
Class |
DDIV - Divide doubles |
| DCONST |
Class |
DCONST - Push 0.0 or 1.0, other values cause an exception |
| DCMPL |
Class |
DCMPL - Compare doubles: value1 < value2 |
| DCMPG |
Class |
DCMPG - Compare doubles: value1 > value2 |
| DASTORE |
Class |
DASTORE - Store into double array |
| DALOAD |
Class |
DALOAD - Load double from array |
| DADD |
Class |
DADD - Add doubles |
| D2L |
Class |
D2L - Convert double to long |
| D2I |
Class |
D2I - Convert double to int |
| D2F |
Class |
D2F - Convert double to float |
| CPInstruction |
Class |
Abstract super class for instructions that use an index into the constant pool such as LDC, INVOKEVIRTUAL, etc. |
| ConversionInstruction |
Class |
Super class for the x2y family of instructions. |
| ConstantPoolGen |
Class |
This class is used to build up a constant pool. |
| CodeExceptionGen |
Class |
This class represents an exception handler, i.e., specifies the region where a handler is active and an instruction where the actual handling is done. |
| ClassGen |
Class |
Template class for building up a java class. |
| CHECKCAST |
Class |
CHECKCAST - Check whether object is of given type |
| CASTORE |
Class |
CASTORE - Store into char array |
| CALOAD |
Class |
CALOAD - Load char from array |
| BREAKPOINT |
Class |
BREAKPOINT, JVM dependent, ignored by default |
| BranchInstruction |
Class |
Abstract super class for branching instructions like GOTO, IFEQ, etc.. |
| BranchHandle |
Class |
BranchHandle is returned by specialized InstructionList.append() whenever a BranchInstruction is appended. |
| BIPUSH |
Class |
BIPUSH - Push byte on stack |
| BASTORE |
Class |
BASTORE - Store into byte or boolean array |
| BasicType |
Class |
Denotes basic type such as int. |
| BALOAD |
Class |
BALOAD - Load byte or boolean from array |
| ATHROW |
Class |
ATHROW - Throw exception |
| ASTORE |
Class |
ASTORE - Store reference into local variable |
| ArrayType |
Class |
Denotes array type, such as int[][] |
| ARRAYLENGTH |
Class |
ARRAYLENGTH - Get length of array |
| ArrayInstruction |
Class |
Super class for instructions dealing with array access such as IALOAD. |
| ArithmeticInstruction |
Class |
Super class for the family of arithmetic instructions. |
| ARETURN |
Class |
ARETURN - Return reference from method |
| ANEWARRAY |
Class |
ANEWARRAY - Create new array of references |
| ALOAD |
Class |
ALOAD - Load reference from local variable |
| ACONST_NULL |
Class |
ACONST_NULL - Push null reference |
| AASTORE |
Class |
AASTORE - Store into reference array |
| AALOAD |
Class |
AALOAD - Load reference from array |