Class AccessPathStore<V extends org.checkerframework.errorprone.dataflow.analysis.AbstractValue<V>>

java.lang.Object
com.google.errorprone.dataflow.AccessPathStore<V>
All Implemented Interfaces:
AccessPathValues<V>, org.checkerframework.errorprone.dataflow.analysis.Store<AccessPathStore<V>>

public abstract class AccessPathStore<V extends org.checkerframework.errorprone.dataflow.analysis.AbstractValue<V>> extends Object implements org.checkerframework.errorprone.dataflow.analysis.Store<AccessPathStore<V>>, AccessPathValues<V>
Immutable map from local variables or heap access paths to their AbstractValue

To derive a new instance, create a builder from an old instance. To start from scratch, call empty().

Author:
bennostein@google.com (Benno Stein)
  • Constructor Details

    • AccessPathStore

      public AccessPathStore()
  • Method Details

    • heap

      public abstract com.google.common.collect.ImmutableMap<AccessPath,V> heap()
    • empty

      public static <V extends org.checkerframework.errorprone.dataflow.analysis.AbstractValue<V>> AccessPathStore<V> empty()
    • toBuilder

      public AccessPathStore.Builder<V> toBuilder()
    • valueOfAccessPath

      public V valueOfAccessPath(AccessPath path, V defaultValue)
      Specified by:
      valueOfAccessPath in interface AccessPathValues<V extends org.checkerframework.errorprone.dataflow.analysis.AbstractValue<V>>
    • copy

      public AccessPathStore<V> copy()
      Specified by:
      copy in interface org.checkerframework.errorprone.dataflow.analysis.Store<V extends org.checkerframework.errorprone.dataflow.analysis.AbstractValue<V>>
    • leastUpperBound

      public AccessPathStore<V> leastUpperBound(AccessPathStore<V> other)
      Specified by:
      leastUpperBound in interface org.checkerframework.errorprone.dataflow.analysis.Store<V extends org.checkerframework.errorprone.dataflow.analysis.AbstractValue<V>>
    • widenedUpperBound

      public AccessPathStore<V> widenedUpperBound(AccessPathStore<V> vAccessPathStore)
      Specified by:
      widenedUpperBound in interface org.checkerframework.errorprone.dataflow.analysis.Store<V extends org.checkerframework.errorprone.dataflow.analysis.AbstractValue<V>>
    • canAlias

      public boolean canAlias(org.checkerframework.errorprone.dataflow.expression.JavaExpression a, org.checkerframework.errorprone.dataflow.expression.JavaExpression b)
      Specified by:
      canAlias in interface org.checkerframework.errorprone.dataflow.analysis.Store<V extends org.checkerframework.errorprone.dataflow.analysis.AbstractValue<V>>
    • visualize

      public String visualize(org.checkerframework.errorprone.dataflow.cfg.visualize.CFGVisualizer<?,AccessPathStore<V>,?> cfgVisualizer)
      Specified by:
      visualize in interface org.checkerframework.errorprone.dataflow.analysis.Store<V extends org.checkerframework.errorprone.dataflow.analysis.AbstractValue<V>>