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() |
boolean |
equals(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() |
void |
visualize(CFGVisualizer<?,ConstantPropagationStore,?> viz)
Delegate visualization responsibility to a visualizer.
|
public ConstantPropagationStore copy()
copy 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 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 void visualize(CFGVisualizer<?,ConstantPropagationStore,?> viz)
Storevisualize in interface Store<ConstantPropagationStore>viz - the visualizer to visualize this store