Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV NEXT | FRAMES NO FRAMES

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

Packages that use StackProducer
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.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 StackProducer in org.apache.bcel.generic

Subinterfaces of StackProducer in org.apache.bcel.generic
`interface` | `ConstantPushInstruction` Denotes a push instruction that produces a literal on the stack such as SIPUSH, BIPUSH, ICONST, etc.
`interface` | `PushInstruction` Denotes an unparameterized instruction to produce a value on top of the stack, such as ILOAD, LDC, SIPUSH, DUP, ICONST, etc.

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

Methods in org.apache.bcel.generic with parameters of type StackProducer
`void` | `Visitor.visitStackProducer(StackProducer obj)`
`void` | `EmptyVisitor.visitStackProducer(StackProducer obj)`

Uses of StackProducer in org.apache.bcel.verifier.structurals

Methods in org.apache.bcel.verifier.structurals with parameters of type StackProducer
`void` | `InstConstraintVisitor.visitStackProducer(StackProducer o)` Ensures the general preconditions of a StackProducer instance.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV NEXT | FRAMES NO FRAMES

Copyright © 2002-2003 Apache Software Foundation. All Rights Reserved.