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

(-)search/org/eclipse/jdt/core/search/SearchPattern.java (-1 / +1 lines)
Lines 1247-1253 Link Here
1247
						typeQualification = CharOperation.subarray(typeErasure, 0, lastDot);
1247
						typeQualification = CharOperation.subarray(typeErasure, 0, lastDot);
1248
						if (!field.isBinary()) {
1248
						if (!field.isBinary()) {
1249
							// prefix with a '*' as the full qualification could be bigger (because of an import)
1249
							// prefix with a '*' as the full qualification could be bigger (because of an import)
1250
							CharOperation.concat(IIndexConstants.ONE_STAR, typeQualification);
1250
							typeQualification = CharOperation.concat(IIndexConstants.ONE_STAR, typeQualification);
1251
						}
1251
						}
1252
					}
1252
					}
1253
				} catch (JavaModelException e) {
1253
				} catch (JavaModelException e) {
(-)src/org/eclipse/jdt/core/tests/model/JavaSearchBugsTests.java (+47 lines)
Lines 6348-6351 Link Here
6348
		""+ getExternalJCLPathString("1.5") + " java.lang.CloneNotSupportedException EXACT_MATCH"
6348
		""+ getExternalJCLPathString("1.5") + " java.lang.CloneNotSupportedException EXACT_MATCH"
6349
	);
6349
	);
6350
}
6350
}
6351
static {
6352
	TESTS_PREFIX = "testBug137984";
6353
}
6354
/**
6355
 * Bug 137984: [search] Field references not found when type is a qualified member type [regression]
6356
 * @see "https://bugs.eclipse.org/bugs/show_bug.cgi?id=137984"
6357
 */
6358
public void testBug137984_jar() throws CoreException {
6359
	IType type = getPackageFragment("JavaSearchBugs", "lib/b137984.jar", "").getClassFile("CJ.class").getType();
6360
	IField field = type.getField("c3");
6361
	search(field, REFERENCES);
6362
	assertSearchResults(
6363
		"lib/b137984.jar CJ(int) EXACT_MATCH"
6364
	);
6365
}
6366
public void testBug137984_cu() throws CoreException {
6367
	ICompilationUnit unit = getCompilationUnit("JavaSearchBugs", "src", "b137984", "C.java");
6368
	IField field = unit.getType("C").getField("c3");
6369
	search(field, REFERENCES);
6370
	assertSearchResults(
6371
		"src/b137984/C.java b137984.C(int) [c3] EXACT_MATCH"
6372
	);
6373
}
6374
public void testBug137984_wc() throws CoreException {
6375
	workingCopies = new ICompilationUnit[1];
6376
	workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/CW.java",
6377
		"public class CW {\n" + 
6378
		"	CW2 c2;\n" + 
6379
		"	CW2.CW3 c3;\n" + 
6380
		"	CW(int c) {\n" + 
6381
		"		c2 = new CW2(c);\n" + 
6382
		"		c3 = c2.new CW3(c);\n" + 
6383
		"	}\n" + 
6384
		"	class CW2 {\n" + 
6385
		"		CW2(int x) {}\n" + 
6386
		"		class CW3 {\n" + 
6387
		"			CW3(int x) {}\n" + 
6388
		"		}\n" + 
6389
		"	}\n" + 
6390
		"}\n"
6391
	);
6392
	IField field = workingCopies[0].getType("CW").getField("c3");
6393
	search(field, REFERENCES);
6394
	assertSearchResults(
6395
		"src/CW.java CW(int) [c3] EXACT_MATCH"
6396
	);
6397
}
6351
}
6398
}
(-)workspace/JavaSearchBugs/.classpath (+1 lines)
Lines 12-17 Link Here
12
	<classpathentry kind="lib" path="lib/b125178.jar" sourcepath="" rootpath=""/>
12
	<classpathentry kind="lib" path="lib/b125178.jar" sourcepath="" rootpath=""/>
13
	<classpathentry kind="lib" path="lib/b126330.jar"/>
13
	<classpathentry kind="lib" path="lib/b126330.jar"/>
14
	<classpathentry kind="lib" path="lib/b128877.jar" sourcepath="/JavaSearchBugs/lib/b128877.jar" rootpath=""/>
14
	<classpathentry kind="lib" path="lib/b128877.jar" sourcepath="/JavaSearchBugs/lib/b128877.jar" rootpath=""/>
15
	<classpathentry kind="lib" path="lib/b137984.jar"/>
15
	<classpathentry kind="lib" path="lib/JavaSearch15.jar" sourcepath="/JavaSearchBugs/lib/JavaSearch15.jar" rootpath=""/>
16
	<classpathentry kind="lib" path="lib/JavaSearch15.jar" sourcepath="/JavaSearchBugs/lib/JavaSearch15.jar" rootpath=""/>
16
	<classpathentry sourcepath="lib" kind="lib" path="lib"/>
17
	<classpathentry sourcepath="lib" kind="lib" path="lib"/>
17
    <classpathentry kind="output" path="bin"/>
18
    <classpathentry kind="output" path="bin"/>
(-)workspace/JavaSearchBugs/lib/b137984.jar (+10 lines)
Added Link Here
1
PK”•4META-INF/MANIFEST.MFþÊóMÌËLK-.Ñ
2
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<c°‚â^¶ÁÐq±Û?‰UkæPº±Êåõâ)‘å?H2ÉàÇE*²™(•žEKï¤×ãÿx´•½P…ú¶X”©¼RÚʃèL‡&w˜ç²2QU²âØ¡˜Ëë{FQšœàˆRšôÌótTͨ8ZÔÛĦ0šsçäô?àî+Mº„vãíÀ#ì‘F.¬Ã¶?MÒl5þ¶©ûÄúØÅ~³§?àPK2ùEñŠPK”•4CJ$CJ2.class-OMOÂ@}S?B­R«â·ñÀ5•£†Ë&&4?4ÜÜhI-IÆ¿åÁ˜xðø£Œo‹‡™}óæí̛Ÿß¯o8táj*j«èÒEULô«î¦:{êÞ?&f<c{öœísA5VÑëë$Kf}A½c‰Áñ?-5}4
3
–},¡æ¡‚.V•Ž4ã$3·ó—‘Éô(5‚0žŽu:Ôybë²jwqr¼°ÄmòƼûé<››ÄÊ\?Y£?e&W©.
4
S¸Ø8*âÒòž}~[bôJ¶‡#º¬ðz	kÕ"†‹:ßQNÙ÷NN?˜>ῳrÐd®•Úæ9ª°†(Ñ:6È9Ø,õ-lñ
5
‰ÛØ%Þ#:þ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
6
µ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
7
”•4CJ.java+(MÊÉLVHÎI,.VpöR¨æåâtö2RH6²†°ôœ½Œ’?!<?̼…dM°*Îd#[…¼Ôr 6#?dMk°˜1P,ÙH"l®b˜
8
FÍ = Ã*€†Õ‚uBå?!òœ Ý(
9
j!PKŸ,¾qm´PK”•4²îMETA-INF/MANIFEST.MFþÊPK”•42ùEñŠaCJ$CJ2$CJ3.classPK”•4¢’J~¾CJ$CJ2.classPK”•4fæòßmCJ.classPK
10
”•4Ÿ,¾qm´·CJ.javaPK)Y
(-)workspace/JavaSearchBugs/src/b137984/C.java (+15 lines)
Added Link Here
1
package b137984;
2
public class C {
3
	C2 c2;
4
	C2.C3 c3;
5
	C(int c) {
6
		c2 = new C2(c);
7
		c3 = c2.new C3(c);
8
	}
9
	class C2 {
10
		C2(int x) {}
11
		class C3 {
12
			C3(int x) {}
13
		}
14
	}
15
}

Return to bug 137984