Top Description Interfaces Classes
[default module]

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

Interface Summary

Modifier and TypeInterface and Description
public interface
InstructionContext

An InstructionContext offers convenient access to information like control flow successors and such.

public interface
Subroutine

This interface defines properties of JVM bytecode subroutines.

Class Summary

Modifier and TypeClass and Description
public class
ControlFlowGraph

This class represents a control flow graph of a method.

public class
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).

public class
ExceptionHandlers

This class allows easy access to ExceptionHandler objects.

public class
ExecutionVisitor

This Visitor class may be used for a type-based Java Virtual Machine simulation.

public class
Frame

This class represents a JVM execution frame; that means, a local variable array and an operand stack.

public class
GenericArray

A placeholder class that can be used to create an ObjectType of which has some of the properties arrays have.

public class
InstConstraintVisitor

A Visitor class testing for valid preconditions of JVM instructions.

public class
LocalVariables

This class implements an array of local variables used for symbolic JVM simulation.

public class
OperandStack

This class implements a stack used for symbolic JVM stack simulation.

public class
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.

public class
Subroutines

Instances of this class contain information about the subroutines found in a code array of a method.

public class
UninitializedObjectType

Deprecated as a consequence of Constants being deprecated.
This class represents an uninitialized object type; see The Java Virtual Machine Specification, Second Edition, page 147: 4.9.4 for more details.