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

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

Subinterfaces of StackConsumer in org.apache.bcel.generic
`interface` `PopInstruction` Denotes an unparameterized instruction to pop a value on top from the stack, such as ISTORE, POP, PUTSTATIC.

Classes in org.apache.bcel.generic that implement StackConsumer
`class` `AASTORE` AASTORE - Store into reference array Stack: ..., arrayref, index, value -> ...
`class` `ARETURN` ARETURN - Return reference from method Stack: ..., objectref -> <empty>
`class` `ArithmeticInstruction` Super class for the family of arithmetic instructions.
`class` `ASTORE` ASTORE - Store reference into local variable Stack ..., objectref -> ...
`class` `BASTORE` BASTORE - Store into byte or boolean array Stack: ..., arrayref, index, value -> ...
`class` `CASTORE` CASTORE - Store into char 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` `DASTORE` DASTORE - Store into double array Stack: ..., arrayref, index, value.word1, value.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` `DDIV` DDIV - Divide doubles Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 -> ..., result.word1, result.word2
`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` `DRETURN` DRETURN - Return double from method Stack: ..., value.word1, value.word2 -> <empty>
`class` `DSTORE` DSTORE - Store double into local variable Stack: ..., value.word1, value.word2 -> ...
`class` `DSUB` DSUB - Substract doubles Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 -> ..., result.word1, result.word2
`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` `FASTORE` FASTORE - Store into float 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` `FDIV` FDIV - Divide floats Stack: ..., value1, value2 -> result
`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` `FRETURN` FRETURN - Return float from method Stack: ..., value -> <empty>
`class` `FSTORE` FSTORE - Store float into local variable Stack: ..., value -> ...
`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` `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` `IAND` IAND - Bitwise AND int Stack: ..., value1, value2 -> ..., result
`class` `IASTORE` IASTORE - Store into int array Stack: ..., arrayref, index, value -> ...
`class` `IDIV` IDIV - Divide ints Stack: ..., value1, value2 -> result
`class` `IF_ACMPEQ` IF_ACMPEQ - Branch if reference comparison succeeds Stack: ..., value1, value2 -> ...
`class` `IF_ACMPNE` IF_ACMPNE - Branch if reference comparison doesn't succeed Stack: ..., value1, value2 -> ...
`class` `IF_ICMPEQ` IF_ICMPEQ - Branch if int comparison succeeds Stack: ..., value1, value2 -> ...
`class` `IF_ICMPGE` IF_ICMPGE - Branch if int comparison succeeds Stack: ..., value1, value2 -> ...
`class` `IF_ICMPGT` IF_ICMPGT - Branch if int comparison succeeds Stack: ..., value1, value2 -> ...
`class` `IF_ICMPLE` IF_ICMPLE - Branch if int comparison succeeds Stack: ..., value1, value2 -> ...
`class` `IF_ICMPLT` IF_ICMPLT - Branch if int comparison succeeds Stack: ..., value1, value2 -> ...
`class` `IF_ICMPNE` IF_ICMPNE - Branch if int comparison doesn't succeed Stack: ..., value1, value2 -> ...
`class` `IFEQ` IFEQ - Branch if int comparison with zero succeeds Stack: ..., value -> ...
`class` `IFGE` IFGE - Branch if int comparison with zero succeeds Stack: ..., value -> ...
`class` `IFGT` IFGT - Branch if int comparison with zero succeeds Stack: ..., value -> ...
`class` `IfInstruction` Super class for the IFxxx family of instructions.
`class` `IFLE` IFLE - Branch if int comparison with zero succeeds Stack: ..., value -> ...
`class` `IFLT` IFLT - Branch if int comparison with zero succeeds Stack: ..., value -> ...
`class` `IFNE` IFNE - Branch if int comparison with zero succeeds Stack: ..., value -> ...
`class` `IFNONNULL` IFNONNULL - Branch if reference is not null Stack: ..., reference -> ...
`class` `IFNULL` IFNULL - Branch if reference is not null Stack: ..., reference -> ...
`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` `IRETURN` IRETURN - Return int from method Stack: ..., value -> <empty>
`class` `ISHL` ISHL - Arithmetic shift left int Stack: ..., value1, value2 -> ..., result
`class` `ISHR` ISHR - Arithmetic shift right int Stack: ..., value1, value2 -> ..., result
`class` `ISTORE` ISTORE - Store int from stack into local variable Stack: ..., value -> ...
`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` `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` `LAND` LAND - Bitwise AND longs Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 -> ..., result.word1, result.word2
`class` `LASTORE` LASTORE - Store into long array Stack: ..., arrayref, index, value.word1, value.word2 -> ...
`class` `LCMP` LCMP - Compare longs: Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 -> ..., result <= -1, 0, 1>
`class` `LDIV` LDIV - Divide longs Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 -> ..., result.word1, result.word2
`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` `LOR` LOR - Bitwise OR long Stack: ..., value1, value2 -> ..., result
`class` `LREM` LREM - Remainder of long Stack: ..., value1, value2 -> result
`class` `LRETURN` LRETURN - Return long from method Stack: ..., value.word1, value.word2 -> <empty>
`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` `LSTORE` LSTORE - Store long into local variable Stack: ..., value.word1, value.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` `MONITORENTER` MONITORENTER - Enter monitor for object Stack: ..., objectref -> ...
`class` `MONITOREXIT` MONITOREXIT - Exit monitor for object Stack: ..., objectref -> ...
`class` `POP` POP - Pop top operand stack word Stack: ..., word -> ...
`class` `POP2` POP2 - Pop two top operand stack words Stack: ..., word2, word1 -> ...
`class` `PUTFIELD` PUTFIELD - Put field in object Stack: ..., objectref, value -> ...
`class` `PUTSTATIC` PUTSTATIC - Put static field in class Stack: ..., value -> ...
`class` `RETURN` RETURN - Return from void method Stack: ...
`class` `ReturnInstruction` Super class for the xRETURN family of instructions.
`class` `SASTORE` SASTORE - Store into short array Stack: ..., arrayref, index, value -> ...
`class` `StoreInstruction` Denotes an unparameterized instruction to store a value into a local variable, e.g.
`class` `SWAP` SWAP - Swa top operand stack word Stack: ..., word2, word1 -> ..., word1, word2

Methods in org.apache.bcel.generic with parameters of type StackConsumer
`void` `Visitor.visitStackConsumer(StackConsumer obj)`
`void` `EmptyVisitor.visitStackConsumer(StackConsumer obj)`

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

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

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