### Eclipse Workspace Patch 1.0 #P org.eclipse.jdt.core Index: compiler/org/eclipse/jdt/internal/compiler/lookup/ReferenceBinding.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/ReferenceBinding.java,v retrieving revision 1.101 diff -u -r1.101 ReferenceBinding.java --- compiler/org/eclipse/jdt/internal/compiler/lookup/ReferenceBinding.java 28 Apr 2006 14:53:28 -0000 1.101 +++ compiler/org/eclipse/jdt/internal/compiler/lookup/ReferenceBinding.java 23 May 2006 18:52:33 -0000 @@ -72,7 +72,20 @@ int mid = 0; char[] midName; while (left <= right) { - mid = (left + right) /2; + mid = (left + right) / 2; + if (sortedFields[mid] == null) { + // abort and do a linear search + for (int i = 0, max2 = sortedFields.length; i < max2; i++) { + FieldBinding fieldBinding = sortedFields[i]; + if (fieldBinding != null) { + char[] fieldName = fieldBinding.name; + if (compare(name, fieldBinding.name, nameLength, fieldName.length) == 0) { + return fieldBinding; + } + } + } + return null; + } int compare = compare(name, midName = sortedFields[mid].name, nameLength, midName.length); if (compare < 0) { right = mid-1;