S - The type of the store returned by copy and that is used in
leastUpperBound. Usually it is the implementing class
itself, e.g. in T extends Store<T>.public interface Store<S extends Store<S>>
| Modifier and Type | Interface and Description |
|---|---|
static class |
Store.FlowRule |
static class |
Store.Kind |
| 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). |
S |
copy() |
boolean |
hasDOToutput() |
S |
leastUpperBound(S other)
Compute the least upper bound of two stores.
|
String |
toDOToutput() |
S copy()
S leastUpperBound(S other)
Important: This method must fulfill the following contract:
this.other.this, even if
the signature is more permissive.boolean canAlias(FlowExpressions.Receiver a, FlowExpressions.Receiver b)
a and b be aliases? Returns a
conservative answer (i.e., returns true if not enough information
is available to determine aliasing).boolean hasDOToutput()
String toDOToutput()