### Eclipse Workspace Patch 1.0 #P org.eclipse.jdt.core Index: search/org/eclipse/jdt/core/search/SearchPattern.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/search/org/eclipse/jdt/core/search/SearchPattern.java,v retrieving revision 1.59 diff -u -r1.59 SearchPattern.java --- search/org/eclipse/jdt/core/search/SearchPattern.java 18 Apr 2006 16:28:18 -0000 1.59 +++ search/org/eclipse/jdt/core/search/SearchPattern.java 21 Apr 2006 16:48:11 -0000 @@ -1247,7 +1247,7 @@ typeQualification = CharOperation.subarray(typeErasure, 0, lastDot); if (!field.isBinary()) { // prefix with a '*' as the full qualification could be bigger (because of an import) - CharOperation.concat(IIndexConstants.ONE_STAR, typeQualification); + typeQualification = CharOperation.concat(IIndexConstants.ONE_STAR, typeQualification); } } } catch (JavaModelException e) { #P org.eclipse.jdt.core.tests.model Index: src/org/eclipse/jdt/core/tests/model/JavaSearchBugsTests.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/JavaSearchBugsTests.java,v retrieving revision 1.75 diff -u -r1.75 JavaSearchBugsTests.java --- src/org/eclipse/jdt/core/tests/model/JavaSearchBugsTests.java 18 Apr 2006 16:28:01 -0000 1.75 +++ src/org/eclipse/jdt/core/tests/model/JavaSearchBugsTests.java 21 Apr 2006 16:48:19 -0000 @@ -6348,4 +6348,51 @@ ""+ getExternalJCLPathString("1.5") + " java.lang.CloneNotSupportedException EXACT_MATCH" ); } +static { + TESTS_PREFIX = "testBug137984"; +} +/** + * Bug 137984: [search] Field references not found when type is a qualified member type [regression] + * @see "https://bugs.eclipse.org/bugs/show_bug.cgi?id=137984" + */ +public void testBug137984_jar() throws CoreException { + IType type = getPackageFragment("JavaSearchBugs", "lib/b137984.jar", "").getClassFile("CJ.class").getType(); + IField field = type.getField("c3"); + search(field, REFERENCES); + assertSearchResults( + "lib/b137984.jar CJ(int) EXACT_MATCH" + ); +} +public void testBug137984_cu() throws CoreException { + ICompilationUnit unit = getCompilationUnit("JavaSearchBugs", "src", "b137984", "C.java"); + IField field = unit.getType("C").getField("c3"); + search(field, REFERENCES); + assertSearchResults( + "src/b137984/C.java b137984.C(int) [c3] EXACT_MATCH" + ); +} +public void testBug137984_wc() throws CoreException { + workingCopies = new ICompilationUnit[1]; + workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/CW.java", + "public class CW {\n" + + " CW2 c2;\n" + + " CW2.CW3 c3;\n" + + " CW(int c) {\n" + + " c2 = new CW2(c);\n" + + " c3 = c2.new CW3(c);\n" + + " }\n" + + " class CW2 {\n" + + " CW2(int x) {}\n" + + " class CW3 {\n" + + " CW3(int x) {}\n" + + " }\n" + + " }\n" + + "}\n" + ); + IField field = workingCopies[0].getType("CW").getField("c3"); + search(field, REFERENCES); + assertSearchResults( + "src/CW.java CW(int) [c3] EXACT_MATCH" + ); +} } Index: workspace/JavaSearchBugs/.classpath =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.model/workspace/JavaSearchBugs/.classpath,v retrieving revision 1.13 diff -u -r1.13 .classpath --- workspace/JavaSearchBugs/.classpath 12 Apr 2006 08:51:37 -0000 1.13 +++ workspace/JavaSearchBugs/.classpath 21 Apr 2006 16:48:19 -0000 @@ -12,6 +12,7 @@ + Index: workspace/JavaSearchBugs/lib/b137984.jar =================================================================== RCS file: workspace/JavaSearchBugs/lib/b137984.jar diff -N workspace/JavaSearchBugs/lib/b137984.jar --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ workspace/JavaSearchBugs/lib/b137984.jar 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,10 @@ +PK”•4META-INF/MANIFEST.MFþÊóMÌËLK-.Ñ +K-*ÎÌϳR0Ô3àåâåPK²îPK”•4CJ$CJ2$CJ3.classEPMKÃ@œMb¶M£?QkýÄCUÁR{Tz  AJ薘@’Š˃üþ(ñmªxxóæÍÎîöëûãÀ‡ƒDƒ :§špX Þ\<‹Q&ò‡ÑM2—iÍ`×?ªŒZñÒ|AÚ¥ÊU=ep‡bxῳrÐd®•Úæ9ª°†(Ñ:6È9Ø,õ-lñ +‰ÛØ%Þ#:þPK¢’J~PK”•4CJ.classEQÙJÃ@=Ó¦¦?Ñتu©[]ÓŠúXñ% 4}P*}LãP#1…ý/Áü?J<“Všpï?»?s2ùùýüp„}9?œëéÐfîýgÿ0òãþáeï^)[Á±@±ízÛ®wÜTù‰€9Êi'¬Mœ†q˜ž hv«Ñap·Ò@S&J˜ÈÛ?ŽŽN÷ X¨¨Þ,±m‚5¹W‚À¼‰&t,c +µdb5Ž÷eêFþã£À¬Ýh?gŦ?*VòUÚÿ²Gè&t¬vË‹§‡žL®ý^$*íAàG? U>*jé]HMé­E]Wƒ§$?ç¡Ñ]ï@I Y+Že’‰?\Ê“uræyÍ9? ê¡zA+Á`œä©Ï®šÙs>`:_°ºNíå7Ì1©v?WÌuß±xÃâÊÖ_2È:}½Æ·€2 v ¿ÉJu‡-lg¤{Øa???'µk£Á¨è-šüPKfæòßmPK +”•4CJ.java+(MÊÉLVHÎI,.VpöR¨æåâtö2RH6²†°ôœ½Œ’?!