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) |
boolean |
hasDOToutput() |
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 |
toDOToutput() |
String |
toString() |
public ConstantPropagationStore copy()
copy
in interface Store<ConstantPropagationStore>
public ConstantPropagationStore leastUpperBound(ConstantPropagationStore other)
Store
Important: 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)
Store
a
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 boolean hasDOToutput()
hasDOToutput
in interface Store<ConstantPropagationStore>
public String toDOToutput()
toDOToutput
in interface Store<ConstantPropagationStore>