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 enterflagstates;
12     public HashSet<HashSet> exitfses;
13     public Predicate predicate;
14     private static int nodeid=0;
15     private int index;
16     private int uid;
17
18     protected OptionalTaskDescriptor(TaskDescriptor td, int index, HashSet enterflagstates, Predicate predicate) {
19         this.td = td;
20         this.enterflagstates = enterflagstates;
21         this.exitfses = new HashSet();
22         this.predicate = predicate;
23         this.index=index;
24     }
25     
26     public int hashCode() {
27         return td.hashCode()^enterflagstates.hashCode()^predicate.hashCode()^index;
28     }
29
30     public boolean equals(Object o) {
31         if (o instanceof OptionalTaskDescriptor) {
32             OptionalTaskDescriptor otd=(OptionalTaskDescriptor) o;
33             if (otd.td==td&&
34                 otd.enterflagstates.equals(enterflagstates)&&
35                 otd.predicate.equals(predicate)&&
36                 otd.index==index)
37                 return true;
38         }
39         return false;
40     }
41
42     public int getIndex() {
43         return index;
44     }
45
46     public String tostring() {
47         return "Optional task "+td.getSymbol();
48     }
49
50     public void setuid() {
51         uid=nodeid++;
52     }
53
54     public int getuid() {
55         return uid;
56     }
57 }