remove some codes for scheduling
[IRC.git] / Robust / src / Analysis / TaskStateAnalysis / Predicate.java
1 package Analysis.TaskStateAnalysis;
2 import java.util.*;
3 import IR.*;
4 import IR.Tree.*;
5 import IR.Flat.*;
6 import Util.Edge;
7
8 public class Predicate {
9     public HashSet<VarDescriptor> vardescriptors;
10     public Hashtable<VarDescriptor, HashSet<FlagExpressionNode>> flags;
11     public Hashtable<VarDescriptor, TagExpressionList> tags; 
12     //if there is a tag change, we stop the analysis
13     
14     public Predicate(){
15         this.vardescriptors = new HashSet<VarDescriptor>();
16         this.flags = new Hashtable<VarDescriptor, HashSet<FlagExpressionNode>>();
17         this.tags = new Hashtable<VarDescriptor, TagExpressionList>();
18     } 
19
20     public boolean equals(Object o) {
21         if (o instanceof Predicate) {
22             Predicate p=(Predicate)o;
23             if (vardescriptors.equals(p.vardescriptors)&&
24                 flags.equals(p.flags)&&
25                 tags.equals(p.tags))
26                 return true;
27         }
28         return false;
29     }
30     public int hashCode() {
31         return vardescriptors.hashCode();
32     }
33 }