1 package Analysis.Disjoint;
8 // a set of existence predicates that are
9 // OR'ed terms, if any predicate is true
10 // then the set evaluates to true
12 public class ExistPredSet extends Canonical {
14 protected Set<ExistPred> preds;
16 public ExistPredSet() {
17 preds = new HashSet<ExistPred>();
20 public ExistPredSet makeCanonical() {
21 return (ExistPredSet) ExistPredSet.makeCanonical( this );
25 public void add( ExistPred pred ) {
29 public boolean isSatisfiedBy( ReachGraph rg ) {
30 Iterator<ExistPred> predItr = preds.iterator();
31 while( predItr.hasNext() ) {
32 if( !predItr.next().isSatisfiedBy( rg ) ) {
39 public String toString() {
41 Iterator<ExistPred> predItr = preds.iterator();
42 while( predItr.hasNext() ) {
43 ExistPred pred = predItr.next();
45 if( predItr.hasNext() ) {