Package org.checkerframework.dataflow.analysis
package org.checkerframework.dataflow.analysis

ClassDescriptionImplementation of common features for
BackwardAnalysisImpl
andForwardAnalysisImpl
.A worklist is a priority queue of blocks in which the order is given by depthfirst ordering to place nonloop predecessors ahead of successors.AbstractValue<V extends AbstractValue<V>>An abstract value used in the org.checkerframework.dataflow analysis.This interface defines a dataflow analysis, given a control flow graph and a transfer function.In calls toAnalysis#runAnalysisFor
, whether to return the store before or after the given node.The direction of an analysis instance.AnAnalysisResult
represents the result of a org.checkerframework.dataflow analysis by providing the abstract values given a node or a tree.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.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.Interface of a backward transfer function for the abstract interpretation used for the backward flow analysis.Implementation of aTransferResult
with two nonexceptional stores.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.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.Interface of a forward transfer function for the abstract interpretation used for the forward flow analysis.Implementation of aTransferResult
with just one nonexceptional store.A store is used to keep track of the information that the org.checkerframework.dataflow analysis has accumulated at any given point in time.A flow rule describes how stores flow along one edge between basic blocks.Interface of a transfer function for the abstract interpretation used for the flow analysis.TransferInput
is used as the input type of the individual transfer functions of aForwardTransferFunction
or aBackwardTransferFunction
.TransferResult
is used as the result type of the individual transfer functions of aTransferFunction
.UnusedAbstractValue is an AbstractValue that is not involved in any lub computation during dataflow analysis.