View | Details | Raw Unified | Return to bug 137634
Collapse All | Expand All

(-)model/org/eclipse/jdt/internal/core/builder/ReferenceCollection.java (-17 / +13 lines)
Lines 35-58 Link Here
35
	next : for (int i = qNames.length; --i >= 0;) {
35
	next : for (int i = qNames.length; --i >= 0;) {
36
		char[][] qualifiedTypeName = qNames[i];
36
		char[][] qualifiedTypeName = qNames[i];
37
		while (!includes(qualifiedTypeName)) {
37
		while (!includes(qualifiedTypeName)) {
38
			if (qualifiedTypeName.length == 1) {
38
			if (!includes(qualifiedTypeName[qualifiedTypeName.length - 1])) {
39
				if (!includes(qualifiedTypeName[0])) {
39
				int length = this.simpleNameReferences.length;
40
					int length = this.simpleNameReferences.length;
40
				System.arraycopy(this.simpleNameReferences, 0, this.simpleNameReferences = new char[length + 1][], 0, length);
41
					System.arraycopy(this.simpleNameReferences, 0, this.simpleNameReferences = new char[length + 1][], 0, length);
41
				this.simpleNameReferences[length] = qualifiedTypeName[qualifiedTypeName.length - 1];				
42
					this.simpleNameReferences[length] = qualifiedTypeName[0];
43
				}
44
				continue next;
45
			} else {
46
				int length = this.qualifiedNameReferences.length;
47
				System.arraycopy(this.qualifiedNameReferences, 0, this.qualifiedNameReferences = new char[length + 1][][], 0, length);
48
				this.qualifiedNameReferences[length] = qualifiedTypeName;
49
50
				qualifiedTypeName = CharOperation.subarray(qualifiedTypeName, 0, qualifiedTypeName.length - 1);
51
				char[][][] temp = internQualifiedNames(new char[][][] {qualifiedTypeName});
52
				if (temp == EmptyQualifiedNames)
53
					continue next; // qualifiedTypeName is a well known name
54
				qualifiedTypeName = temp[0];
55
			}
42
			}
43
			int length = this.qualifiedNameReferences.length;
44
			System.arraycopy(this.qualifiedNameReferences, 0, this.qualifiedNameReferences = new char[length + 1][][], 0, length);
45
			this.qualifiedNameReferences[length] = qualifiedTypeName;
46
47
			qualifiedTypeName = CharOperation.subarray(qualifiedTypeName, 0, qualifiedTypeName.length - 1);
48
			char[][][] temp = internQualifiedNames(new char[][][] {qualifiedTypeName});
49
			if (temp == EmptyQualifiedNames)
50
				continue next; // qualifiedTypeName is a well known name
51
			qualifiedTypeName = temp[0];
56
		}
52
		}
57
	}
53
	}
58
}
54
}

Return to bug 137634