Index: compiler/org/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding.java =================================================================== RCS file: /home/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding.java,v retrieving revision 1.108 diff -u -r1.108 SourceTypeBinding.java --- compiler/org/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding.java 16 Jun 2005 14:37:22 -0000 1.108 +++ compiler/org/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding.java 28 Jun 2005 10:08:11 -0000 @@ -28,6 +28,7 @@ import org.eclipse.jdt.internal.compiler.ast.TypeReference; import org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants; import org.eclipse.jdt.internal.compiler.impl.Constant; +import org.eclipse.jdt.internal.compiler.util.Util; public class SourceTypeBinding extends ReferenceBinding { public ReferenceBinding superclass; @@ -575,9 +576,10 @@ public char[] computeUniqueKey(boolean isLeaf) { char[] uniqueKey = super.computeUniqueKey(isLeaf); if (uniqueKey.length == 2) return uniqueKey; // problem type's unique key is "L;" - int start = CharOperation.lastIndexOf('/', this.fileName) + 1; + if (Util.isClassFileName(this.fileName)) return uniqueKey; int end = CharOperation.lastIndexOf('.', this.fileName); if (end != -1) { + int start = CharOperation.lastIndexOf('/', this.fileName) + 1; char[] mainTypeName = CharOperation.subarray(this.fileName, start, end); start = CharOperation.lastIndexOf('/', uniqueKey) + 1; if (start == 0)