public static class Section.MAP extends java.util.HashMap<Symbol,Section> implements java.lang.Cloneable
| Constructor and Description |
|---|
Section.MAP()
Constructs an empty map.
|
Section.MAP(Symbol var,
Section section)
Constructs a map with a pair of variable and section.
|
| Modifier and Type | Method and Description |
|---|---|
void |
clean()
Cleans up empty sections.
|
Section.MAP |
clone()
Returns a clone object.
|
Section.MAP |
differenceFrom(Section.MAP other,
RangeDomain rd)
Performs difference operation between the two section maps with the
specified range domain.
|
Section.MAP |
differenceFrom2(Section.MAP other,
RangeDomain rd)
Performs conditional difference operation after adding unresolved
bound relation from the current section map.
|
Section.MAP |
intersectWith(Section.MAP other,
RangeDomain rd)
Performs intersection operation between the two section maps with the
specified range domain.
|
void |
print(java.lang.String str) |
void |
print(java.lang.String str,
int verbosity) |
void |
removeAffected(java.util.Collection<Symbol> vars)
Removes sections that contains the specified set of variables.
|
void |
removeAffected(Symbol var)
Removes sections that contains the specified symbol.
|
void |
removeSideAffected(Traversable tr)
Removes sections that are unsafe in the given traversable object due
to function calls.
|
java.lang.String |
toString() |
Section.MAP |
unionWith(Section.MAP other,
RangeDomain rd)
Performs union operation between the two section maps with the
specified range domain.
|
public Section.MAP clone()
public void clean()
public Section.MAP intersectWith(Section.MAP other, RangeDomain rd)
other - the other section map to be intersected with.rd - the specified range domain.public Section.MAP unionWith(Section.MAP other, RangeDomain rd)
other - the other section map to be united with.rd - the specified range domain.public Section.MAP differenceFrom(Section.MAP other, RangeDomain rd)
other - the other section map to be differenced from.rd - the specified range domain.public Section.MAP differenceFrom2(Section.MAP other, RangeDomain rd)
public void removeAffected(Symbol var)
public void removeAffected(java.util.Collection<Symbol> vars)
public void removeSideAffected(Traversable tr)
public void print(java.lang.String str)
public void print(java.lang.String str,
int verbosity)