# Package org.apache.bcel.verifier.structurals

package 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.

## Package Specification

This package contains a PassVerifier class for use with the JustIce verifier and its utility classes. Only the pass performing what Sun calls "Structural Constraints on Java Virtual Machine Code" has a PassVerifier class here. JustIce calls this pass "Pass 3b".

- Related Packages
  Package
  Description
  org.apache.bcel.verifier
  BCEL's verifier JustIce is there to help you dump correct Java class files created or modified with BCEL.
  org.apache.bcel.verifier.exc
  Exception classes used by JustIce, mostly used internally.
  org.apache.bcel.verifier.statics
  PassVerifier classes used internally by JustIce.
- Class
  Description
  ControlFlowGraph
  This class represents a control flow graph of a method.
  ExceptionHandler
  This class represents an exception handler; that is, an ObjectType representing a subclass of `Throwable` and the instruction the handler starts off (represented by an InstructionContext).
  ExceptionHandlers
  This class allows easy access to ExceptionHandler objects.
  ExecutionVisitor
  This Visitor class may be used for a type-based Java Virtual Machine simulation.
  Frame
  This class represents a JVM execution frame; that means, a local variable array and an operand stack.
  GenericArray
  A placeholder class that can be used to create an ObjectType of which has some of the properties arrays have.
  InstConstraintVisitor
  A Visitor class testing for valid preconditions of JVM instructions.
  InstructionContext
  An InstructionContext offers convenient access to information like control flow successors and such.
  LocalVariables
  This class implements an array of local variables used for symbolic JVM simulation.
  OperandStack
  This class implements a stack used for symbolic JVM stack simulation.
  Pass3bVerifier
  This PassVerifier verifies a method of class file according to pass 3, so-called structural verification as described in The Java Virtual Machine Specification, 2nd edition.
  Subroutine
  This interface defines properties of JVM bytecode subroutines.
  Subroutines
  Instances of this class contain information about the subroutines found in a code array of a method.
  UninitializedObjectType
  This class represents an uninitialized object type; see The Java Virtual Machine Specification, Second Edition, page 147: 4.9.4 for more details.