private static class SideEffectsAnalysis.VisibilityLocationAbstraction.VisibilityBasedEffectLocation extends java.lang.Object implements SideEffectsAnalysis.EffectLocation
SideEffectsAnalysis.VisibilityLocationAbstraction for deeper description
of this abstraction.
The effect locations are stored as bits set on an integer, so
intersect, join, etc. are the standard bitwise operations.| Modifier and Type | Field and Description |
|---|---|
(package private) int |
visibilityMask |
| Constructor and Description |
|---|
VisibilityBasedEffectLocation(int visibilityMask) |
| 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.
|
public VisibilityBasedEffectLocation(int visibilityMask)
public boolean intersectsLocation(SideEffectsAnalysis.EffectLocation otherLocation)
SideEffectsAnalysis.EffectLocationintersectsLocation in interface SideEffectsAnalysis.EffectLocationpublic boolean isEmpty()
SideEffectsAnalysis.EffectLocationisEmpty in interface SideEffectsAnalysis.EffectLocationpublic SideEffectsAnalysis.EffectLocation join(SideEffectsAnalysis.EffectLocation otherLocation)
SideEffectsAnalysis.EffectLocationjoin in interface SideEffectsAnalysis.EffectLocation