Updated FlagState and TaskAnalysis with tagsupport.
[IRC.git] / Robust / src / Analysis / TaskStateAnalysis / Edge.java
1 package Analysis.TaskStateAnalysis;
2 import IR.*;
3 import Analysis.TaskStateAnalysis.*;
4 import IR.Tree.*;
5 import IR.Flat.*;
6 import java.util.*;
7
8
9 /* Edge *****************/
10
11 public class Edge {
12
13     private String label;
14     private FlagState target;
15     private FlagState source;
16     protected String dotnodeparams = new String();
17     
18     public Edge(FlagState target, String label) {
19         this.label = label;
20         this.target = target;
21     }
22     
23     public String getLabel() {
24         return label;
25     }
26     
27     public void setSource(FlagState s) {
28         this.source=s;
29     }
30     
31     public FlagState getSource() {
32         return source;
33     }
34     
35     public FlagState getTarget() {
36         return target;
37     }
38     
39     public int hashCode(){
40                 return target.hashCode()^label.hashCode();
41         }
42         
43         public void setDotNodeParameters(String param) {
44         if (param == null) {
45             throw new NullPointerException();
46         }
47         if (param.length() > 0) {
48             dotnodeparams = "," + param;
49         } else {
50             dotnodeparams = new String();
51         }
52     }
53     public boolean equals(Object o) {
54         if (o instanceof Edge) {
55             Edge e=(Edge)o;
56             if (e.label.compareTo(label)!=0)
57                 return false;
58             return e.target.equals(target);
59         }
60         return false;
61     }
62
63     
64 }