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  aandbbe aliases? Returns a conservative answer (i.e.,
 returnstrueif 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