Made a big change to reference edges, touched a lot of code.
[IRC.git] / Robust / src / Analysis / OwnershipAnalysis / LabelNode.java
1 package Analysis.OwnershipAnalysis;
2
3 import IR.*;
4 import IR.Flat.*;
5 import java.util.*;
6
7 public class LabelNode extends OwnershipNode {
8     protected TempDescriptor td;
9
10     public LabelNode( TempDescriptor td ) {
11         this.td = td;
12     }
13
14     public TempDescriptor getTempDescriptor() {
15         return td;
16     }
17
18
19     public boolean equals( Object o ) {
20         if( o == null ) {
21             return false;
22         }
23
24         if( !( o instanceof LabelNode) ) {
25             return false;
26         }
27
28         LabelNode ln = (LabelNode) o;
29
30         return td == ln.getTempDescriptor();
31     }
32
33     public int hashCode() {
34         return td.getNum();
35     }
36
37
38     public String getTempDescriptorString() {
39         return td.toString();
40     }
41
42     public String toString() {
43         return "LN_"+getTempDescriptorString();
44     }
45 }