1 package Analysis.TaskStateAnalysis;
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
15 this.vardescriptors = new HashSet<VarDescriptor>();
16 this.flags = new Hashtable<VarDescriptor, HashSet<FlagExpressionNode>>();
17 this.tags = new Hashtable<VarDescriptor, TagExpressionList>();
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)&&
30 public int hashCode() {
31 return vardescriptors.hashCode();