Record Class AccessPathStore<V extends org.checkerframework.errorprone.dataflow.analysis.AbstractValue<V>>
java.lang.Object
java.lang.Record
com.google.errorprone.dataflow.AccessPathStore<V>
- All Implemented Interfaces:
AccessPathValues<V>, org.checkerframework.errorprone.dataflow.analysis.Store<AccessPathStore<V>>
public record AccessPathStore<V extends org.checkerframework.errorprone.dataflow.analysis.AbstractValue<V>>(com.google.common.collect.ImmutableMap<AccessPath, V extends org.checkerframework.errorprone.dataflow.analysis.AbstractValue<V>> heap)
extends Record
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)
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classAccessPathStore.Builder<V extends org.checkerframework.errorprone.dataflow.analysis.AbstractValue<V>>Builder forAccessPathStoreinstances.Nested classes/interfaces inherited from interface org.checkerframework.errorprone.dataflow.analysis.Store
org.checkerframework.errorprone.dataflow.analysis.Store.FlowRule, org.checkerframework.errorprone.dataflow.analysis.Store.Kind -
Constructor Summary
ConstructorsConstructorDescriptionAccessPathStore(com.google.common.collect.ImmutableMap<AccessPath, V> heap) Creates an instance of aAccessPathStorerecord class. -
Method Summary
Modifier and TypeMethodDescriptionbooleancanAlias(org.checkerframework.errorprone.dataflow.expression.JavaExpression a, org.checkerframework.errorprone.dataflow.expression.JavaExpression b) copy()static <V extends org.checkerframework.errorprone.dataflow.analysis.AbstractValue<V>>
AccessPathStore<V> empty()final booleanIndicates whether some other object is "equal to" this one.final inthashCode()Returns a hash code value for this object.com.google.common.collect.ImmutableMap<AccessPath, V> heap()Returns the value of theheaprecord component.leastUpperBound(AccessPathStore<V> other) final StringtoString()Returns a string representation of this record class.valueOfAccessPath(AccessPath path, V defaultValue) visualize(org.checkerframework.errorprone.dataflow.cfg.visualize.CFGVisualizer<?, AccessPathStore<V>, ?> cfgVisualizer) widenedUpperBound(AccessPathStore<V> vAccessPathStore)
-
Constructor Details
-
AccessPathStore
Creates an instance of aAccessPathStorerecord class.- Parameters:
heap- the value for theheaprecord component
-
-
Method Details
-
empty
public static <V extends org.checkerframework.errorprone.dataflow.analysis.AbstractValue<V>> AccessPathStore<V> empty() -
toBuilder
-
valueOfAccessPath
- Specified by:
valueOfAccessPathin interfaceAccessPathValues<V extends org.checkerframework.errorprone.dataflow.analysis.AbstractValue<V>>
-
copy
-
leastUpperBound
-
widenedUpperBound
-
canAlias
public boolean canAlias(org.checkerframework.errorprone.dataflow.expression.JavaExpression a, org.checkerframework.errorprone.dataflow.expression.JavaExpression b) -
visualize
public String visualize(org.checkerframework.errorprone.dataflow.cfg.visualize.CFGVisualizer<?, AccessPathStore<V>, ?> cfgVisualizer) -
toString
-
hashCode
-
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared withObjects::equals(Object,Object).- Specified by:
equalsin interfaceorg.checkerframework.errorprone.dataflow.analysis.Store<V extends org.checkerframework.errorprone.dataflow.analysis.AbstractValue<V>>- Specified by:
equalsin classRecord- Parameters:
o- the object with which to compare- Returns:
trueif this object is the same as theoargument;falseotherwise.
-
heap
Returns the value of theheaprecord component.- Returns:
- the value of the
heaprecord component
-