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

Packages that use StackConsumer
Package
Description
org.apache.bcel.generic
Generic part of the Apache Byte Code Engineering Library (BCEL), classes to dynamically modify class objects and byte code instructions.
org.apache.bcel.verifier.structurals
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
  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
  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`
  `ATHROW`
  ATHROW - Throw exception
  `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.
  `final 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, for example ISTORE.
  `class`
  `SWAP`
  SWAP - Swa top operand stack word
  `class`
  `TABLESWITCH`
  TABLESWITCH - Switch within given range of values, that is, low..high
  Methods in org.apache.bcel.generic with parameters of type StackConsumer
  Modifier and Type
  Method
  Description
  `void`
  EmptyVisitor.`visitStackConsumer(StackConsumer obj)`
  `void`
  Visitor.`visitStackConsumer(StackConsumer obj)`
  Visits a StackConsumer.

- ## 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
  Description
  `void`
  InstConstraintVisitor.`visitStackConsumer(StackConsumer o)`
  Ensures the general preconditions of a StackConsumer instance.