| Interface | Description |
|---|---|
| AbstractValue<V extends AbstractValue<V>> |
An abstract value used in the org.checkerframework.dataflow analysis.
|
| Analysis<V extends AbstractValue<V>,S extends Store<S>,T extends TransferFunction<V,S>> |
This interface defines a dataflow analysis, given a control flow graph and a transfer function.
|
| BackwardAnalysis<V extends AbstractValue<V>,S extends Store<S>,T extends BackwardTransferFunction<V,S>> |
This interface defines a backward analysis, given a control flow graph and a backward transfer
function.
|
| BackwardTransferFunction<V extends AbstractValue<V>,S extends Store<S>> |
Interface of a backward transfer function for the abstract interpretation used for the backward
flow analysis.
|
| ForwardAnalysis<V extends AbstractValue<V>,S extends Store<S>,T extends ForwardTransferFunction<V,S>> |
This interface defines a forward analysis, given a control flow graph and a forward transfer
function.
|
| ForwardTransferFunction<V extends AbstractValue<V>,S extends Store<S>> |
Interface of a forward transfer function for the abstract interpretation used for the forward
flow analysis.
|
| Store<S extends Store<S>> |
A store is used to keep track of the information that the org.checkerframework.dataflow analysis
has accumulated at any given point in time.
|
| TransferFunction<V extends AbstractValue<V>,S extends Store<S>> |
Interface of a transfer function for the abstract interpretation used for the flow analysis.
|
| Class | Description |
|---|---|
| AbstractAnalysis<V extends AbstractValue<V>,S extends Store<S>,T extends TransferFunction<V,S>> |
Implementation of common features for
BackwardAnalysisImpl and ForwardAnalysisImpl. |
| AbstractAnalysis.Worklist |
A worklist is a priority queue of blocks in which the order is given by depth-first ordering
to place non-loop predecessors ahead of successors.
|
| AnalysisResult<V extends AbstractValue<V>,S extends Store<S>> |
An
AnalysisResult represents the result of a org.checkerframework.dataflow analysis by
providing the abstract values given a node or a tree. |
| BackwardAnalysisImpl<V extends AbstractValue<V>,S extends Store<S>,T extends BackwardTransferFunction<V,S>> |
An implementation of a backward analysis to solve a org.checkerframework.dataflow problem given a
control flow graph and a backward transfer function.
|
| ConditionalTransferResult<V extends AbstractValue<V>,S extends Store<S>> |
Implementation of a
TransferResult with two non-exceptional stores: one for the 'then'
edge and one for 'else'. |
| FlowExpressions |
Collection of classes and helper functions to represent Java expressions about which the
org.checkerframework.dataflow analysis can possibly infer facts.
|
| FlowExpressions.ArrayAccess |
An array access.
|
| FlowExpressions.ArrayCreation |
FlowExpression for array creations.
|
| FlowExpressions.BinaryOperation |
FlowExpression.Receiver for binary operations.
|
| FlowExpressions.ClassName |
A ClassName represents the occurrence of a class as part of a static field access or method
invocation.
|
| FlowExpressions.FieldAccess | |
| FlowExpressions.LocalVariable | |
| FlowExpressions.MethodCall |
A call to a @Deterministic method.
|
| FlowExpressions.Receiver |
This class represents a Java expression and its type.
|
| FlowExpressions.ThisReference | |
| FlowExpressions.Unknown |
Stands for any expression that the Dataflow Framework lacks explicit support for.
|
| FlowExpressions.ValueLiteral |
FlowExpression.Receiver for literals.
|
| ForwardAnalysisImpl<V extends AbstractValue<V>,S extends Store<S>,T extends ForwardTransferFunction<V,S>> |
An implementation of a forward analysis to solve a org.checkerframework.dataflow problem given a
control flow graph and a forward transfer function.
|
| RegularTransferResult<V extends AbstractValue<V>,S extends Store<S>> |
Implementation of a
TransferResult with just one non-exceptional store. |
| TransferInput<V extends AbstractValue<V>,S extends Store<S>> |
TransferInput is used as the input type of the individual transfer functions of a ForwardTransferFunction or a BackwardTransferFunction. |
| TransferResult<V extends AbstractValue<V>,S extends Store<S>> |
TransferResult is used as the result type of the individual transfer functions of a
TransferFunction. |
| Enum | Description |
|---|---|
| Analysis.Direction |
The direction of an analysis instance.
|
| Store.FlowRule |
A flow rule describes how stores flow along one edge between basic blocks.
|
| Store.Kind |