|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectharpoon.Analysis.PointerAnalysis.AbstrRelation
public abstract class AbstrRelation
Field Summary | |
---|---|
protected int |
hashCode
|
static boolean |
OPTIMIZE_HASH_CODE
Optimizes the .hashCode() method by caching the hash code. |
Constructor Summary | |
---|---|
AbstrRelation()
|
Method Summary | |
---|---|
boolean |
add(Object key,
Object value)
Adds the pair <key, value> to the relation. |
boolean |
addAll(Object key,
Collection values)
Adds a relation from key to each element of the set
values . |
Object |
clone()
Clones this relation. |
boolean |
contains(Object key,
Object value)
Checks the existence of the relation <key,value> . |
boolean |
containsKey(Object key)
Checks the existence of the key key in this relation. |
Relation |
convert(Map map,
Relation result)
Convert this relation through the mapping
map . |
boolean |
equals(Object o)
Checks the equality of two relations |
void |
forAllEntries(RelationEntryVisitor visitor)
Visits all the entries <key,value> of
this relation and calls visitor.visit
on each of them. |
protected Relation |
getEmptyRelation()
|
Set |
getValues(Object key)
Returns the image of key through this relation. |
protected Set |
getValues2(Object key)
|
int |
hashCode()
|
boolean |
isEmpty()
Tests if this relation is empty or not. |
Set |
keys()
Returns all the keys appearing in this relation. |
void |
remove(Object key,
Object value)
Removes the relation between key and
value . |
void |
removeAll(Object key,
Collection values)
Removes the relation between key and
any element from values . |
void |
removeKey(Object key)
Removes all the relations attached to key . |
void |
removeKeys(PredicateWrapper predicate)
Removes all the keys that satisfy predicate.check() . |
void |
removeObjects(PredicateWrapper predicate)
Removes all the relations involving at least one object that satisfy predicate.check() . |
void |
removeValues(PredicateWrapper predicate)
Removes all the values that satisfy predicate.check() . |
Relation |
revert(Relation result)
Revert this relation and store the result into
the relation result . |
Relation |
select(Collection selected_keys)
Returns the subrelation of this relation that contains only the keys that appear in selected_keys . |
String |
toString()
|
boolean |
union(Relation rel)
Combines this relation with relation
rel . |
Set |
values()
Returns all the values appearing in this relation. |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final boolean OPTIMIZE_HASH_CODE
protected int hashCode
Constructor Detail |
---|
public AbstrRelation()
Method Detail |
---|
protected Relation getEmptyRelation()
public boolean add(Object key, Object value)
Relation
<key, value>
to the relation.
Returns true
if the new relation is bigger.
add
in interface Relation
public boolean addAll(Object key, Collection values)
Relation
key
to each element of the set
values
. values
should not contain
duplicated elements.
Returns true
if the new relation is bigger.
addAll
in interface Relation
public void remove(Object key, Object value)
Relation
key
and
value
.
remove
in interface Relation
public Relation revert(Relation result)
Relation
this
relation and store the result into
the relation result
. <a,b> appears in the
reverse relation iff <b,a> appears in this
relation. Returns the new relation (ie,
result
).
revert
in interface Relation
protected Set getValues2(Object key)
public void removeAll(Object key, Collection values)
Relation
key
and
any element from values
.
removeAll
in interface Relation
public void removeKey(Object key)
Relation
key
.
removeKey
in interface Relation
public void removeKeys(PredicateWrapper predicate)
Relation
predicate.check()
.
removeKeys
in interface Relation
public void removeValues(PredicateWrapper predicate)
Relation
predicate.check()
.
removeValues
in interface Relation
public void removeObjects(PredicateWrapper predicate)
Relation
predicate.check()
.
removeObjects
in interface Relation
public boolean contains(Object key, Object value)
Relation
<key,value>
.
contains
in interface Relation
public boolean containsKey(Object key)
Relation
key
key in this relation.
containsKey
in interface Relation
public boolean isEmpty()
Relation
isEmpty
in interface Relation
public Set getValues(Object key)
Relation
key
through this relation.
The returned collection is guarranted not to contain duplicates.
Can return null
if no value is attached to key.
If the result is non-null, additions and removals on the returned
collection take effect on the relation.
getValues
in interface Relation
public Set keys()
Relation
keys
in interface Relation
public Set values()
Relation
values
in interface Relation
public boolean union(Relation rel)
Relation
this
relation with relation
rel
. A null
parameter is considered
to be an empty relation.
union
in interface Relation
true
iff this
relation has
changed.public boolean equals(Object o)
Relation
equals
in interface Relation
equals
in class Object
public int hashCode()
hashCode
in class Object
public Relation select(Collection selected_keys)
Relation
selected_keys
.
select
in interface Relation
public void forAllEntries(RelationEntryVisitor visitor)
Relation
<key,value>
of
this
relation and calls visitor.visit
on each of them.
forAllEntries
in interface Relation
public String toString()
toString
in class Object
public Object clone()
Relation
clone
in interface Relation
clone
in class Object
public Relation convert(Map map, Relation result)
Relation
this
relation through the mapping
map
. The converted mapping contains all pairs
(a,b)
such that there exists c,d
such that (c,d)
appears in this
mapping, and map maps c to a and d to b. If an object is not
mapped to anything by map
, it will be mapped to
itself by default. The result is stored in
result
. Returns the converted mapping (ie,
result).
convert
in interface Relation
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |