Class LiveVarStore
java.lang.Object
org.checkerframework.dataflow.livevariable.LiveVarStore
- All Implemented Interfaces:
- Store<LiveVarStore>
A live variable store contains a set of live variables represented by nodes.
- 
Nested Class SummaryNested classes/interfaces inherited from interface org.checkerframework.dataflow.analysis.StoreStore.FlowRule, Store.Kind
- 
Constructor SummaryConstructorsConstructorDescriptionCreate a new LiveVarStore.LiveVarStore(Set<LiveVarNode> liveVarNodeSet) Create a new LiveVarStore.
- 
Method SummaryModifier and TypeMethodDescriptionvoidaddUseInExpression(Node expression) Add the information of live variables in an expression to the live variable set.booleanCan 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()voidkillLiveVar(LiveVarNode variable) Remove the information of a live variable from the live variable set.leastUpperBound(LiveVarStore other) Compute the least upper bound of two stores.voidputLiveVar(LiveVarNode variable) Add the information of a live variable into the live variable set.toString()visualize(CFGVisualizer<?, LiveVarStore, ?> viz) Delegate visualization responsibility to a visualizer.widenedUpperBound(LiveVarStore previous) It should not be called since it is not used by the backward analysis.
- 
Constructor Details- 
LiveVarStorepublic LiveVarStore()Create a new LiveVarStore.
- 
LiveVarStoreCreate a new LiveVarStore.- Parameters:
- liveVarNodeSet- the set of live variable nodes. The parameter is captured and the caller should not retain an alias.
 
 
- 
- 
Method Details- 
putLiveVarAdd the information of a live variable into the live variable set.- Parameters:
- variable- a live variable
 
- 
killLiveVarRemove the information of a live variable from the live variable set.- Parameters:
- variable- a live variable
 
- 
addUseInExpressionAdd the information of live variables in an expression to the live variable set.- Parameters:
- expression- a node
 
- 
equalsDescription copied from interface:StoreReturns true if this is equal to the given argument.- Specified by:
- equalsin interface- Store<LiveVarStore>
- 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<LiveVarStore>
- 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<LiveVarStore>
 
- Does not change 
- 
widenedUpperBoundIt should not be called since it is not used by the backward analysis.- Specified by:
- widenedUpperBoundin interface- Store<LiveVarStore>
- Parameters:
- previous- must be the previous store
 
- 
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<LiveVarStore>
 
- 
visualizeDescription copied from interface:StoreDelegate visualization responsibility to a visualizer.- Specified by:
- visualizein interface- Store<LiveVarStore>
- Parameters:
- viz- the visualizer to visualize this store
- Returns:
- the String representation of this store
 
- 
toString
 
-