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()