View | Details | Raw Unified | Return to bug 100549 | Differences between
and this patch

Collapse All | Expand All

(-)compiler/org/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding.java (-1 / +3 lines)
Lines 28-33 Link Here
28
import org.eclipse.jdt.internal.compiler.ast.TypeReference;
28
import org.eclipse.jdt.internal.compiler.ast.TypeReference;
29
import org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants;
29
import org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants;
30
import org.eclipse.jdt.internal.compiler.impl.Constant;
30
import org.eclipse.jdt.internal.compiler.impl.Constant;
31
import org.eclipse.jdt.internal.compiler.util.Util;
31
32
32
public class SourceTypeBinding extends ReferenceBinding {
33
public class SourceTypeBinding extends ReferenceBinding {
33
	public ReferenceBinding superclass;
34
	public ReferenceBinding superclass;
Lines 575-583 Link Here
575
public char[] computeUniqueKey(boolean isLeaf) {
576
public char[] computeUniqueKey(boolean isLeaf) {
576
	char[] uniqueKey = super.computeUniqueKey(isLeaf);
577
	char[] uniqueKey = super.computeUniqueKey(isLeaf);
577
	if (uniqueKey.length == 2) return uniqueKey; // problem type's unique key is "L;"
578
	if (uniqueKey.length == 2) return uniqueKey; // problem type's unique key is "L;"
578
	int start = CharOperation.lastIndexOf('/', this.fileName) + 1;
579
	if (Util.isClassFileName(this.fileName)) return uniqueKey;
579
	int end = CharOperation.lastIndexOf('.', this.fileName);
580
	int end = CharOperation.lastIndexOf('.', this.fileName);
580
	if (end != -1) {
581
	if (end != -1) {
582
		int start = CharOperation.lastIndexOf('/', this.fileName) + 1;
581
		char[] mainTypeName = CharOperation.subarray(this.fileName, start, end);
583
		char[] mainTypeName = CharOperation.subarray(this.fileName, start, end);
582
		start = CharOperation.lastIndexOf('/', uniqueKey) + 1;
584
		start = CharOperation.lastIndexOf('/', uniqueKey) + 1;
583
		if (start == 0)
585
		if (start == 0)

Return to bug 100549