1 package Analysis.OoOJava;
8 public class VariableSourceToken {
10 private Set<TempDescriptor> refVars;
11 private FlatSESEEnterNode sese;
12 private Integer seseAge;
13 private TempDescriptor addrVar;
15 public VariableSourceToken( Set<TempDescriptor> refVars,
16 FlatSESEEnterNode sese,
18 TempDescriptor addrVar
20 this.refVars = refVars;
22 this.seseAge = seseAge;
23 this.addrVar = addrVar;
26 public Set<TempDescriptor> getRefVars() {
30 public FlatSESEEnterNode getSESE() {
34 public Integer getAge() {
38 public TempDescriptor getAddrVar() {
42 public VariableSourceToken copy() {
43 Set<TempDescriptor> refVarsCopy = new HashSet<TempDescriptor>();
45 Iterator<TempDescriptor> rvItr = refVars.iterator();
46 while( rvItr.hasNext() ) {
47 refVarsCopy.add( rvItr.next() );
50 return new VariableSourceToken( refVarsCopy,
52 new Integer( seseAge ),
56 public boolean equals( Object o ) {
61 if( !(o instanceof VariableSourceToken) ) {
65 VariableSourceToken vst = (VariableSourceToken) o;
67 // the reference vars have no bearing on equality
68 return sese.equals( vst.sese ) &&
69 addrVar.equals( vst.addrVar ) &&
70 seseAge.equals( vst.seseAge );
73 public int hashCode() {
74 // the reference vars have no bearing on hashCode
75 return (sese.hashCode() << 3) * (addrVar.hashCode() << 4) ^ seseAge.intValue();
79 public String toString() {
80 return refVars+"\tref "+addrVar+"\t@"+sese.toPrettyString()+"("+seseAge+")";