add more comments
[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 Hashtable<String, VarDescriptor> vardescriptors;
10     public Hashtable<String, HashSet<FlagExpressionNode>> flags;
11     public Hashtable<String, TagExpressionList> tags; //if there is a tag change, we stop the analysis
12     
13     public Predicate(){
14         this.vardescriptors = new Hashtable();
15         this.flags = new Hashtable();
16         this.tags = new Hashtable();
17     } 
18
19     public boolean equals(Object o){
20         if(o instanceof Predicate){
21             Predicate p = (Predicate) o;
22             if(this.vardescriptors.equals(p.vardescriptors))
23                 return true;
24             return false;
25         }
26         else return false;
27     }
28
29     public int hashCode(){
30         return vardescriptors.hashCode();
31     }
32
33
34 }