### Eclipse Workspace Patch 1.0 #P org.eclipse.jdt.core.tests.model Index: src/org/eclipse/jdt/core/tests/model/ResolveTests2.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/ResolveTests2.java,v retrieving revision 1.3 diff -u -r1.3 ResolveTests2.java --- src/org/eclipse/jdt/core/tests/model/ResolveTests2.java 9 Oct 2008 08:45:47 -0000 1.3 +++ src/org/eclipse/jdt/core/tests/model/ResolveTests2.java 9 Oct 2008 13:03:21 -0000 @@ -936,4 +936,84 @@ this.deleteProject("PS2"); } } +//https://bugs.eclipse.org/bugs/show_bug.cgi?id=232880 +public void testBug232880j() throws Exception { + String outputDirectory = Util.getOutputDirectory(); + String externalJar1 = outputDirectory + File.separator + "bug232880a.jar"; //$NON-NLS-1$ + String externalJar2 = outputDirectory + File.separator + "bug232880b.jar"; //$NON-NLS-1$ + try { + + // create external jar 1 + Util.createJar( + new String[] { + "test1/IResource.java", //$NON-NLS-1$ + "package test1;\n" + //$NON-NLS-1$ + "public class IResource {\n" + //$NON-NLS-1$ + "}" //$NON-NLS-1$ + }, + new HashMap(), + externalJar1); + + // create external jar 2 + String source2 = + "package test2;\n" + //$NON-NLS-1$ + "import test1.IResource;\n" + //$NON-NLS-1$ + "public class IJavaElement {\n" + //$NON-NLS-1$ + " // iresource\n" + //$NON-NLS-1$ + " IResource foo() {return null;}\n" + //$NON-NLS-1$ + "}"; //$NON-NLS-1$ + + Util.createJar( + new String[] { + "test2/IJavaElement.java", //$NON-NLS-1$ + source2 + }, + null, + new HashMap(), + new String[]{externalJar1}, + externalJar2); + + // create P1 + IJavaProject project1 = this.createJavaProject( + "PS1", + new String[]{"src"}, + new String[]{"JCL_LIB", externalJar2}, + "bin"); + + this.createFolder("/PS1/attachment/test2"); + this.createFile( + "/PS1/attachment/test2/IJavaElement.java", + source2); + + IPackageFragmentRoot root = project1.getPackageFragmentRoot(externalJar2); + attachSource(root, "/PS1/attachment/", ""); + + // create P2 + this.createJavaProject( + "PS2", + new String[]{"src"}, + new String[]{"JCL_LIB", externalJar1}, + "bin"); + + waitUntilIndexesReady(); + + // do code select + IClassFile cf = getClassFile("PS1", externalJar2, "test2", "IJavaElement.class"); + + IJavaElement[] elements = codeSelect(cf, "iresource", "iresource"); + + assertElementsEqual( + "Unexpected elements", + "", + elements + ); + } finally { + this.deleteExternalFile(externalJar1); + this.deleteExternalFile(externalJar2); + refreshExternalArchives(getJavaProject("PS1")); // workaround for https://bugs.eclipse.org/bugs/show_bug.cgi?id=250083 + refreshExternalArchives(getJavaProject("PS2")); // workaround for https://bugs.eclipse.org/bugs/show_bug.cgi?id=250083 + this.deleteProject("PS1"); + this.deleteProject("PS2"); + } +} } #P org.eclipse.jdt.core Index: codeassist/org/eclipse/jdt/internal/codeassist/SelectionEngine.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/SelectionEngine.java,v retrieving revision 1.149 diff -u -r1.149 SelectionEngine.java --- codeassist/org/eclipse/jdt/internal/codeassist/SelectionEngine.java 9 Oct 2008 08:45:45 -0000 1.149 +++ codeassist/org/eclipse/jdt/internal/codeassist/SelectionEngine.java 9 Oct 2008 13:03:22 -0000 @@ -738,8 +738,8 @@ new BasicSearchEngine(workingCopies).searchAllTypeNames( null, SearchPattern.R_EXACT_MATCH, - CharOperation.toLowerCase(prefix), - SearchPattern.R_EXACT_MATCH, + prefix, + SearchPattern.R_EXACT_MATCH | SearchPattern.R_CASE_SENSITIVE, IJavaSearchConstants.TYPE, scope, requestorWrapper,