Index: src/org/aspectj/ajdt/internal/compiler/lookup/EclipseSourceLocation.java =================================================================== RCS file: /home/technology/org.aspectj/modules/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseSourceLocation.java,v retrieving revision 1.10 diff -u -r1.10 EclipseSourceLocation.java --- src/org/aspectj/ajdt/internal/compiler/lookup/EclipseSourceLocation.java 18 Mar 2006 12:00:02 -0000 1.10 +++ src/org/aspectj/ajdt/internal/compiler/lookup/EclipseSourceLocation.java 5 Apr 2006 10:53:10 -0000 @@ -61,6 +61,7 @@ public File getSourceFile() { if (null == file) { + hashCode = 0; if (filename==null) { // if ((null == result) // || (null == result.fileName) @@ -136,4 +137,25 @@ if (getOffset()>=0) { sb.append("::").append(getOffset()); } return sb.toString(); } + + public boolean equals(Object other) { + if (! (other instanceof EclipseSourceLocation)) return false; + EclipseSourceLocation o = (EclipseSourceLocation) other; + return (o.startPos == startPos) + && (o.endPos == endPos) + && o.getSourceFile().equals(getSourceFile()); + } + + private volatile int hashCode = 0; + public int hashCode() { + if (hashCode == 0) { + int result = 17; + result = 37*result + startPos; + result = 37*result + endPos; + result = 37*result + getSourceFile().hashCode(); + hashCode = result; + } + return hashCode; + } + }