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

- Packages that use StackConsumer
  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.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
    Modifier and Type | Interface and Description
    --- | ---
    `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
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AASTORE` AASTORE - Store into reference array
    `class` | `ANEWARRAY` ANEWARRAY - Create new array of references
    `class` | `ARETURN` ARETURN - Return reference from method
    `class` | `ArithmeticInstruction` Super class for the family of arithmetic instructions.
    `class` | `ARRAYLENGTH` ARRAYLENGTH - Get length of array
    `class` | `ASTORE` ASTORE - Store reference into local variable
    `class` | `BASTORE` BASTORE - Store into byte or boolean array
    `class` | `CASTORE` CASTORE - Store into char array
    `class` | `CHECKCAST` CHECKCAST - Check whether object is of given type
    `class` | `ConversionInstruction` Super class for the x2y family of instructions.
    `class` | `D2F` D2F - Convert double to float
    `class` | `D2I` D2I - Convert double to int
    `class` | `D2L` D2L - Convert double to long
    `class` | `DADD` DADD - Add doubles
    `class` | `DASTORE` DASTORE - Store into double array
    `class` | `DCMPG` DCMPG - Compare doubles: value1 > value2
    `class` | `DCMPL` DCMPL - Compare doubles: value1 < value2
    `class` | `DDIV` DDIV - Divide doubles
    `class` | `DMUL` DMUL - Multiply doubles
    `class` | `DNEG` DNEG - Negate double
    `class` | `DREM` DREM - Remainder of doubles
    `class` | `DRETURN` DRETURN - Return double from method
    `class` | `DSTORE` DSTORE - Store double into local variable
    `class` | `DSUB` DSUB - Substract doubles
    `class` | `F2D` F2D - Convert float to double
    `class` | `F2I` F2I - Convert float to int
    `class` | `F2L` F2L - Convert float to long
    `class` | `FADD` FADD - Add floats
    `class` | `FASTORE` FASTORE - Store into float array
    `class` | `FCMPG` FCMPG - Compare floats: value1 > value2
    `class` | `FCMPL` FCMPL - Compare floats: value1 < value2
    `class` | `FDIV` FDIV - Divide floats
    `class` | `FMUL` FMUL - Multiply floats
    `class` | `FNEG` FNEG - Negate float
    `class` | `FREM` FREM - Remainder of floats
    `class` | `FRETURN` FRETURN - Return float from method
    `class` | `FSTORE` FSTORE - Store float into local variable
    `class` | `FSUB` FSUB - Substract floats
    `class` | `GETFIELD` GETFIELD - Fetch field from object
    `class` | `I2B` I2B - Convert int to byte
    `class` | `I2C` I2C - Convert int to char
    `class` | `I2D` I2D - Convert int to double
    `class` | `I2F` I2F - Convert int to float
    `class` | `I2L` I2L - Convert int to long
    `class` | `I2S` I2S - Convert int to short
    `class` | `IADD` IADD - Add ints
    `class` | `IAND` IAND - Bitwise AND int
    `class` | `IASTORE` IASTORE - Store into int array
    `class` | `IDIV` IDIV - Divide ints
    `class` | `IF_ACMPEQ` IF_ACMPEQ - Branch if reference comparison succeeds
    `class` | `IF_ACMPNE` IF_ACMPNE - Branch if reference comparison doesn't succeed
    `class` | `IF_ICMPEQ` IF_ICMPEQ - Branch if int comparison succeeds
    `class` | `IF_ICMPGE` IF_ICMPGE - Branch if int comparison succeeds
    `class` | `IF_ICMPGT` IF_ICMPGT - Branch if int comparison succeeds
    `class` | `IF_ICMPLE` IF_ICMPLE - Branch if int comparison succeeds
    `class` | `IF_ICMPLT` IF_ICMPLT - Branch if int comparison succeeds
    `class` | `IF_ICMPNE` IF_ICMPNE - Branch if int comparison doesn't succeed
    `class` | `IFEQ` IFEQ - Branch if int comparison with zero succeeds
    `class` | `IFGE` IFGE - Branch if int comparison with zero succeeds
    `class` | `IFGT` IFGT - Branch if int comparison with zero succeeds
    `class` | `IfInstruction` Super class for the IFxxx family of instructions.
    `class` | `IFLE` IFLE - Branch if int comparison with zero succeeds
    `class` | `IFLT` IFLT - Branch if int comparison with zero succeeds
    `class` | `IFNE` IFNE - Branch if int comparison with zero succeeds
    `class` | `IFNONNULL` IFNONNULL - Branch if reference is not null
    `class` | `IFNULL` IFNULL - Branch if reference is not null
    `class` | `IMUL` IMUL - Multiply ints
    `class` | `INEG` INEG - Negate int
    `class` | `INSTANCEOF` INSTANCEOF - Determine if object is of given type
    `class` | `INVOKEDYNAMIC` Class for INVOKEDYNAMIC.
    `class` | `InvokeInstruction` Super class for the INVOKExxx family of instructions.
    `class` | `INVOKEINTERFACE` INVOKEINTERFACE - Invoke interface method
    `class` | `INVOKESPECIAL` INVOKESPECIAL - Invoke instance method; special handling for superclass, private and instance initialization method invocations
    `class` | `INVOKESTATIC` INVOKESTATIC - Invoke a class (static) method
    `class` | `INVOKEVIRTUAL` INVOKEVIRTUAL - Invoke instance method; dispatch based on class
    `class` | `IOR` IOR - Bitwise OR int
    `class` | `IREM` IREM - Remainder of int
    `class` | `IRETURN` IRETURN - Return int from method
    `class` | `ISHL` ISHL - Arithmetic shift left int
    `class` | `ISHR` ISHR - Arithmetic shift right int
    `class` | `ISTORE` ISTORE - Store int from stack into local variable
    `class` | `ISUB` ISUB - Substract ints
    `class` | `IUSHR` IUSHR - Logical shift right int
    `class` | `IXOR` IXOR - Bitwise XOR int
    `class` | `L2D` L2D - Convert long to double
    `class` | `L2F` L2F - Convert long to float
    `class` | `L2I` L2I - Convert long to int
    `class` | `LADD` LADD - Add longs
    `class` | `LAND` LAND - Bitwise AND longs
    `class` | `LASTORE` LASTORE - Store into long array
    `class` | `LCMP` LCMP - Compare longs:
    `class` | `LDIV` LDIV - Divide longs
    `class` | `LMUL` LMUL - Multiply longs
    `class` | `LNEG` LNEG - Negate long
    `class` | `LOOKUPSWITCH` LOOKUPSWITCH - Switch with unordered set of values
    `class` | `LOR` LOR - Bitwise OR long
    `class` | `LREM` LREM - Remainder of long
    `class` | `LRETURN` LRETURN - Return long from method
    `class` | `LSHL` LSHL - Arithmetic shift left long
    `class` | `LSHR` LSHR - Arithmetic shift right long
    `class` | `LSTORE` LSTORE - Store long into local variable
    `class` | `LSUB` LSUB - Substract longs
    `class` | `LUSHR` LUSHR - Logical shift right long
    `class` | `LXOR` LXOR - Bitwise XOR long
    `class` | `MONITORENTER` MONITORENTER - Enter monitor for object
    `class` | `MONITOREXIT` MONITOREXIT - Exit monitor for object
    `class` | `POP` POP - Pop top operand stack word
    `class` | `POP2` POP2 - Pop two top operand stack words
    `class` | `PUTFIELD` PUTFIELD - Put field in object
    `class` | `PUTSTATIC` PUTSTATIC - Put static field in class
    `class` | `RETURN` RETURN - Return from void method
    `class` | `ReturnInstruction` Super class for the xRETURN family of instructions.
    `class` | `SASTORE` SASTORE - Store into short array
    `class` | `Select` Select - Abstract super class for LOOKUPSWITCH and TABLESWITCH instructions.
    `class` | `StoreInstruction` Denotes an unparameterized instruction to store a value into a local variable, e.g.
    `class` | `SWAP` SWAP - Swa top operand stack word
    `class` | `TABLESWITCH` TABLESWITCH - Switch within given range of values, i.e., low..high

    Methods in org.apache.bcel.generic with parameters of type StackConsumer
    Modifier and Type | Method and Description
    --- | ---
    `void` | EmptyVisitor.`visitStackConsumer(StackConsumer obj)`
    `void` | Visitor.`visitStackConsumer(StackConsumer obj)`

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

    Methods in org.apache.bcel.verifier.structurals with parameters of type StackConsumer
    Modifier and Type | Method and Description
    --- | ---
    `void` | InstConstraintVisitor.`visitStackConsumer(StackConsumer o)` Ensures the general preconditions of a StackConsumer instance.

Copyright © 2004–2022 The Apache Software Foundation. All rights reserved.