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

Collapse All | Expand All

(-)compiler/org/eclipse/jdt/internal/compiler/lookup/ReferenceBinding.java (-1 / +14 lines)
Lines 72-78 Link Here
72
	int mid = 0;
72
	int mid = 0;
73
	char[] midName;
73
	char[] midName;
74
	while (left <= right) {
74
	while (left <= right) {
75
		mid = (left + right) /2;
75
		mid = (left + right) / 2;
76
		if (sortedFields[mid] == null) {
77
			// abort and do a linear search
78
			for (int i = 0, max2 = sortedFields.length; i < max2; i++) {
79
				FieldBinding fieldBinding = sortedFields[i];
80
				if (fieldBinding != null) {
81
					char[] fieldName = fieldBinding.name;
82
					if (compare(name, fieldBinding.name, nameLength, fieldName.length) == 0) {
83
						return fieldBinding;
84
					}
85
				}
86
			}
87
			return null;
88
		}
76
		int compare = compare(name, midName = sortedFields[mid].name, nameLength, midName.length);
89
		int compare = compare(name, midName = sortedFields[mid].name, nameLength, midName.length);
77
		if (compare < 0) {
90
		if (compare < 0) {
78
			right = mid-1;
91
			right = mid-1;

Return to bug 143259