Class ReachingDefinitionStore
java.lang.Object
org.checkerframework.dataflow.reachingdef.ReachingDefinitionStore
- All Implemented Interfaces:
- Store<ReachingDefinitionStore>
A reaching definition store contains a set of reaching definitions represented by
 ReachingDefinitionNode
- 
Nested Class SummaryNested classes/interfaces inherited from interface org.checkerframework.dataflow.analysis.StoreStore.FlowRule, Store.Kind
- 
Constructor SummaryConstructorsConstructorDescriptionCreate a new ReachDefinitionStore.ReachingDefinitionStore(Set<ReachingDefinitionNode> reachingDefSet) Create a new ReachDefinitionStore.
- 
Method SummaryModifier and TypeMethodDescriptionbooleanCan the objectsaandbbe aliases? Returns a conservative answer (i.e., returnstrueif not enough information is available to determine aliasing).copy()Returns an exact copy of this store.booleanReturns true if this is equal to the given argument.inthashCode()voidRemove the information of a reaching definition from the reaching definition set.Compute the least upper bound of two stores.voidAdd a reaching definition to the reaching definition set.toString()visualize(CFGVisualizer<?, ReachingDefinitionStore, ?> viz) Delegate visualization responsibility to a visualizer.widenedUpperBound(ReachingDefinitionStore previous) Compute an upper bound of two stores that is wider than the least upper bound of the two stores.
- 
Constructor Details- 
ReachingDefinitionStorepublic ReachingDefinitionStore()Create a new ReachDefinitionStore.
- 
ReachingDefinitionStoreCreate a new ReachDefinitionStore.- Parameters:
- reachingDefSet- a set of reaching definition nodes. The parameter is captured and the caller should not retain an alias.
 
 
- 
- 
Method Details- 
killDefRemove the information of a reaching definition from the reaching definition set.- Parameters:
- defTarget- target of a reaching definition
 
- 
putDefAdd a reaching definition to the reaching definition set.- Parameters:
- def- a reaching definition
 
- 
equalsDescription copied from interface:StoreReturns true if this is equal to the given argument.- Specified by:
- equalsin interface- Store<ReachingDefinitionStore>
- Overrides:
- equalsin class- Object
- Parameters:
- obj- the object to compare against this
- Returns:
- true if this is equal to the given argument
 
- 
hashCodepublic int hashCode()
- 
copyDescription copied from interface:StoreReturns an exact copy of this store.- Specified by:
- copyin interface- Store<ReachingDefinitionStore>
- Returns:
- an exact copy of this store
 
- 
leastUpperBoundDescription copied from interface:StoreCompute the least upper bound of two stores.Important: This method must fulfill the following contract: - Does not change this.
- Does not change other.
- Returns a fresh object which is not aliased yet.
- Returns an object of the same (dynamic) type as this, even if the signature is more permissive.
- Is commutative.
 - Specified by:
- leastUpperBoundin interface- Store<ReachingDefinitionStore>
 
- Does not change 
- 
widenedUpperBoundDescription copied from interface:StoreCompute an upper bound of two stores that is wider than the least upper bound of the two stores. Used to jump to a higher abstraction to allow faster termination of the fixed point computations inAnalysis.previousmust be the previous store.A particular analysis might not require widening and should implement this method by calling leastUpperBound. Important: This method must fulfill the following contract: - Does not change this.
- Does not change previous.
- Returns a fresh object which is not aliased yet.
- Returns an object of the same (dynamic) type as this, even if the signature is more permissive.
- Is commutative.
 - Specified by:
- widenedUpperBoundin interface- Store<ReachingDefinitionStore>
- Parameters:
- previous- must be the previous store
 
- Does not change 
- 
canAliasDescription copied from interface:StoreCan the objectsaandbbe aliases? Returns a conservative answer (i.e., returnstrueif not enough information is available to determine aliasing).- Specified by:
- canAliasin interface- Store<ReachingDefinitionStore>
 
- 
visualizeDescription copied from interface:StoreDelegate visualization responsibility to a visualizer.- Specified by:
- visualizein interface- Store<ReachingDefinitionStore>
- Parameters:
- viz- the visualizer to visualize this store
- Returns:
- the String representation of this store
 
- 
toString
 
-