1 package Analysis.TaskStateAnalysis;
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;
18 protected OptionalTaskDescriptor(TaskDescriptor td, int index, HashSet enterflagstates, Predicate predicate) {
20 this.enterflagstates = enterflagstates;
21 this.exitfses = new HashSet();
22 this.predicate = predicate;
26 public int hashCode() {
27 return td.hashCode()^enterflagstates.hashCode()^predicate.hashCode()^index;
30 public boolean equals(Object o) {
31 if (o instanceof OptionalTaskDescriptor) {
32 OptionalTaskDescriptor otd=(OptionalTaskDescriptor) o;
34 otd.enterflagstates.equals(enterflagstates)&&
35 otd.predicate.equals(predicate)&&
42 public int getIndex() {
46 public String tostring() {
47 return "Optional task "+td.getSymbol();
50 public void setuid() {