Uses of Class
org.apache.bcel.generic.Instruction
Package
Description
Generic part of the Apache Byte Code Engineering Library (BCEL), classes to dynamically modify class objects
and byte code instructions.
-
Uses of Instruction in org.apache.bcel.generic
Modifier and TypeClassDescriptionclass
AALOAD - Load reference from arrayclass
AASTORE - Store into reference arrayclass
ACONST_NULL - Push null referenceclass
ALOAD - Load reference from local variableclass
ANEWARRAY - Create new array of referencesclass
ARETURN - Return reference from methodclass
Super class for the family of arithmetic instructions.class
Super class for instructions dealing with array access such as IALOAD.class
ARRAYLENGTH - Get length of arrayclass
ASTORE - Store reference into local variableclass
ATHROW - Throw exceptionclass
BALOAD - Load byte or boolean from arrayclass
BASTORE - Store into byte or boolean arrayclass
BIPUSH - Push byte on stackclass
Abstract super class for branching instructions like GOTO, IFEQ, etc..class
BREAKPOINT, JVM dependent, ignored by defaultclass
CALOAD - Load char from arrayclass
CASTORE - Store into char arrayclass
CHECKCAST - Check whether object is of given typeclass
Super class for the x2y family of instructions.class
Abstract super class for instructions that use an index into the constant pool such as LDC, INVOKEVIRTUAL, etc.class
D2F - Convert double to floatclass
D2I - Convert double to intclass
D2L - Convert double to longclass
DADD - Add doublesclass
DALOAD - Load double from arrayclass
DASTORE - Store into double arrayclass
DCMPG - Compare doubles: value1 > value2class
DCMPL - Compare doubles: value1 < value2class
DCONST - Push 0.0 or 1.0, other values cause an exceptionclass
DDIV - Divide doublesclass
DLOAD - Load double from local variableclass
DMUL - Multiply doublesclass
DNEG - Negate doubleclass
DREM - Remainder of doublesclass
DRETURN - Return double from methodclass
DSTORE - Store double into local variableclass
DSUB - Substract doublesclass
DUP - Duplicate top operand stack wordclass
DUP_X1 - Duplicate top operand stack word and put two downclass
DUP_X2 - Duplicate top operand stack word and put three downclass
DUP2 - Duplicate two top operand stack wordsclass
DUP2_X1 - Duplicate two top operand stack words and put three downclass
DUP2_X2 - Duplicate two top operand stack words and put four downclass
F2D - Convert float to doubleclass
F2I - Convert float to intclass
F2L - Convert float to longclass
FADD - Add floatsclass
FALOAD - Load float from arrayclass
FASTORE - Store into float arrayclass
FCMPG - Compare floats: value1 > value2class
FCMPL - Compare floats: value1 < value2class
FCONST - Push 0.0, 1.0 or 2.0, other values cause an exceptionclass
FDIV - Divide floatsclass
Super class for the GET/PUTxxx family of instructions.class
Super class for InvokeInstruction and FieldInstruction, since they have some methods in common!class
FLOAD - Load float from local variableclass
FMUL - Multiply floatsclass
FNEG - Negate floatclass
FREM - Remainder of floatsclass
FRETURN - Return float from methodclass
FSTORE - Store float into local variableclass
FSUB - Substract floatsclass
GETFIELD - Fetch field from objectclass
GETSTATIC - Fetch static field from classclass
GOTO - Branch always (to relative offset, not absolute address)class
GOTO_W - Branch always (to relative offset, not absolute address)class
Super class for GOTOclass
I2B - Convert int to byteclass
I2C - Convert int to charclass
I2D - Convert int to doubleclass
I2F - Convert int to floatclass
I2L - Convert int to longclass
I2S - Convert int to shortclass
IADD - Add intsclass
IALOAD - Load int from arrayclass
IAND - Bitwise AND intclass
IASTORE - Store into int arrayclass
ICONST - Push value between -1, ..., 5, other values cause an exceptionclass
IDIV - Divide intsclass
IF_ACMPEQ - Branch if reference comparison succeedsclass
IF_ACMPNE - Branch if reference comparison doesn't succeedclass
IF_ICMPEQ - Branch if int comparison succeedsclass
IF_ICMPGE - Branch if int comparison succeedsclass
IF_ICMPGT - Branch if int comparison succeedsclass
IF_ICMPLE - Branch if int comparison succeedsclass
IF_ICMPLT - Branch if int comparison succeedsclass
IF_ICMPNE - Branch if int comparison doesn't succeedclass
IFEQ - Branch if int comparison with zero succeedsclass
IFGE - Branch if int comparison with zero succeedsclass
IFGT - Branch if int comparison with zero succeedsclass
Super class for the IFxxx family of instructions.class
IFLE - Branch if int comparison with zero succeedsclass
IFLT - Branch if int comparison with zero succeedsclass
IFNE - Branch if int comparison with zero succeedsclass
IFNONNULL - Branch if reference is not nullclass
IFNULL - Branch if reference is not nullclass
IINC - Increment local variable by constantclass
ILOAD - Load int from local variable onto stackclass
IMPDEP1 - Implementation dependentclass
IMPDEP2 - Implementation dependentclass
IMUL - Multiply intsclass
INEG - Negate intclass
INSTANCEOF - Determine if object is of given typeclass
Class for INVOKEDYNAMIC.class
Super class for the INVOKExxx family of instructions.final class
INVOKEINTERFACE - Invoke interface methodclass
INVOKESPECIAL - Invoke instance method; special handling for superclass, private and instance initialization method invocationsclass
INVOKESTATIC - Invoke a class (static) methodclass
INVOKEVIRTUAL - Invoke instance method; dispatch based on classclass
IOR - Bitwise OR intclass
IREM - Remainder of intclass
IRETURN - Return int from methodclass
ISHL - Arithmetic shift left intclass
ISHR - Arithmetic shift right intclass
ISTORE - Store int from stack into local variableclass
ISUB - Substract intsclass
IUSHR - Logical shift right intclass
IXOR - Bitwise XOR intclass
JSR - Jump to subroutineclass
JSR_W - Jump to subroutineclass
Super class for JSR - Jump to subroutineclass
L2D - Convert long to doubleclass
L2F - Convert long to floatclass
L2I - Convert long to intclass
LADD - Add longsclass
LALOAD - Load long from arrayclass
LAND - Bitwise AND longsclass
LASTORE - Store into long arrayclass
LCMP - Compare longs:class
LCONST - Push 0 or 1, other values cause an exceptionclass
LDC - Push item from constant pool.class
LDC_W - Push item from constant pool (wide index)class
LDC2_W - Push long or double from constant poolclass
LDIV - Divide longsclass
LLOAD - Load long from local variableclass
LMUL - Multiply longsclass
LNEG - Negate longclass
Denotes an unparameterized instruction to load a value from a local variable, e.g.class
Abstract super class for instructions dealing with local variables.class
LOOKUPSWITCH - Switch with unordered set of valuesclass
LOR - Bitwise OR longclass
LREM - Remainder of longclass
LRETURN - Return long from methodclass
LSHL - Arithmetic shift left longclass
LSHR - Arithmetic shift right longclass
LSTORE - Store long into local variableclass
LSUB - Substract longsclass
LUSHR - Logical shift right longclass
LXOR - Bitwise XOR longclass
MONITORENTER - Enter monitor for objectclass
MONITOREXIT - Exit monitor for objectclass
MULTIANEWARRAY - Create new mutidimensional array of referencesclass
Super class for FieldOrMethod and INVOKEDYNAMIC, since they both have names and signaturesclass
NEW - Create new objectclass
NEWARRAY - Create new array of basic type (int, short, ...)class
NOP - Do nothingclass
POP - Pop top operand stack wordclass
POP2 - Pop two top operand stack wordsclass
PUTFIELD - Put field in objectclass
PUTSTATIC - Put static field in classclass
RET - Return from subroutineclass
RETURN - Return from void methodclass
Super class for the xRETURN family of instructions.class
SALOAD - Load short from arrayclass
SASTORE - Store into short arrayclass
Select - Abstract super class for LOOKUPSWITCH and TABLESWITCH instructions.class
SIPUSH - Push shortclass
Super class for stack operations like DUP and POP.class
Denotes an unparameterized instruction to store a value into a local variable, e.g.class
SWAP - Swa top operand stack wordclass
TABLESWITCH - Switch within given range of values, i.e., low..highModifier and TypeFieldDescriptionstatic final Instruction
InstructionConst.ACONST_NULL
static final Instruction
InstructionConstants.ACONST_NULL
Deprecated.static final Instruction
InstructionConst.ARRAYLENGTH
static final Instruction
InstructionConstants.ARRAYLENGTH
Deprecated.static final Instruction
InstructionConst.ATHROW
static final Instruction
InstructionConstants.ATHROW
Deprecated.static final Instruction
InstructionConst.DCMPG
static final Instruction
InstructionConstants.DCMPG
Deprecated.static final Instruction
InstructionConst.DCMPL
static final Instruction
InstructionConstants.DCMPL
Deprecated.static final Instruction
InstructionConst.DCONST_0
static final Instruction
InstructionConstants.DCONST_0
Deprecated.static final Instruction
InstructionConst.DCONST_1
static final Instruction
InstructionConstants.DCONST_1
Deprecated.static final Instruction
InstructionConst.FCMPG
static final Instruction
InstructionConstants.FCMPG
Deprecated.static final Instruction
InstructionConst.FCMPL
static final Instruction
InstructionConstants.FCMPL
Deprecated.static final Instruction
InstructionConst.FCONST_0
static final Instruction
InstructionConstants.FCONST_0
Deprecated.static final Instruction
InstructionConst.FCONST_1
static final Instruction
InstructionConstants.FCONST_1
Deprecated.static final Instruction
InstructionConst.FCONST_2
static final Instruction
InstructionConstants.FCONST_2
Deprecated.static final Instruction
InstructionConst.ICONST_0
static final Instruction
InstructionConstants.ICONST_0
Deprecated.static final Instruction
InstructionConst.ICONST_1
static final Instruction
InstructionConstants.ICONST_1
Deprecated.static final Instruction
InstructionConst.ICONST_2
static final Instruction
InstructionConstants.ICONST_2
Deprecated.static final Instruction
InstructionConst.ICONST_3
static final Instruction
InstructionConstants.ICONST_3
Deprecated.static final Instruction
InstructionConst.ICONST_4
static final Instruction
InstructionConstants.ICONST_4
Deprecated.static final Instruction
InstructionConst.ICONST_5
static final Instruction
InstructionConstants.ICONST_5
Deprecated.static final Instruction
InstructionConst.ICONST_M1
static final Instruction
InstructionConstants.ICONST_M1
Deprecated.static final Instruction[]
InstructionConstants.INSTRUCTIONS
Deprecated.Gets object via its opcode, for immutable instructions like branch instructions entries are set to null.static final Instruction
InstructionConst.LCMP
static final Instruction
InstructionConstants.LCMP
Deprecated.static final Instruction
InstructionConst.LCONST_0
static final Instruction
InstructionConstants.LCONST_0
Deprecated.static final Instruction
InstructionConst.LCONST_1
static final Instruction
InstructionConstants.LCONST_1
Deprecated.static final Instruction
InstructionConst.MONITORENTER
static final Instruction
InstructionConstants.MONITORENTER
Deprecated.static final Instruction
InstructionConst.MONITOREXIT
static final Instruction
InstructionConstants.MONITOREXIT
Deprecated.static final Instruction
InstructionConst.NOP
Predefined instruction objects.static final Instruction
InstructionConstants.NOP
Deprecated.Modifier and TypeMethodDescriptionInstruction.copy()
Use with caution, since 'BranchInstruction's have a 'target' reference which is not copied correctly (only basic types are).InstructionFactory.createAppend
(Type type) InstructionFactory.createCast
(Type srcType, Type destType) 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.InstructionFactory.createConstant
(Object value) Uses PUSH to push a constant value onto the stack.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.final Instruction
InstructionHandle.getInstruction()
PUSH.getInstruction()
SWITCH.getInstruction()
InstructionList.getInstructions()
static Instruction
Instruction.readInstruction
(ByteSequence bytes) Reads an instruction from (byte code) input stream and return the appropriate object.InstructionHandle.swapInstruction
(Instruction i) Temporarily swap the current instruction, without disturbing anything.Modifier and TypeMethodDescriptionInstructionList.append
(Instruction i) Append an instruction to the end of this list.InstructionList.append
(InstructionHandle ih, Instruction i) Append an instruction after instruction (handle) ih contained in this list.InstructionList.append
(Instruction i, CompoundInstruction c) Append a compound instruction, after instruction i.InstructionList.append
(Instruction i, Instruction j) Append a single instruction j after another instruction i, which must be in this list of course!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) InstructionList.insert
(Instruction i) Insert an instruction at start of this list.InstructionList.insert
(InstructionHandle ih, Instruction i) Insert an instruction before instruction (handle) ih contained in this list.InstructionList.insert
(Instruction i, CompoundInstruction c) Insert a compound instruction before instruction i.InstructionList.insert
(Instruction i, Instruction j) Insert a single instruction j before another instruction i, which must be in this list of course!InstructionList.insert
(Instruction i, InstructionList il) Insert another list before Instruction i contained in this list.void
BranchHandle.setInstruction
(Instruction i) Sets new contents.void
InstructionHandle.setInstruction
(Instruction i) Replace current instruction contained in this handle.InstructionHandle.swapInstruction
(Instruction i) Temporarily swap the current instruction, without disturbing anything.ModifierConstructorDescriptionprotected
Create instruction list containing one instruction.