Interface ForwardTransferFunction<V extends AbstractValue<V>,S extends Store<S>>

Type Parameters:
V - the abstract value type to be tracked by the analysis
S - the store type used in the analysis
All Superinterfaces:
NodeVisitor<TransferResult<V,S>,TransferInput<V,S>>, TransferFunction<V,S>
All Known Implementing Classes:
AccumulationTransfer, AliasingTransfer, CalledMethodsTransfer, CFAbstractTransfer, CFTransfer, ConstantPropagationTransfer, FormatterTransfer, I18nFormatterTransfer, IndexAbstractTransfer, InitializationTransfer, InitializedFieldsTransfer, KeyForTransfer, LessThanTransfer, LockTransfer, LowerBoundTransfer, MustCallTransfer, NullnessTransfer, OptionalTransfer, ReachingDefinitionTransfer, RegexTransfer, ResourceLeakTransfer, SameLenTransfer, SearchIndexTransfer, SignatureTransfer, UpperBoundTransfer, ValueTransfer

public interface ForwardTransferFunction<V extends AbstractValue<V>,S extends Store<S>> extends TransferFunction<V,S>
Interface of a forward transfer function for the abstract interpretation used for the forward flow analysis.

Important: The individual transfer functions ( visit*) are allowed to use (and modify) the stores contained in the argument passed; the ownership is transferred from the caller to that function.

  • Method Details

    • initialStore

      S initialStore(UnderlyingAST underlyingAST, List<LocalVariableNode> parameters)
      Returns the initial store to be used by the org.checkerframework.dataflow analysis.
      Parameters:
      underlyingAST - an abstract syntax tree
      parameters - a list of local variable nodes representing formal parameters (if any)
      Returns:
      the initial store