public class ConstantPropagationStore extends Object implements Store<ConstantPropagationStore>
Store.FlowRule, Store.Kind| Modifier | Constructor and Description | 
|---|---|
  | 
ConstantPropagationStore()  | 
protected  | 
ConstantPropagationStore(Map<Node,Constant> contents)  | 
| Modifier and Type | Method and Description | 
|---|---|
boolean | 
canAlias(FlowExpressions.Receiver a,
        FlowExpressions.Receiver b)
Can the objects  
a and b be aliases? Returns a conservative answer (i.e.,
 returns true if not enough information is available to determine aliasing). | 
ConstantPropagationStore | 
copy()
Returns an exact copy of this store. 
 | 
boolean | 
equals(@Nullable Object o)  | 
Constant | 
getInformation(Node n)  | 
int | 
hashCode()  | 
ConstantPropagationStore | 
leastUpperBound(ConstantPropagationStore other)
Compute the least upper bound of two stores. 
 | 
void | 
mergeInformation(Node n,
                Constant val)  | 
void | 
setInformation(Node n,
              Constant val)  | 
String | 
toString()  | 
String | 
visualize(CFGVisualizer<?,ConstantPropagationStore,?> viz)
Delegate visualization responsibility to a visualizer. 
 | 
ConstantPropagationStore | 
widenedUpperBound(ConstantPropagationStore previous)
Compute an upper bound of two stores that is wider than the least upper bound of the two
 stores. 
 | 
public ConstantPropagationStore copy()
Storecopy in interface Store<ConstantPropagationStore>public ConstantPropagationStore leastUpperBound(ConstantPropagationStore other)
StoreImportant: This method must fulfill the following contract:
this.
   other.
   this, even if the signature is
       more permissive.
   leastUpperBound in interface Store<ConstantPropagationStore>public ConstantPropagationStore widenedUpperBound(ConstantPropagationStore previous)
StoreAnalysis. previous must 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:
this.
   previous.
   this, even if the signature is
       more permissive.
   widenedUpperBound in interface Store<ConstantPropagationStore>previous - must be the previous storepublic boolean canAlias(FlowExpressions.Receiver a, FlowExpressions.Receiver b)
Storea and b be aliases? Returns a conservative answer (i.e.,
 returns true if not enough information is available to determine aliasing).canAlias in interface Store<ConstantPropagationStore>public String visualize(CFGVisualizer<?,ConstantPropagationStore,?> viz)
value is null because ConstantPropagationStore doesn't support
 visualization.
visualize in interface Store<ConstantPropagationStore>viz - the visualizer to visualize this store