private static interface SideEffectsAnalysis.EffectLocation
Since there are an infinite number of possible concrete locations in a running program, this abstraction must be imprecise (i.e. there will be some distinct concrete locations that are indistinguishable under the abstraction).
Different location abstractions will provide their own implementations of this interface, based on the level and kind of precision they provide.
Modifier and Type | Method and Description |
---|---|
boolean |
intersectsLocation(SideEffectsAnalysis.EffectLocation otherLocation)
Does the receiver's effect location intersect a given effect location?
That is, could any of the concrete storage locations (fields, variables,
etc.) represented by the receiver be contained in the set of concrete
storage locations represented by the given abstract effect location.
|
boolean |
isEmpty()
Does the effect location represent any possible concrete locations?
|
SideEffectsAnalysis.EffectLocation |
join(SideEffectsAnalysis.EffectLocation otherLocation)
Returns the result of merging the given effect location with
the receiver.
|
boolean intersectsLocation(SideEffectsAnalysis.EffectLocation otherLocation)
SideEffectsAnalysis.EffectLocation join(SideEffectsAnalysis.EffectLocation otherLocation)
boolean isEmpty()