Uses of Class
org.apache.bcel.generic.Instruction
-
Packages that use Instruction Package Description org.apache.bcel.generic This package contains the "generic" part of the Byte Code Engineering Library, i.e., classes to dynamically modify class objects and byte code instructions.org.apache.bcel.util This package contains utility classes for the Byte Code Engineering Library, namely:org.apache.bcel.verifier.statics Provides PassVerifier classes used internally by JustIce.org.apache.bcel.verifier.structurals Provides a PassVerifier class mostly used internally by JustIce, yielding a control flow graph for public use as a nice side effect. -
-
Uses of Instruction in org.apache.bcel.generic
Subclasses of Instruction in org.apache.bcel.generic Modifier and Type Class Description class
AALOAD
AALOAD - Load reference from arrayclass
AASTORE
AASTORE - Store into reference arrayclass
ACONST_NULL
ACONST_NULL - Push null referenceclass
ALOAD
ALOAD - Load reference from local variableclass
ANEWARRAY
ANEWARRAY - Create new array of referencesclass
ARETURN
ARETURN - Return reference from methodclass
ArithmeticInstruction
Super class for the family of arithmetic instructions.class
ArrayInstruction
Super class for instructions dealing with array access such as IALOAD.class
ARRAYLENGTH
ARRAYLENGTH - Get length of arrayclass
ASTORE
ASTORE - Store reference into local variableclass
ATHROW
ATHROW - Throw exceptionclass
BALOAD
BALOAD - Load byte or boolean from arrayclass
BASTORE
BASTORE - Store into byte or boolean arrayclass
BIPUSH
BIPUSH - Push byte on stackclass
BranchInstruction
Abstract super class for branching instructions like GOTO, IFEQ, etc..class
BREAKPOINT
BREAKPOINT, JVM dependent, ignored by defaultclass
CALOAD
CALOAD - Load char from arrayclass
CASTORE
CASTORE - Store into char arrayclass
CHECKCAST
CHECKCAST - Check whether object is of given typeclass
ConversionInstruction
Super class for the x2y family of instructions.class
CPInstruction
Abstract super class for instructions that use an index into the constant pool such as LDC, INVOKEVIRTUAL, etc.class
D2F
D2F - Convert double to floatclass
D2I
D2I - Convert double to intclass
D2L
D2L - Convert double to longclass
DADD
DADD - Add doublesclass
DALOAD
DALOAD - Load double from arrayclass
DASTORE
DASTORE - Store into double arrayclass
DCMPG
DCMPG - Compare doubles: value1 > value2class
DCMPL
DCMPL - Compare doubles: value1 < value2class
DCONST
DCONST - Push 0.0 or 1.0, other values cause an exceptionclass
DDIV
DDIV - Divide doublesclass
DLOAD
DLOAD - Load double from local variableclass
DMUL
DMUL - Multiply doublesclass
DNEG
DNEG - Negate doubleclass
DREM
DREM - Remainder of doublesclass
DRETURN
DRETURN - Return double from methodclass
DSTORE
DSTORE - Store double into local variableclass
DSUB
DSUB - Substract doublesclass
DUP
DUP - Duplicate top operand stack wordclass
DUP_X1
DUP_X1 - Duplicate top operand stack word and put two downclass
DUP_X2
DUP_X2 - Duplicate top operand stack word and put three downclass
DUP2
DUP2 - Duplicate two top operand stack wordsclass
DUP2_X1
DUP2_X1 - Duplicate two top operand stack words and put three downclass
DUP2_X2
DUP2_X2 - Duplicate two top operand stack words and put four downclass
F2D
F2D - Convert float to doubleclass
F2I
F2I - Convert float to intclass
F2L
F2L - Convert float to longclass
FADD
FADD - Add floatsclass
FALOAD
FALOAD - Load float from arrayclass
FASTORE
FASTORE - Store into float arrayclass
FCMPG
FCMPG - Compare floats: value1 > value2class
FCMPL
FCMPL - Compare floats: value1 < value2class
FCONST
FCONST - Push 0.0, 1.0 or 2.0, other values cause an exceptionclass
FDIV
FDIV - Divide floatsclass
FieldInstruction
Super class for the GET/PUTxxx family of instructions.class
FieldOrMethod
Super class for InvokeInstruction and FieldInstruction, since they have some methods in common!class
FLOAD
FLOAD - Load float from local variableclass
FMUL
FMUL - Multiply floatsclass
FNEG
FNEG - Negate floatclass
FREM
FREM - Remainder of floatsclass
FRETURN
FRETURN - Return float from methodclass
FSTORE
FSTORE - Store float into local variableclass
FSUB
FSUB - Substract floatsclass
GETFIELD
GETFIELD - Fetch field from objectclass
GETSTATIC
GETSTATIC - Fetch static field from classclass
GOTO
GOTO - Branch always (to relative offset, not absolute address)class
GOTO_W
GOTO_W - Branch always (to relative offset, not absolute address)class
GotoInstruction
Super class for GOTOclass
I2B
I2B - Convert int to byteclass
I2C
I2C - Convert int to charclass
I2D
I2D - Convert int to doubleclass
I2F
I2F - Convert int to floatclass
I2L
I2L - Convert int to longclass
I2S
I2S - Convert int to shortclass
IADD
IADD - Add intsclass
IALOAD
IALOAD - Load int from arrayclass
IAND
IAND - Bitwise AND intclass
IASTORE
IASTORE - Store into int arrayclass
ICONST
ICONST - Push value between -1, ..., 5, other values cause an exceptionclass
IDIV
IDIV - Divide intsclass
IF_ACMPEQ
IF_ACMPEQ - Branch if reference comparison succeedsclass
IF_ACMPNE
IF_ACMPNE - Branch if reference comparison doesn't succeedclass
IF_ICMPEQ
IF_ICMPEQ - Branch if int comparison succeedsclass
IF_ICMPGE
IF_ICMPGE - Branch if int comparison succeedsclass
IF_ICMPGT
IF_ICMPGT - Branch if int comparison succeedsclass
IF_ICMPLE
IF_ICMPLE - Branch if int comparison succeedsclass
IF_ICMPLT
IF_ICMPLT - Branch if int comparison succeedsclass
IF_ICMPNE
IF_ICMPNE - Branch if int comparison doesn't succeedclass
IFEQ
IFEQ - Branch if int comparison with zero succeedsclass
IFGE
IFGE - Branch if int comparison with zero succeedsclass
IFGT
IFGT - Branch if int comparison with zero succeedsclass
IfInstruction
Super class for the IFxxx family of instructions.class
IFLE
IFLE - Branch if int comparison with zero succeedsclass
IFLT
IFLT - Branch if int comparison with zero succeedsclass
IFNE
IFNE - Branch if int comparison with zero succeedsclass
IFNONNULL
IFNONNULL - Branch if reference is not nullclass
IFNULL
IFNULL - Branch if reference is not nullclass
IINC
IINC - Increment local variable by constantclass
ILOAD
ILOAD - Load int from local variable onto stackclass
IMPDEP1
IMPDEP1 - Implementation dependentclass
IMPDEP2
IMPDEP2 - Implementation dependentclass
IMUL
IMUL - Multiply intsclass
INEG
INEG - Negate intclass
INSTANCEOF
INSTANCEOF - Determine if object is of given typeclass
INVOKEDYNAMIC
Class for INVOKEDYNAMIC.class
InvokeInstruction
Super class for the INVOKExxx family of instructions.class
INVOKEINTERFACE
INVOKEINTERFACE - Invoke interface methodclass
INVOKESPECIAL
INVOKESPECIAL - Invoke instance method; special handling for superclass, private and instance initialization method invocationsclass
INVOKESTATIC
INVOKESTATIC - Invoke a class (static) methodclass
INVOKEVIRTUAL
INVOKEVIRTUAL - Invoke instance method; dispatch based on classclass
IOR
IOR - Bitwise OR intclass
IREM
IREM - Remainder of intclass
IRETURN
IRETURN - Return int from methodclass
ISHL
ISHL - Arithmetic shift left intclass
ISHR
ISHR - Arithmetic shift right intclass
ISTORE
ISTORE - Store int from stack into local variableclass
ISUB
ISUB - Substract intsclass
IUSHR
IUSHR - Logical shift right intclass
IXOR
IXOR - Bitwise XOR intclass
JSR
JSR - Jump to subroutineclass
JSR_W
JSR_W - Jump to subroutineclass
JsrInstruction
Super class for JSR - Jump to subroutineclass
L2D
L2D - Convert long to doubleclass
L2F
L2F - Convert long to floatclass
L2I
L2I - Convert long to intclass
LADD
LADD - Add longsclass
LALOAD
LALOAD - Load long from arrayclass
LAND
LAND - Bitwise AND longsclass
LASTORE
LASTORE - Store into long arrayclass
LCMP
LCMP - Compare longs:class
LCONST
LCONST - Push 0 or 1, other values cause an exceptionclass
LDC
LDC - Push item from constant pool.class
LDC_W
LDC_W - Push item from constant pool (wide index)class
LDC2_W
LDC2_W - Push long or double from constant poolclass
LDIV
LDIV - Divide longsclass
LLOAD
LLOAD - Load long from local variableclass
LMUL
LMUL - Multiply longsclass
LNEG
LNEG - Negate longclass
LoadInstruction
Denotes an unparameterized instruction to load a value from a local variable, e.g.class
LocalVariableInstruction
Abstract super class for instructions dealing with local variables.class
LOOKUPSWITCH
LOOKUPSWITCH - Switch with unordered set of valuesclass
LOR
LOR - Bitwise OR longclass
LREM
LREM - Remainder of longclass
LRETURN
LRETURN - Return long from methodclass
LSHL
LSHL - Arithmetic shift left longclass
LSHR
LSHR - Arithmetic shift right longclass
LSTORE
LSTORE - Store long into local variableclass
LSUB
LSUB - Substract longsclass
LUSHR
LUSHR - Logical shift right longclass
LXOR
LXOR - Bitwise XOR longclass
MONITORENTER
MONITORENTER - Enter monitor for objectclass
MONITOREXIT
MONITOREXIT - Exit monitor for objectclass
MULTIANEWARRAY
MULTIANEWARRAY - Create new mutidimensional array of referencesclass
NameSignatureInstruction
Super class for FieldOrMethod and INVOKEDYNAMIC, since they both have names and signaturesclass
NEW
NEW - Create new objectclass
NEWARRAY
NEWARRAY - Create new array of basic type (int, short, ...)class
NOP
NOP - Do nothingclass
POP
POP - Pop top operand stack wordclass
POP2
POP2 - Pop two top operand stack wordsclass
PUTFIELD
PUTFIELD - Put field in objectclass
PUTSTATIC
PUTSTATIC - Put static field in classclass
RET
RET - Return from subroutineclass
RETURN
RETURN - Return from void methodclass
ReturnInstruction
Super class for the xRETURN family of instructions.class
SALOAD
SALOAD - Load short from arrayclass
SASTORE
SASTORE - Store into short arrayclass
Select
Select - Abstract super class for LOOKUPSWITCH and TABLESWITCH instructions.class
SIPUSH
SIPUSH - Push shortclass
StackInstruction
Super class for stack operations like DUP and POP.class
StoreInstruction
Denotes an unparameterized instruction to store a value into a local variable, e.g.class
SWAP
SWAP - Swa top operand stack wordclass
TABLESWITCH
TABLESWITCH - Switch within given range of values, i.e., low..highFields in org.apache.bcel.generic declared as Instruction Modifier and Type Field Description static Instruction
InstructionConst. ACONST_NULL
static Instruction
InstructionConstants. ACONST_NULL
Deprecated.static Instruction
InstructionConst. ARRAYLENGTH
static Instruction
InstructionConstants. ARRAYLENGTH
Deprecated.static Instruction
InstructionConst. ATHROW
static Instruction
InstructionConstants. ATHROW
Deprecated.static Instruction
InstructionConst. DCMPG
static Instruction
InstructionConstants. DCMPG
Deprecated.static Instruction
InstructionConst. DCMPL
static Instruction
InstructionConstants. DCMPL
Deprecated.static Instruction
InstructionConst. DCONST_0
static Instruction
InstructionConstants. DCONST_0
Deprecated.static Instruction
InstructionConst. DCONST_1
static Instruction
InstructionConstants. DCONST_1
Deprecated.static Instruction
InstructionConst. FCMPG
static Instruction
InstructionConstants. FCMPG
Deprecated.static Instruction
InstructionConst. FCMPL
static Instruction
InstructionConstants. FCMPL
Deprecated.static Instruction
InstructionConst. FCONST_0
static Instruction
InstructionConstants. FCONST_0
Deprecated.static Instruction
InstructionConst. FCONST_1
static Instruction
InstructionConstants. FCONST_1
Deprecated.static Instruction
InstructionConst. FCONST_2
static Instruction
InstructionConstants. FCONST_2
Deprecated.static Instruction
InstructionConst. ICONST_0
static Instruction
InstructionConstants. ICONST_0
Deprecated.static Instruction
InstructionConst. ICONST_1
static Instruction
InstructionConstants. ICONST_1
Deprecated.static Instruction
InstructionConst. ICONST_2
static Instruction
InstructionConstants. ICONST_2
Deprecated.static Instruction
InstructionConst. ICONST_3
static Instruction
InstructionConstants. ICONST_3
Deprecated.static Instruction
InstructionConst. ICONST_4
static Instruction
InstructionConstants. ICONST_4
Deprecated.static Instruction
InstructionConst. ICONST_5
static Instruction
InstructionConstants. ICONST_5
Deprecated.static Instruction
InstructionConst. ICONST_M1
static Instruction
InstructionConstants. ICONST_M1
Deprecated.private Instruction
InstructionHandle. instruction
private Instruction
PUSH. instruction
private static Instruction[]
InstructionConst. INSTRUCTIONS
Get object via its opcode, for immutable instructions like branch instructions entries are set to null.static Instruction[]
InstructionConstants. INSTRUCTIONS
Deprecated.Get object via its opcode, for immutable instructions like branch instructions entries are set to null.static Instruction
InstructionConst. LCMP
static Instruction
InstructionConstants. LCMP
Deprecated.static Instruction
InstructionConst. LCONST_0
static Instruction
InstructionConstants. LCONST_0
Deprecated.static Instruction
InstructionConst. LCONST_1
static Instruction
InstructionConstants. LCONST_1
Deprecated.static Instruction
InstructionConst. MONITORENTER
static Instruction
InstructionConstants. MONITORENTER
Deprecated.static Instruction
InstructionConst. MONITOREXIT
static Instruction
InstructionConstants. MONITOREXIT
Deprecated.static Instruction
InstructionConst. NOP
Predefined instruction objectsstatic Instruction
InstructionConstants. NOP
Deprecated.Predefined instruction objectsMethods in org.apache.bcel.generic that return Instruction Modifier and Type Method Description Instruction
Instruction. copy()
Use with caution, since `BranchInstruction's have a `target' reference which is not copied correctly (only basic types are).Instruction
InstructionFactory. createAppend(Type type)
Instruction
InstructionFactory. createCast(Type src_type, Type dest_type)
Create conversion operation for two stack operands, this may be an I2C, instruction, e.g., if the operands are basic types and CHECKCAST if they are reference types.Instruction
InstructionFactory. createConstant(java.lang.Object value)
Uses PUSH to push a constant value onto the stack.Instruction
InstructionFactory. createNewArray(Type t, short dim)
Create new array of given size and type.static Instruction
InstructionFactory. createNull(Type type)
Create "null" value for reference types, 0 for basic types like intstatic Instruction
InstructionFactory. createThis()
Create reference to `this'static Instruction
InstructionConst. getInstruction(int index)
Gets the Instruction.Instruction
InstructionHandle. getInstruction()
Instruction
PUSH. getInstruction()
Instruction
SWITCH. getInstruction()
Instruction[]
InstructionList. getInstructions()
static Instruction
Instruction. readInstruction(ByteSequence bytes)
Read an instruction from (byte code) input stream and return the appropiate object.Instruction
InstructionHandle. swapInstruction(Instruction i)
Temporarily swap the current instruction, without disturbing anything.Methods in org.apache.bcel.generic with parameters of type Instruction Modifier and Type Method Description InstructionHandle
InstructionList. append(Instruction i)
Append an instruction to the end of this list.InstructionHandle
InstructionList. append(InstructionHandle ih, Instruction i)
Append an instruction after instruction (handle) ih contained in this list.InstructionHandle
InstructionList. append(Instruction i, CompoundInstruction c)
Append a compound instruction, after instruction i.InstructionHandle
InstructionList. append(Instruction i, Instruction j)
Append a single instruction j after another instruction i, which must be in this list of course!InstructionHandle
InstructionList. append(Instruction i, InstructionList il)
Append another list after instruction i contained in this list.boolean
InstructionList. contains(Instruction i)
void
InstructionList. delete(Instruction i)
Remove instruction from this list.void
InstructionList. delete(Instruction from, Instruction to)
Remove instructions from instruction `from' to instruction `to' contained in this list.boolean
InstructionComparator. equals(Instruction i1, Instruction i2)
private InstructionHandle
InstructionList. findInstruction1(Instruction i)
Search for given Instruction reference, start at beginning of list.private InstructionHandle
InstructionList. findInstruction2(Instruction i)
Search for given Instruction reference, start at end of list(package private) static InstructionHandle
InstructionHandle. getInstructionHandle(Instruction i)
Factory method.InstructionHandle
InstructionList. insert(Instruction i)
Insert an instruction at start of this list.InstructionHandle
InstructionList. insert(InstructionHandle ih, Instruction i)
Insert an instruction before instruction (handle) ih contained in this list.InstructionHandle
InstructionList. insert(Instruction i, CompoundInstruction c)
Insert a compound instruction before instruction i.InstructionHandle
InstructionList. insert(Instruction i, Instruction j)
Insert a single instruction j before another instruction i, which must be in this list of course!InstructionHandle
InstructionList. insert(Instruction i, InstructionList il)
Insert another list before Instruction i contained in this list.void
BranchHandle. setInstruction(Instruction i)
Set new contents.void
InstructionHandle. setInstruction(Instruction i)
Replace current instruction contained in this handle.Instruction
InstructionHandle. swapInstruction(Instruction i)
Temporarily swap the current instruction, without disturbing anything.Constructors in org.apache.bcel.generic with parameters of type Instruction Constructor Description InstructionHandle(Instruction i)
InstructionList(Instruction i)
Create instruction list containing one instruction. -
Uses of Instruction in org.apache.bcel.util
Fields in org.apache.bcel.util with type parameters of type Instruction Modifier and Type Field Description private java.util.Map<Instruction,InstructionHandle>
BCELFactory. branch_map
Methods in org.apache.bcel.util with parameters of type Instruction Modifier and Type Method Description private boolean
BCELFactory. visitInstruction(Instruction i)
-
Uses of Instruction in org.apache.bcel.verifier.statics
Methods in org.apache.bcel.verifier.statics with parameters of type Instruction Modifier and Type Method Description private void
Pass3aVerifier.InstOperandConstraintVisitor. constraintViolated(Instruction i, java.lang.String message)
A utility method to always raise an exeption.private void
Pass3aVerifier.InstOperandConstraintVisitor. indexValid(Instruction i, int idx)
A utility method to raise an exception if the index is not a valid constant pool index. -
Uses of Instruction in org.apache.bcel.verifier.structurals
Methods in org.apache.bcel.verifier.structurals with parameters of type Instruction Modifier and Type Method Description private void
InstConstraintVisitor. _visitStackAccessor(Instruction o)
Ensures the general preconditions of an instruction that accesses the stack.private boolean
InstConstraintVisitor. arrayrefOfArrayType(Instruction o, Type arrayref)
Assures arrayref is of ArrayType or NULL; returns true if and only if arrayref is non-NULL.private void
InstConstraintVisitor. constraintViolated(Instruction violator, java.lang.String description)
This method is called by the visitXXX() to notify the acceptor of this InstConstraintVisitor that a constraint violation has occured.private void
InstConstraintVisitor. indexOfInt(Instruction o, Type index)
Assures index is of type INT.private void
InstConstraintVisitor. referenceTypeIsInitialized(Instruction o, ReferenceType r)
Assures the ReferenceType r is initialized (or Type.NULL).private void
InstConstraintVisitor. valueOfInt(Instruction o, Type value)
Assures value is of type INT.
-