Uses of Interface org.apache.bcel.generic.StackProducer

Uses in package org.apache.bcel.generic

Classes implementing org.apache.bcel.generic.StackProducer

class
AALOAD - Load reference from array
Stack: ..., arrayref, index -> value
class
ACONST_NULL - Push null reference
Stack: ...
class
ALOAD - Load reference from local variable
Stack: ...
class
ANEWARRAY - Create new array of references
Stack: ..., count -> ..., arrayref
class
Super class for the family of arithmetic instructions.
class
ARRAYLENGTH - Get length of array
Stack: ..., arrayref -> ..., length
class
BALOAD - Load byte or boolean from array
Stack: ..., arrayref, index -> ..., value
class
BIPUSH - Push byte on stack
Stack: ...
class
CALOAD - Load char from array
Stack: ..., arrayref, index -> ..., value
class
CHECKCAST - Check whether object is of given type
Stack: ..., objectref -> ..., objectref
class
Super class for the x2y family of instructions.
class
D2F - Convert double to float
Stack: ..., value.word1, value.word2 -> ..., result
class
D2I - Convert double to int
Stack: ..., value.word1, value.word2 -> ..., result
class
D2L - Convert double to long
Stack: ..., value.word1, value.word2 -> ..., result.word1, result.word2
class
DADD - Add doubles
Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 ->
..., result.word1, result1.word2
class
DALOAD - Load double from array
Stack: ..., arrayref, index -> ..., result.word1, result.word2
class
DCMPG - Compare doubles: value1 > value2
Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 ->
..., result
class
DCMPL - Compare doubles: value1 <32value2
Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 ->
..., result
class
DCONST - Push 0.0 or 1.0, other values cause an exception
Stack: ...
class
DDIV - Divide doubles
Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 ->
..., result.word1, result.word2
class
DLOAD - Load double from local variable
Stack ...
class
DMUL - Multiply doubles
Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 ->
..., result.word1, result.word2
class
DNEG - Negate double
Stack: ..., value.word1, value.word2 -> ..., result.word1, result.word2
class
DREM - Remainder of doubles
Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 ->
..., result.word1, result.word2
class
DSUB - Substract doubles
Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 ->
..., result.word1, result.word2
class
DUP - Duplicate top operand stack word
Stack: ..., word -> ..., word, word
class
DUP2 - Duplicate two top operand stack words
Stack: ..., word2, word1 -> ..., word2, word1, word2, word1
class
F2D - Convert float to double
Stack: ..., value -> ..., result.word1, result.word2
class
F2I - Convert float to int
Stack: ..., value -> ..., result
class
F2L - Convert float to long
Stack: ..., value -> ..., result.word1, result.word2
class
FADD - Add floats
Stack: ..., value1, value2 -> result
class
FALOAD - Load float from array
Stack: ..., arrayref, index -> ..., value
class
FCMPG - Compare floats: value1 > value2
Stack: ..., value1, value2 -> ..., result
class
FCMPL - Compare floats: value1 <32value2
Stack: ..., value1, value2 -> ..., result
class
FCONST - Push 0.0, 1.0 or 2.0, other values cause an exception
Stack: ...
class
FDIV - Divide floats
Stack: ..., value1, value2 -> result
class
FLOAD - Load float from local variable
Stack ...
class
FMUL - Multiply floats
Stack: ..., value1, value2 -> result
class
FNEG - Negate float
Stack: ..., value -> ..., result
class
FREM - Remainder of floats
Stack: ..., value1, value2 -> result
class
FSUB - Substract floats
Stack: ..., value1, value2 -> result
class
GETFIELD - Fetch field from object
Stack: ..., objectref -> ..., value
OR
Stack: ..., objectref -> ..., value.word1, value.word2
class
GETSTATIC - Fetch static field from class
Stack: ..., -> ..., value
OR
Stack: ..., -> ..., value.word1, value.word2
class
I2B - Convert int to byte
Stack: ..., value -> ..., result
class
I2C - Convert int to char
Stack: ..., value -> ..., result
class
I2D - Convert int to double
Stack: ..., value -> ..., result.word1, result.word2
class
I2F - Convert int to float
Stack: ..., value -> ..., result
class
I2L - Convert int to long
Stack: ..., value -> ..., result.word1, result.word2
class
I2S - Convert int to short
Stack: ..., value -> ..., result
class
IADD - Add ints
Stack: ..., value1, value2 -> result
class
IALOAD - Load int from array
Stack: ..., arrayref, index -> ..., value
class
IAND - Bitwise AND int
Stack: ..., value1, value2 -> ..., result
class
ICONST - Push value between -1, ..., 5, other values cause an exception
Stack: ...
class
IDIV - Divide ints
Stack: ..., value1, value2 -> result
class
ILOAD - Load int from local variable onto stack
Stack: ...
class
IMUL - Multiply ints
Stack: ..., value1, value2 -> result
class
Super class for the INVOKExxx family of instructions.
class
INEG - Negate int
Stack: ..., value -> ..., result
class
INSTANCEOF - Determine if object is of given type
Stack: ..., objectref -> ..., result
class
INVOKEINTERFACE - Invoke interface method
Stack: ..., objectref, [arg1, [arg2 ...]] -> ...
class
INVOKESPECIAL - Invoke instance method; special handling for superclass, private and instance initialization method invocations
Stack: ..., objectref, [arg1, [arg2 ...]] -> ...
class
INVOKESTATIC - Invoke a class (static) method
Stack: ..., [arg1, [arg2 ...]] -> ...
class
INVOKEVIRTUAL - Invoke instance method; dispatch based on class
Stack: ..., objectref, [arg1, [arg2 ...]] -> ...
class
IOR - Bitwise OR int
Stack: ..., value1, value2 -> ..., result
class
IREM - Remainder of int
Stack: ..., value1, value2 -> result
class
ISHL - Arithmetic shift left int
Stack: ..., value1, value2 -> ..., result
class
ISHR - Arithmetic shift right int
Stack: ..., value1, value2 -> ..., result
class
ISUB - Substract ints
Stack: ..., value1, value2 -> result
class
IUSHR - Logical shift right int
Stack: ..., value1, value2 -> ..., result
class
IXOR - Bitwise XOR int
Stack: ..., value1, value2 -> ..., result
class
Super class for JSR - Jump to subroutine
class
JSR - Jump to subroutine
class
JSR_W - Jump to subroutine
class
L2D - Convert long to double
Stack: ..., value.word1, value.word2 -> ..., result.word1, result.word2
class
L2F - Convert long to float
Stack: ..., value.word1, value.word2 -> ..., result
class
L2I - Convert long to int
Stack: ..., value.word1, value.word2 -> ..., result
class
LADD - Add longs
Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 ->
..., result.word1, result.word2
class
LALOAD - Load long from array
Stack: ..., arrayref, index -> ..., value1, value2
class
LAND - Bitwise AND longs
Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 ->
..., result.word1, result.word2
class
LCMP - Compare longs:
Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 ->
..., result <= -1, 0, 1>
class
LCONST - Push 0 or 1, other values cause an exception
Stack: ...
class
LDC - Push item from constant pool.
class
LDC2_W - Push long or double from constant pool
Stack: ...
class
LDC_W - Push item from constant pool (wide index)
Stack: ...
class
LDIV - Divide longs
Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 ->
..., result.word1, result.word2
class
LLOAD - Load long from local variable
Stack ...
class
LMUL - Multiply longs
Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 ->
..., result.word1, result.word2
class
LNEG - Negate long
Stack: ..., value.word1, value.word2 -> ..., result.word1, result.word2
class
Denotes an unparameterized instruction to load a value from a local variable, e.g.
class
LOOKUPSWITCH - Switch with unordered set of values
class
LOR - Bitwise OR long
Stack: ..., value1, value2 -> ..., result
class
LREM - Remainder of long
Stack: ..., value1, value2 -> result
class
LSHL - Arithmetic shift left long
Stack: ..., value1.word1, value1.word2, value2 -> ..., result.word1, result.word2
class
LSHR - Arithmetic shift right long
Stack: ..., value1.word1, value1.word2, value2 -> ..., result.word1, result.word2
class
LSUB - Substract longs
Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 ->
..., result.word1, result.word2
class
LUSHR - Logical shift right long
Stack: ..., value1, value2 -> ..., result
class
LXOR - Bitwise XOR long
Stack: ..., value1, value2 -> ..., result
class
NEW - Create new object
Stack: ...
class
NEWARRAY - Create new array of basic type (int, short, ...)
Stack: ..., count -> ..., arrayref
type must be one of T_INT, T_SHORT, ...
class
SALOAD - Load short from array
Stack: ..., arrayref, index -> ..., value
class
Select - Abstract super class for LOOKUPSWITCH and TABLESWITCH instructions.
class
SIPUSH - Push short
Stack: ...
class
SWAP - Swa top operand stack word
Stack: ..., word2, word1 -> ..., word1, word2
class
TABLESWITCH - Switch within given range of values, i.e., low..high

Methods with parameter type org.apache.bcel.generic.StackProducer

void
void

Uses in package org.apache.bcel.verifier.structurals

Methods with parameter type org.apache.bcel.generic.StackProducer

void
Ensures the general preconditions of a StackProducer instance.