Class InitializationStore<V extends CFAbstractValue<V>,S extends InitializationStore<V,S>>

java.lang.Object
org.checkerframework.framework.flow.CFAbstractStore<V,S>
org.checkerframework.checker.initialization.InitializationStore<V,S>
All Implemented Interfaces:
Store<S>, org.plumelib.util.UniqueId
Direct Known Subclasses:
NullnessStore

public class InitializationStore<V extends CFAbstractValue<V>,S extends InitializationStore<V,S>> extends CFAbstractStore<V,S>
A store that extends CFAbstractStore and additionally tracks which fields of the 'self' reference have been initialized.
See Also:
  • Field Details

    • initializedFields

      protected final Set<VariableElement> initializedFields
      The set of fields that are initialized.
    • invariantFields

      protected final Map<FieldAccess,V extends CFAbstractValue<V>> invariantFields
      The set of fields that have the 'invariant' annotation, and their value.
  • Constructor Details

    • InitializationStore

      public InitializationStore(CFAbstractAnalysis<V,S,?> analysis, boolean sequentialSemantics)
      Creates a new InitializationStore.
      Parameters:
      analysis - the analysis class this store belongs to
      sequentialSemantics - should the analysis use sequential Java semantics?
    • InitializationStore

      public InitializationStore(S other)
      A copy constructor.
  • Method Details