This commit was manufactured by cvs2svn to create tag 'buildscript'.
[IRC.git] /
1 package Analysis.TaskStateAnalysis;
2 import java.util.*;
3 import IR.*;
4 import IR.Tree.*;
5 import IR.Flat.*;
6 import java.io.*;
7 import Util.Edge;
8
9 public class  OptionalTaskDescriptor{
10     public TaskDescriptor td;
11     public HashSet flagstates;
12     public int depth;
13     public HashSet<HashSet> exitfses;
14     public Predicate predicate;
15     private static int nodeid=0;
16     private int uid;
17     
18     protected OptionalTaskDescriptor(TaskDescriptor td, HashSet flagstates, int depth, Predicate predicate){
19         this.td = td;
20         this.flagstates = flagstates;
21         this.depth = depth;
22         this.exitfses = new HashSet();
23         this.predicate = predicate;
24         this.uid = OptionalTaskDescriptor.nodeid++;
25         
26     }
27     
28     public boolean equals(Object o){
29         if (o instanceof OptionalTaskDescriptor) {
30             OptionalTaskDescriptor otd = (OptionalTaskDescriptor) o;
31             if (this.td.getSymbol().compareTo(otd.td.getSymbol())==0)
32                 if(this.flagstates.equals(otd.flagstates))
33                     if(this.predicate.equals(otd.predicate))
34                         return true;
35             return false;
36         }
37         else return false;
38         
39     }
40     
41     public int hashCode() {
42         return td.getSymbol().hashCode()+flagstates.hashCode()+predicate.hashCode();
43     }
44     
45     public String tostring() {
46         return "Optional task "+td.getSymbol();
47     }
48
49     public int getuid() {
50         return uid;
51     }
52
53        
54 }