|
Lines 31-36
Link Here
|
| 31 |
import org.eclipse.jdt.internal.core.index.Index; |
31 |
import org.eclipse.jdt.internal.core.index.Index; |
| 32 |
import org.eclipse.jdt.internal.core.search.AbstractSearchScope; |
32 |
import org.eclipse.jdt.internal.core.search.AbstractSearchScope; |
| 33 |
import org.eclipse.jdt.internal.core.search.indexing.IIndexConstants; |
33 |
import org.eclipse.jdt.internal.core.search.indexing.IIndexConstants; |
|
|
34 |
import org.eclipse.jdt.internal.core.search.matching.AndPattern; |
| 34 |
import org.eclipse.jdt.internal.core.search.indexing.IndexManager; |
35 |
import org.eclipse.jdt.internal.core.search.indexing.IndexManager; |
| 35 |
import org.eclipse.jdt.internal.core.search.matching.MatchLocator; |
36 |
import org.eclipse.jdt.internal.core.search.matching.MatchLocator; |
| 36 |
import org.eclipse.jdt.internal.core.search.matching.PatternLocator; |
37 |
import org.eclipse.jdt.internal.core.search.matching.PatternLocator; |
|
Lines 41-47
Link Here
|
| 41 |
*/ |
42 |
*/ |
| 42 |
public class JavaSearchBugsTests extends AbstractJavaSearchTests implements IJavaSearchConstants { |
43 |
public class JavaSearchBugsTests extends AbstractJavaSearchTests implements IJavaSearchConstants { |
| 43 |
private final static int UI_DECLARATIONS = DECLARATIONS|IGNORE_DECLARING_TYPE|IGNORE_RETURN_TYPE; |
44 |
private final static int UI_DECLARATIONS = DECLARATIONS|IGNORE_DECLARING_TYPE|IGNORE_RETURN_TYPE; |
| 44 |
|
45 |
|
| 45 |
public JavaSearchBugsTests(String name) { |
46 |
public JavaSearchBugsTests(String name) { |
| 46 |
super(name); |
47 |
super(name); |
| 47 |
this.endChar = ""; |
48 |
this.endChar = ""; |
|
Lines 145-163
Link Here
|
| 145 |
workingCopies = new ICompilationUnit[1]; |
146 |
workingCopies = new ICompilationUnit[1]; |
| 146 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b41018/A.java", |
147 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b41018/A.java", |
| 147 |
"package b41018;\n" + |
148 |
"package b41018;\n" + |
| 148 |
"public class A {\n" + |
149 |
"public class A {\n" + |
| 149 |
" protected void anotherMethod() {\n" + |
150 |
" protected void anotherMethod() {\n" + |
| 150 |
" methodA(null);\n" + |
151 |
" methodA(null);\n" + |
| 151 |
" }\n" + |
152 |
" }\n" + |
| 152 |
" private Object methodA(ClassB.InnerInterface arg3) {\n" + |
153 |
" private Object methodA(ClassB.InnerInterface arg3) {\n" + |
| 153 |
" return null;\n" + |
154 |
" return null;\n" + |
| 154 |
" }\n" + |
155 |
" }\n" + |
| 155 |
"}\n" + |
156 |
"}\n" + |
| 156 |
"class ClassB implements InterfaceB {\n" + |
157 |
"class ClassB implements InterfaceB {\n" + |
| 157 |
"}\n" + |
158 |
"}\n" + |
| 158 |
"interface InterfaceB {\n" + |
159 |
"interface InterfaceB {\n" + |
| 159 |
" interface InnerInterface {\n" + |
160 |
" interface InnerInterface {\n" + |
| 160 |
" }\n" + |
161 |
" }\n" + |
| 161 |
"}\n" |
162 |
"}\n" |
| 162 |
); |
163 |
); |
| 163 |
IType type = workingCopies[0].getType("A"); |
164 |
IType type = workingCopies[0].getType("A"); |
|
Lines 175-192
Link Here
|
| 175 |
public void testBug70827() throws CoreException { |
176 |
public void testBug70827() throws CoreException { |
| 176 |
workingCopies = new ICompilationUnit[1]; |
177 |
workingCopies = new ICompilationUnit[1]; |
| 177 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b70827/A.java", |
178 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b70827/A.java", |
| 178 |
"package b70827;\n" + |
179 |
"package b70827;\n" + |
| 179 |
"class A {\n" + |
180 |
"class A {\n" + |
| 180 |
" private void privateMethod() {\n" + |
181 |
" private void privateMethod() {\n" + |
| 181 |
" }\n" + |
182 |
" }\n" + |
| 182 |
"}\n" + |
183 |
"}\n" + |
| 183 |
"class Second extends A {\n" + |
184 |
"class Second extends A {\n" + |
| 184 |
" void call() {\n" + |
185 |
" void call() {\n" + |
| 185 |
" int i= privateMethod();\n" + |
186 |
" int i= privateMethod();\n" + |
| 186 |
" }\n" + |
187 |
" }\n" + |
| 187 |
" int privateMethod() {\n" + |
188 |
" int privateMethod() {\n" + |
| 188 |
" return 1;\n" + |
189 |
" return 1;\n" + |
| 189 |
" }\n" + |
190 |
" }\n" + |
| 190 |
"}\n" |
191 |
"}\n" |
| 191 |
); |
192 |
); |
| 192 |
IType type = workingCopies[0].getType("A"); |
193 |
IType type = workingCopies[0].getType("A"); |
|
Lines 212-225
Link Here
|
| 212 |
}; |
213 |
}; |
| 213 |
workingCopies = new ICompilationUnit[1]; |
214 |
workingCopies = new ICompilationUnit[1]; |
| 214 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b71279/AA.java", |
215 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b71279/AA.java", |
| 215 |
"package b71279;\n" + |
216 |
"package b71279;\n" + |
| 216 |
"public class AA {\n" + |
217 |
"public class AA {\n" + |
| 217 |
" Unknown ref;\n" + |
218 |
" Unknown ref;\n" + |
| 218 |
"}\n" |
219 |
"}\n" |
| 219 |
); |
220 |
); |
| 220 |
new SearchEngine(workingCopies).searchDeclarationsOfReferencedTypes(workingCopies[0], result, null); |
221 |
new SearchEngine(workingCopies).searchDeclarationsOfReferencedTypes(workingCopies[0], result, null); |
| 221 |
assertSearchResults( |
222 |
assertSearchResults( |
| 222 |
"Starting search...\n" + |
223 |
"Starting search...\n" + |
| 223 |
"Done searching.", |
224 |
"Done searching.", |
| 224 |
result); |
225 |
result); |
| 225 |
} |
226 |
} |
|
Lines 232-267
Link Here
|
| 232 |
workingCopies = new ICompilationUnit[4]; |
233 |
workingCopies = new ICompilationUnit[4]; |
| 233 |
WorkingCopyOwner owner = new WorkingCopyOwner() {}; |
234 |
WorkingCopyOwner owner = new WorkingCopyOwner() {}; |
| 234 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b72866/A.java", |
235 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b72866/A.java", |
| 235 |
"package b72866;\n" + |
236 |
"package b72866;\n" + |
| 236 |
"public abstract class A {\n" + |
237 |
"public abstract class A {\n" + |
| 237 |
" public abstract void foo(V v);\n" + |
238 |
" public abstract void foo(V v);\n" + |
| 238 |
"}\n", |
239 |
"}\n", |
| 239 |
owner |
240 |
owner |
| 240 |
); |
241 |
); |
| 241 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b72866/SX.java", |
242 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b72866/SX.java", |
| 242 |
"package b72866;\n" + |
243 |
"package b72866;\n" + |
| 243 |
"public class SX extends A {\n" + |
244 |
"public class SX extends A {\n" + |
| 244 |
" public void foo(V v) {\n" + |
245 |
" public void foo(V v) {\n" + |
| 245 |
" v.bar(this);\n" + |
246 |
" v.bar(this);\n" + |
| 246 |
" }\n" + |
247 |
" }\n" + |
| 247 |
"}\n" , |
248 |
"}\n" , |
| 248 |
owner |
249 |
owner |
| 249 |
); |
250 |
); |
| 250 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b72866/V.java", |
251 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b72866/V.java", |
| 251 |
"package b72866;\n" + |
252 |
"package b72866;\n" + |
| 252 |
"public class V {\n" + |
253 |
"public class V {\n" + |
| 253 |
" void bar(A a) {}\n" + |
254 |
" void bar(A a) {}\n" + |
| 254 |
" void bar(X x) {}\n" + |
255 |
" void bar(X x) {}\n" + |
| 255 |
" void bar(SX s) {}\n" + |
256 |
" void bar(SX s) {}\n" + |
| 256 |
"}\n" , |
257 |
"}\n" , |
| 257 |
owner |
258 |
owner |
| 258 |
); |
259 |
); |
| 259 |
workingCopies[3] = getWorkingCopy("/JavaSearchBugs/src/b72866/X.java", |
260 |
workingCopies[3] = getWorkingCopy("/JavaSearchBugs/src/b72866/X.java", |
| 260 |
"package b72866;\n" + |
261 |
"package b72866;\n" + |
| 261 |
"public class X extends A {\n" + |
262 |
"public class X extends A {\n" + |
| 262 |
" public void foo(V v) {\n" + |
263 |
" public void foo(V v) {\n" + |
| 263 |
" v.bar(this);\n" + |
264 |
" v.bar(this);\n" + |
| 264 |
" }\n" + |
265 |
" }\n" + |
| 265 |
"}\n" , |
266 |
"}\n" , |
| 266 |
owner |
267 |
owner |
| 267 |
); |
268 |
); |
|
Lines 280-324
Link Here
|
| 280 |
public void testBug73112a() throws CoreException { |
281 |
public void testBug73112a() throws CoreException { |
| 281 |
workingCopies = new ICompilationUnit[1]; |
282 |
workingCopies = new ICompilationUnit[1]; |
| 282 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b73112/A.java", |
283 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b73112/A.java", |
| 283 |
"package b73112;\n" + |
284 |
"package b73112;\n" + |
| 284 |
"public class A {\n" + |
285 |
"public class A {\n" + |
| 285 |
" int fieldA73112a = 1, fieldA73112b = new Integer(2).intValue(), fieldA73112c = fieldA73112a + fieldA73112b;\n" + |
286 |
" int fieldA73112a = 1, fieldA73112b = new Integer(2).intValue(), fieldA73112c = fieldA73112a + fieldA73112b;\n" + |
| 286 |
" int fieldA73112d;\n" + |
287 |
" int fieldA73112d;\n" + |
| 287 |
" \n" + |
288 |
" \n" + |
| 288 |
" public void method(){}\n" + |
289 |
" public void method(){}\n" + |
| 289 |
"}\n"); |
290 |
"}\n"); |
| 290 |
// search field references to first multiple field |
291 |
// search field references to first multiple field |
| 291 |
search("fieldA73112*", FIELD, ALL_OCCURRENCES); |
292 |
search("fieldA73112*", FIELD, ALL_OCCURRENCES); |
| 292 |
assertSearchResults( |
293 |
assertSearchResults( |
| 293 |
"src/b73112/A.java b73112.A.fieldA73112a [fieldA73112a] EXACT_MATCH\n" + |
294 |
"src/b73112/A.java b73112.A.fieldA73112a [fieldA73112a] EXACT_MATCH\n" + |
| 294 |
"src/b73112/A.java b73112.A.fieldA73112b [fieldA73112b] EXACT_MATCH\n" + |
295 |
"src/b73112/A.java b73112.A.fieldA73112b [fieldA73112b] EXACT_MATCH\n" + |
| 295 |
"src/b73112/A.java b73112.A.fieldA73112c [fieldA73112c] EXACT_MATCH\n" + |
296 |
"src/b73112/A.java b73112.A.fieldA73112c [fieldA73112c] EXACT_MATCH\n" + |
| 296 |
"src/b73112/A.java b73112.A.fieldA73112c [fieldA73112a] EXACT_MATCH\n" + |
297 |
"src/b73112/A.java b73112.A.fieldA73112c [fieldA73112a] EXACT_MATCH\n" + |
| 297 |
"src/b73112/A.java b73112.A.fieldA73112c [fieldA73112b] EXACT_MATCH\n" + |
298 |
"src/b73112/A.java b73112.A.fieldA73112c [fieldA73112b] EXACT_MATCH\n" + |
| 298 |
"src/b73112/A.java b73112.A.fieldA73112d [fieldA73112d] EXACT_MATCH" |
299 |
"src/b73112/A.java b73112.A.fieldA73112d [fieldA73112d] EXACT_MATCH" |
| 299 |
); |
300 |
); |
| 300 |
} |
301 |
} |
| 301 |
public void testBug73112b() throws CoreException { |
302 |
public void testBug73112b() throws CoreException { |
| 302 |
workingCopies = new ICompilationUnit[1]; |
303 |
workingCopies = new ICompilationUnit[1]; |
| 303 |
workingCopies[0] = super.getWorkingCopy("/JavaSearchBugs/src/b73112/B.java", |
304 |
workingCopies[0] = super.getWorkingCopy("/JavaSearchBugs/src/b73112/B.java", |
| 304 |
"package b73112;\n" + |
305 |
"package b73112;\n" + |
| 305 |
"public class B {\n" + |
306 |
"public class B {\n" + |
| 306 |
" int fieldB73112a, fieldB73112b = 10;\n" + |
307 |
" int fieldB73112a, fieldB73112b = 10;\n" + |
| 307 |
" int fieldB73112c = fieldB73112a + fieldB73112b, fieldB73112d = fieldB73112c + fieldB73112a, fieldB73112e;\n" + |
308 |
" int fieldB73112c = fieldB73112a + fieldB73112b, fieldB73112d = fieldB73112c + fieldB73112a, fieldB73112e;\n" + |
| 308 |
" \n" + |
309 |
" \n" + |
| 309 |
" public void method(){}\n" + |
310 |
" public void method(){}\n" + |
| 310 |
"}\n"); |
311 |
"}\n"); |
| 311 |
// search field references to first multiple field |
312 |
// search field references to first multiple field |
| 312 |
search("fieldB73112*", FIELD, ALL_OCCURRENCES); |
313 |
search("fieldB73112*", FIELD, ALL_OCCURRENCES); |
| 313 |
assertSearchResults( |
314 |
assertSearchResults( |
| 314 |
"src/b73112/B.java b73112.B.fieldB73112a [fieldB73112a] EXACT_MATCH\n" + |
315 |
"src/b73112/B.java b73112.B.fieldB73112a [fieldB73112a] EXACT_MATCH\n" + |
| 315 |
"src/b73112/B.java b73112.B.fieldB73112b [fieldB73112b] EXACT_MATCH\n" + |
316 |
"src/b73112/B.java b73112.B.fieldB73112b [fieldB73112b] EXACT_MATCH\n" + |
| 316 |
"src/b73112/B.java b73112.B.fieldB73112c [fieldB73112c] EXACT_MATCH\n" + |
317 |
"src/b73112/B.java b73112.B.fieldB73112c [fieldB73112c] EXACT_MATCH\n" + |
| 317 |
"src/b73112/B.java b73112.B.fieldB73112c [fieldB73112a] EXACT_MATCH\n" + |
318 |
"src/b73112/B.java b73112.B.fieldB73112c [fieldB73112a] EXACT_MATCH\n" + |
| 318 |
"src/b73112/B.java b73112.B.fieldB73112c [fieldB73112b] EXACT_MATCH\n" + |
319 |
"src/b73112/B.java b73112.B.fieldB73112c [fieldB73112b] EXACT_MATCH\n" + |
| 319 |
"src/b73112/B.java b73112.B.fieldB73112d [fieldB73112d] EXACT_MATCH\n" + |
320 |
"src/b73112/B.java b73112.B.fieldB73112d [fieldB73112d] EXACT_MATCH\n" + |
| 320 |
"src/b73112/B.java b73112.B.fieldB73112d [fieldB73112c] EXACT_MATCH\n" + |
321 |
"src/b73112/B.java b73112.B.fieldB73112d [fieldB73112c] EXACT_MATCH\n" + |
| 321 |
"src/b73112/B.java b73112.B.fieldB73112d [fieldB73112a] EXACT_MATCH\n" + |
322 |
"src/b73112/B.java b73112.B.fieldB73112d [fieldB73112a] EXACT_MATCH\n" + |
| 322 |
"src/b73112/B.java b73112.B.fieldB73112e [fieldB73112e] EXACT_MATCH" |
323 |
"src/b73112/B.java b73112.B.fieldB73112e [fieldB73112e] EXACT_MATCH" |
| 323 |
); |
324 |
); |
| 324 |
} |
325 |
} |
|
Lines 331-376
Link Here
|
| 331 |
workingCopies = new ICompilationUnit[6]; |
332 |
workingCopies = new ICompilationUnit[6]; |
| 332 |
WorkingCopyOwner owner = new WorkingCopyOwner() {}; |
333 |
WorkingCopyOwner owner = new WorkingCopyOwner() {}; |
| 333 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b73336/A.java", |
334 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b73336/A.java", |
| 334 |
"package b73336;\n" + |
335 |
"package b73336;\n" + |
| 335 |
"public class A {}\n", |
336 |
"public class A {}\n", |
| 336 |
owner |
337 |
owner |
| 337 |
); |
338 |
); |
| 338 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b73336/AA.java", |
339 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b73336/AA.java", |
| 339 |
"package b73336;\n" + |
340 |
"package b73336;\n" + |
| 340 |
"public class AA extends A {}\n", |
341 |
"public class AA extends A {}\n", |
| 341 |
owner |
342 |
owner |
| 342 |
); |
343 |
); |
| 343 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b73336/B.java", |
344 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b73336/B.java", |
| 344 |
"package b73336;\n" + |
345 |
"package b73336;\n" + |
| 345 |
"public class B extends X<A, A> {\n" + |
346 |
"public class B extends X<A, A> {\n" + |
| 346 |
" <T> void foo(T t) {}\n" + |
347 |
" <T> void foo(T t) {}\n" + |
| 347 |
"}\n", |
348 |
"}\n", |
| 348 |
owner |
349 |
owner |
| 349 |
); |
350 |
); |
| 350 |
workingCopies[3] = getWorkingCopy("/JavaSearchBugs/src/b73336/C.java", |
351 |
workingCopies[3] = getWorkingCopy("/JavaSearchBugs/src/b73336/C.java", |
| 351 |
"package b73336;\n" + |
352 |
"package b73336;\n" + |
| 352 |
"public class C implements I<A> {\n" + |
353 |
"public class C implements I<A> {\n" + |
| 353 |
" public void foo() {\n" + |
354 |
" public void foo() {\n" + |
| 354 |
" B b = new B();\n" + |
355 |
" B b = new B();\n" + |
| 355 |
" b.<A>foo(new A());\n" + |
356 |
" b.<A>foo(new A());\n" + |
| 356 |
" }\n" + |
357 |
" }\n" + |
| 357 |
"}\n", |
358 |
"}\n", |
| 358 |
owner |
359 |
owner |
| 359 |
); |
360 |
); |
| 360 |
workingCopies[4] = getWorkingCopy("/JavaSearchBugs/src/b73336/I.java", |
361 |
workingCopies[4] = getWorkingCopy("/JavaSearchBugs/src/b73336/I.java", |
| 361 |
"package b73336;\n" + |
362 |
"package b73336;\n" + |
| 362 |
"public interface I<T> {\n" + |
363 |
"public interface I<T> {\n" + |
| 363 |
" public void foo();\n" + |
364 |
" public void foo();\n" + |
| 364 |
"}\n", |
365 |
"}\n", |
| 365 |
owner |
366 |
owner |
| 366 |
); |
367 |
); |
| 367 |
workingCopies[5] = getWorkingCopy("/JavaSearchBugs/src/b73336/X.java", |
368 |
workingCopies[5] = getWorkingCopy("/JavaSearchBugs/src/b73336/X.java", |
| 368 |
"package b73336;\n" + |
369 |
"package b73336;\n" + |
| 369 |
"public class X<T, U> {\n" + |
370 |
"public class X<T, U> {\n" + |
| 370 |
" <V> void foo(V v) {}\n" + |
371 |
" <V> void foo(V v) {}\n" + |
| 371 |
" class Member<T> {\n" + |
372 |
" class Member<T> {\n" + |
| 372 |
" void foo() {}\n" + |
373 |
" void foo() {}\n" + |
| 373 |
" }\n" + |
374 |
" }\n" + |
| 374 |
"}\n", |
375 |
"}\n", |
| 375 |
owner |
376 |
owner |
| 376 |
); |
377 |
); |
|
Lines 378-388
Link Here
|
| 378 |
IType type = workingCopies[0].getType("A"); |
379 |
IType type = workingCopies[0].getType("A"); |
| 379 |
search(type, REFERENCES); //, getJavaSearchScopeBugs("b73336", false)); |
380 |
search(type, REFERENCES); //, getJavaSearchScopeBugs("b73336", false)); |
| 380 |
assertSearchResults( |
381 |
assertSearchResults( |
| 381 |
"src/b73336/AA.java b73336.AA [A] EXACT_MATCH\n" + |
382 |
"src/b73336/AA.java b73336.AA [A] EXACT_MATCH\n" + |
| 382 |
"src/b73336/B.java b73336.B [A] EXACT_MATCH\n" + |
383 |
"src/b73336/B.java b73336.B [A] EXACT_MATCH\n" + |
| 383 |
"src/b73336/B.java b73336.B [A] EXACT_MATCH\n" + |
384 |
"src/b73336/B.java b73336.B [A] EXACT_MATCH\n" + |
| 384 |
"src/b73336/C.java b73336.C [A] EXACT_MATCH\n" + |
385 |
"src/b73336/C.java b73336.C [A] EXACT_MATCH\n" + |
| 385 |
"src/b73336/C.java void b73336.C.foo() [A] EXACT_MATCH\n" + |
386 |
"src/b73336/C.java void b73336.C.foo() [A] EXACT_MATCH\n" + |
| 386 |
"src/b73336/C.java void b73336.C.foo() [A] EXACT_MATCH" |
387 |
"src/b73336/C.java void b73336.C.foo() [A] EXACT_MATCH" |
| 387 |
); |
388 |
); |
| 388 |
} |
389 |
} |
|
Lines 390-421
Link Here
|
| 390 |
workingCopies = new ICompilationUnit[4]; |
391 |
workingCopies = new ICompilationUnit[4]; |
| 391 |
WorkingCopyOwner owner = new WorkingCopyOwner() {}; |
392 |
WorkingCopyOwner owner = new WorkingCopyOwner() {}; |
| 392 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b73336b/A.java", |
393 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b73336b/A.java", |
| 393 |
"package b73336b;\n" + |
394 |
"package b73336b;\n" + |
| 394 |
"public class A {}\n", |
395 |
"public class A {}\n", |
| 395 |
owner |
396 |
owner |
| 396 |
); |
397 |
); |
| 397 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b73336b/B.java", |
398 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b73336b/B.java", |
| 398 |
"package b73336b;\n" + |
399 |
"package b73336b;\n" + |
| 399 |
"public class B extends X<A, A> {\n" + |
400 |
"public class B extends X<A, A> {\n" + |
| 400 |
"}\n", |
401 |
"}\n", |
| 401 |
owner |
402 |
owner |
| 402 |
); |
403 |
); |
| 403 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b73336b/C.java", |
404 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b73336b/C.java", |
| 404 |
"package b73336b;\n" + |
405 |
"package b73336b;\n" + |
| 405 |
"public class C extends X<A, A>.Member<A> {\n" + |
406 |
"public class C extends X<A, A>.Member<A> {\n" + |
| 406 |
" public C() {\n" + |
407 |
" public C() {\n" + |
| 407 |
" new X<A, A>().super();\n" + |
408 |
" new X<A, A>().super();\n" + |
| 408 |
" }\n" + |
409 |
" }\n" + |
| 409 |
"}\n", |
410 |
"}\n", |
| 410 |
owner |
411 |
owner |
| 411 |
); |
412 |
); |
| 412 |
workingCopies[3] = getWorkingCopy("/JavaSearchBugs/src/b73336b/X.java", |
413 |
workingCopies[3] = getWorkingCopy("/JavaSearchBugs/src/b73336b/X.java", |
| 413 |
"package b73336b;\n" + |
414 |
"package b73336b;\n" + |
| 414 |
"public class X<T, U> {\n" + |
415 |
"public class X<T, U> {\n" + |
| 415 |
" <V> void foo(V v) {}\n" + |
416 |
" <V> void foo(V v) {}\n" + |
| 416 |
" class Member<T> {\n" + |
417 |
" class Member<T> {\n" + |
| 417 |
" void foo() {}\n" + |
418 |
" void foo() {}\n" + |
| 418 |
" }\n" + |
419 |
" }\n" + |
| 419 |
"}\n", |
420 |
"}\n", |
| 420 |
owner |
421 |
owner |
| 421 |
); |
422 |
); |
|
Lines 424-435
Link Here
|
| 424 |
// search(type, REFERENCES, getJavaSearchScopeBugs("b73336b", false)); |
425 |
// search(type, REFERENCES, getJavaSearchScopeBugs("b73336b", false)); |
| 425 |
search(type, REFERENCES); //, getJavaSearchScopeBugs("b73336", false)); |
426 |
search(type, REFERENCES); //, getJavaSearchScopeBugs("b73336", false)); |
| 426 |
assertSearchResults( |
427 |
assertSearchResults( |
| 427 |
"src/b73336b/B.java b73336b.B [A] EXACT_MATCH\n" + |
428 |
"src/b73336b/B.java b73336b.B [A] EXACT_MATCH\n" + |
| 428 |
"src/b73336b/B.java b73336b.B [A] EXACT_MATCH\n" + |
429 |
"src/b73336b/B.java b73336b.B [A] EXACT_MATCH\n" + |
| 429 |
"src/b73336b/C.java b73336b.C [A] EXACT_MATCH\n" + |
430 |
"src/b73336b/C.java b73336b.C [A] EXACT_MATCH\n" + |
| 430 |
"src/b73336b/C.java b73336b.C [A] EXACT_MATCH\n" + |
431 |
"src/b73336b/C.java b73336b.C [A] EXACT_MATCH\n" + |
| 431 |
"src/b73336b/C.java b73336b.C [A] EXACT_MATCH\n" + |
432 |
"src/b73336b/C.java b73336b.C [A] EXACT_MATCH\n" + |
| 432 |
"src/b73336b/C.java b73336b.C() [A] EXACT_MATCH\n" + |
433 |
"src/b73336b/C.java b73336b.C() [A] EXACT_MATCH\n" + |
| 433 |
"src/b73336b/C.java b73336b.C() [A] EXACT_MATCH" |
434 |
"src/b73336b/C.java b73336b.C() [A] EXACT_MATCH" |
| 434 |
); |
435 |
); |
| 435 |
} |
436 |
} |
|
Lines 438-466
Link Here
|
| 438 |
workingCopies = new ICompilationUnit[4]; |
439 |
workingCopies = new ICompilationUnit[4]; |
| 439 |
WorkingCopyOwner owner = new WorkingCopyOwner() {}; |
440 |
WorkingCopyOwner owner = new WorkingCopyOwner() {}; |
| 440 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b73336c/A.java", |
441 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b73336c/A.java", |
| 441 |
"package b73336c;\n" + |
442 |
"package b73336c;\n" + |
| 442 |
"public class A {}\n", |
443 |
"public class A {}\n", |
| 443 |
owner |
444 |
owner |
| 444 |
); |
445 |
); |
| 445 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b73336c/B.java", |
446 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b73336c/B.java", |
| 446 |
"package b73336c;\n" + |
447 |
"package b73336c;\n" + |
| 447 |
"public class B extends X<A, A> {\n" + |
448 |
"public class B extends X<A, A> {\n" + |
| 448 |
"}\n", |
449 |
"}\n", |
| 449 |
owner |
450 |
owner |
| 450 |
); |
451 |
); |
| 451 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b73336c/C.java", |
452 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b73336c/C.java", |
| 452 |
"package b73336c;\n" + |
453 |
"package b73336c;\n" + |
| 453 |
"public class C implements X<A, A>.Interface<A> {\n" + |
454 |
"public class C implements X<A, A>.Interface<A> {\n" + |
| 454 |
" void bar() {}\n" + |
455 |
" void bar() {}\n" + |
| 455 |
"}\n", |
456 |
"}\n", |
| 456 |
owner |
457 |
owner |
| 457 |
); |
458 |
); |
| 458 |
workingCopies[3] = getWorkingCopy("/JavaSearchBugs/src/b73336c/X.java", |
459 |
workingCopies[3] = getWorkingCopy("/JavaSearchBugs/src/b73336c/X.java", |
| 459 |
"package b73336c;\n" + |
460 |
"package b73336c;\n" + |
| 460 |
"public class X<T, U> {\n" + |
461 |
"public class X<T, U> {\n" + |
| 461 |
" interface Interface<V> {\n" + |
462 |
" interface Interface<V> {\n" + |
| 462 |
" void bar();\n" + |
463 |
" void bar();\n" + |
| 463 |
" }\n" + |
464 |
" }\n" + |
| 464 |
"}\n", |
465 |
"}\n", |
| 465 |
owner |
466 |
owner |
| 466 |
); |
467 |
); |
|
Lines 469-478
Link Here
|
| 469 |
// search(type, REFERENCES, getJavaSearchScopeBugs("b73336c", false)); |
470 |
// search(type, REFERENCES, getJavaSearchScopeBugs("b73336c", false)); |
| 470 |
search(type, REFERENCES); //, getJavaSearchScopeBugs("b73336", false)); |
471 |
search(type, REFERENCES); //, getJavaSearchScopeBugs("b73336", false)); |
| 471 |
assertSearchResults( |
472 |
assertSearchResults( |
| 472 |
"src/b73336c/B.java b73336c.B [A] EXACT_MATCH\n" + |
473 |
"src/b73336c/B.java b73336c.B [A] EXACT_MATCH\n" + |
| 473 |
"src/b73336c/B.java b73336c.B [A] EXACT_MATCH\n" + |
474 |
"src/b73336c/B.java b73336c.B [A] EXACT_MATCH\n" + |
| 474 |
"src/b73336c/C.java b73336c.C [A] EXACT_MATCH\n" + |
475 |
"src/b73336c/C.java b73336c.C [A] EXACT_MATCH\n" + |
| 475 |
"src/b73336c/C.java b73336c.C [A] EXACT_MATCH\n" + |
476 |
"src/b73336c/C.java b73336c.C [A] EXACT_MATCH\n" + |
| 476 |
"src/b73336c/C.java b73336c.C [A] EXACT_MATCH" |
477 |
"src/b73336c/C.java b73336c.C [A] EXACT_MATCH" |
| 477 |
); |
478 |
); |
| 478 |
} |
479 |
} |
|
Lines 485-502
Link Here
|
| 485 |
workingCopies = new ICompilationUnit[2]; |
486 |
workingCopies = new ICompilationUnit[2]; |
| 486 |
WorkingCopyOwner owner = new WorkingCopyOwner() {}; |
487 |
WorkingCopyOwner owner = new WorkingCopyOwner() {}; |
| 487 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b73696/C.java", |
488 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b73696/C.java", |
| 488 |
"package b73696;\n" + |
489 |
"package b73696;\n" + |
| 489 |
"public class C implements I {\n" + |
490 |
"public class C implements I {\n" + |
| 490 |
"}", |
491 |
"}", |
| 491 |
owner |
492 |
owner |
| 492 |
); |
493 |
); |
| 493 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b73696/I.java", |
494 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b73696/I.java", |
| 494 |
"package b73696;\n" + |
495 |
"package b73696;\n" + |
| 495 |
"public interface I {}\n", |
496 |
"public interface I {}\n", |
| 496 |
owner |
497 |
owner |
| 497 |
); |
498 |
); |
| 498 |
IJavaSearchScope scope = SearchEngine.createJavaSearchScope(workingCopies); |
499 |
IJavaSearchScope scope = SearchEngine.createJavaSearchScope(workingCopies); |
| 499 |
|
500 |
|
| 500 |
// Interface declaration |
501 |
// Interface declaration |
| 501 |
TypeDeclarationPattern pattern = new TypeDeclarationPattern( |
502 |
TypeDeclarationPattern pattern = new TypeDeclarationPattern( |
| 502 |
null, |
503 |
null, |
|
Lines 526-532
Link Here
|
| 526 |
resultCollector, |
527 |
resultCollector, |
| 527 |
null); |
528 |
null); |
| 528 |
assertSearchResults( |
529 |
assertSearchResults( |
| 529 |
"src/b73696/I.java b73696.I [I] EXACT_MATCH\n" + |
530 |
"src/b73696/I.java b73696.I [I] EXACT_MATCH\n" + |
| 530 |
"src/b73696/C.java b73696.C [C] EXACT_MATCH" |
531 |
"src/b73696/C.java b73696.C [C] EXACT_MATCH" |
| 531 |
); |
532 |
); |
| 532 |
} |
533 |
} |
|
Lines 539-568
Link Here
|
| 539 |
workingCopies = new ICompilationUnit[3]; |
540 |
workingCopies = new ICompilationUnit[3]; |
| 540 |
WorkingCopyOwner owner = new WorkingCopyOwner() {}; |
541 |
WorkingCopyOwner owner = new WorkingCopyOwner() {}; |
| 541 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b74776/A.java", |
542 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b74776/A.java", |
| 542 |
"package b74776;\n" + |
543 |
"package b74776;\n" + |
| 543 |
"public class A {\n" + |
544 |
"public class A {\n" + |
| 544 |
" /**\n" + |
545 |
" /**\n" + |
| 545 |
" * @deprecated Use {@link #foo(IRegion)} instead\n" + |
546 |
" * @deprecated Use {@link #foo(IRegion)} instead\n" + |
| 546 |
" * @param r\n" + |
547 |
" * @param r\n" + |
| 547 |
" */\n" + |
548 |
" */\n" + |
| 548 |
" void foo(Region r) {\n" + |
549 |
" void foo(Region r) {\n" + |
| 549 |
" foo((IRegion)r);\n" + |
550 |
" foo((IRegion)r);\n" + |
| 550 |
" }\n" + |
551 |
" }\n" + |
| 551 |
" void foo(IRegion r) {\n" + |
552 |
" void foo(IRegion r) {\n" + |
| 552 |
" }\n" + |
553 |
" }\n" + |
| 553 |
"}\n", |
554 |
"}\n", |
| 554 |
owner |
555 |
owner |
| 555 |
); |
556 |
); |
| 556 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b74776/IRegion.java", |
557 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b74776/IRegion.java", |
| 557 |
"package b74776;\n" + |
558 |
"package b74776;\n" + |
| 558 |
"public interface IRegion {\n" + |
559 |
"public interface IRegion {\n" + |
| 559 |
"}\n", |
560 |
"}\n", |
| 560 |
owner |
561 |
owner |
| 561 |
); |
562 |
); |
| 562 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b74776/Region.java", |
563 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b74776/Region.java", |
| 563 |
"package b74776;\n" + |
564 |
"package b74776;\n" + |
| 564 |
"public class Region implements IRegion {\n" + |
565 |
"public class Region implements IRegion {\n" + |
| 565 |
"\n" + |
566 |
"\n" + |
| 566 |
"}\n", |
567 |
"}\n", |
| 567 |
owner |
568 |
owner |
| 568 |
); |
569 |
); |
|
Lines 595-617
Link Here
|
| 595 |
private void setUpBug77093() throws CoreException { |
596 |
private void setUpBug77093() throws CoreException { |
| 596 |
workingCopies = new ICompilationUnit[1]; |
597 |
workingCopies = new ICompilationUnit[1]; |
| 597 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b77093/X.java", |
598 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b77093/X.java", |
| 598 |
"package b77093;\n" + |
599 |
"package b77093;\n" + |
| 599 |
"public class X {\n" + |
600 |
"public class X {\n" + |
| 600 |
" class Z {\n" + |
601 |
" class Z {\n" + |
| 601 |
" }\n" + |
602 |
" }\n" + |
| 602 |
" Z[][] z_arrays;\n" + |
603 |
" Z[][] z_arrays;\n" + |
| 603 |
" X() {\n" + |
604 |
" X() {\n" + |
| 604 |
" this(new Z[10][]);\n" + |
605 |
" this(new Z[10][]);\n" + |
| 605 |
" }\n" + |
606 |
" }\n" + |
| 606 |
" X(Z[][] arrays) {\n" + |
607 |
" X(Z[][] arrays) {\n" + |
| 607 |
" z_arrays = arrays;\n" + |
608 |
" z_arrays = arrays;\n" + |
| 608 |
" }\n" + |
609 |
" }\n" + |
| 609 |
" private void foo(Z[] args) {\n" + |
610 |
" private void foo(Z[] args) {\n" + |
| 610 |
" }\n" + |
611 |
" }\n" + |
| 611 |
" void bar() {\n" + |
612 |
" void bar() {\n" + |
| 612 |
" for (int i=0; i<z_arrays.length; i++)\n" + |
613 |
" for (int i=0; i<z_arrays.length; i++)\n" + |
| 613 |
" foo(z_arrays[i]);\n" + |
614 |
" foo(z_arrays[i]);\n" + |
| 614 |
" }\n" + |
615 |
" }\n" + |
| 615 |
"}" |
616 |
"}" |
| 616 |
); |
617 |
); |
| 617 |
} |
618 |
} |
|
Lines 634-641
Link Here
|
| 634 |
search(field, ALL_OCCURRENCES); |
635 |
search(field, ALL_OCCURRENCES); |
| 635 |
assertSearchResults( |
636 |
assertSearchResults( |
| 636 |
"src/b77093/X.java b77093.X.z_arrays [z_arrays] EXACT_MATCH\n" + |
637 |
"src/b77093/X.java b77093.X.z_arrays [z_arrays] EXACT_MATCH\n" + |
| 637 |
"src/b77093/X.java b77093.X(Z[][]) [z_arrays] EXACT_MATCH\n" + |
638 |
"src/b77093/X.java b77093.X(Z[][]) [z_arrays] EXACT_MATCH\n" + |
| 638 |
"src/b77093/X.java void b77093.X.bar() [z_arrays] EXACT_MATCH\n" + |
639 |
"src/b77093/X.java void b77093.X.bar() [z_arrays] EXACT_MATCH\n" + |
| 639 |
"src/b77093/X.java void b77093.X.bar() [z_arrays] EXACT_MATCH" |
640 |
"src/b77093/X.java void b77093.X.bar() [z_arrays] EXACT_MATCH" |
| 640 |
); |
641 |
); |
| 641 |
} |
642 |
} |
|
Lines 656-668
Link Here
|
| 656 |
public void testBug77388() throws CoreException { |
657 |
public void testBug77388() throws CoreException { |
| 657 |
workingCopies = new ICompilationUnit[1]; |
658 |
workingCopies = new ICompilationUnit[1]; |
| 658 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b77388/Test.java", |
659 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b77388/Test.java", |
| 659 |
"package b77388;\n" + |
660 |
"package b77388;\n" + |
| 660 |
"class Test {\n" + |
661 |
"class Test {\n" + |
| 661 |
" Test(int a, int b) { }\n" + |
662 |
" Test(int a, int b) { }\n" + |
| 662 |
" void take(Test mc) { }\n" + |
663 |
" void take(Test mc) { }\n" + |
| 663 |
" void run() {\n" + |
664 |
" void run() {\n" + |
| 664 |
" take( new Test(1, 2) ); // space in \") )\" is in match\n" + |
665 |
" take( new Test(1, 2) ); // space in \") )\" is in match\n" + |
| 665 |
" }\n" + |
666 |
" }\n" + |
| 666 |
"}"); |
667 |
"}"); |
| 667 |
IType type = workingCopies[0].getType("Test"); |
668 |
IType type = workingCopies[0].getType("Test"); |
| 668 |
IMethod method = type.getMethod("Test", new String[] {"I", "I"}); |
669 |
IMethod method = type.getMethod("Test", new String[] {"I", "I"}); |
|
Lines 681-698
Link Here
|
| 681 |
workingCopies = new ICompilationUnit[2]; |
682 |
workingCopies = new ICompilationUnit[2]; |
| 682 |
WorkingCopyOwner owner = new WorkingCopyOwner() {}; |
683 |
WorkingCopyOwner owner = new WorkingCopyOwner() {}; |
| 683 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b78082/M.java", |
684 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b78082/M.java", |
| 684 |
"package b78082;\n" + |
685 |
"package b78082;\n" + |
| 685 |
"public class M {\n" + |
686 |
"public class M {\n" + |
| 686 |
" static int VAL=78082;\n" + |
687 |
" static int VAL=78082;\n" + |
| 687 |
"}\n", |
688 |
"}\n", |
| 688 |
owner |
689 |
owner |
| 689 |
); |
690 |
); |
| 690 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b78082/XY.java", |
691 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b78082/XY.java", |
| 691 |
"package b78082;\n" + |
692 |
"package b78082;\n" + |
| 692 |
"import static b78082.M.VAL;\n" + |
693 |
"import static b78082.M.VAL;\n" + |
| 693 |
"public class XY {\n" + |
694 |
"public class XY {\n" + |
| 694 |
" double val = VAL;\n" + |
695 |
" double val = VAL;\n" + |
| 695 |
" double val2= b78082.M.VAL;\n" + |
696 |
" double val2= b78082.M.VAL;\n" + |
| 696 |
"}\n", |
697 |
"}\n", |
| 697 |
owner |
698 |
owner |
| 698 |
); |
699 |
); |
|
Lines 701-709
Link Here
|
| 701 |
IField field = type.getField("VAL"); |
702 |
IField field = type.getField("VAL"); |
| 702 |
search(field, ALL_OCCURRENCES); |
703 |
search(field, ALL_OCCURRENCES); |
| 703 |
assertSearchResults( |
704 |
assertSearchResults( |
| 704 |
"src/b78082/M.java b78082.M.VAL [VAL] EXACT_MATCH\n" + |
705 |
"src/b78082/M.java b78082.M.VAL [VAL] EXACT_MATCH\n" + |
| 705 |
"src/b78082/XY.java [VAL] EXACT_MATCH\n" + |
706 |
"src/b78082/XY.java [VAL] EXACT_MATCH\n" + |
| 706 |
"src/b78082/XY.java b78082.XY.val [VAL] EXACT_MATCH\n" + |
707 |
"src/b78082/XY.java b78082.XY.val [VAL] EXACT_MATCH\n" + |
| 707 |
"src/b78082/XY.java b78082.XY.val2 [VAL] EXACT_MATCH" |
708 |
"src/b78082/XY.java b78082.XY.val2 [VAL] EXACT_MATCH" |
| 708 |
); |
709 |
); |
| 709 |
} |
710 |
} |
|
Lines 715-743
Link Here
|
| 715 |
public void testBug79267() throws CoreException { |
716 |
public void testBug79267() throws CoreException { |
| 716 |
workingCopies = new ICompilationUnit[1]; |
717 |
workingCopies = new ICompilationUnit[1]; |
| 717 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b79267/Test.java", |
718 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b79267/Test.java", |
| 718 |
"package b79267;\n" + |
719 |
"package b79267;\n" + |
| 719 |
"public class Test {\n" + |
720 |
"public class Test {\n" + |
| 720 |
" private static final X<String, String> BEFORE = new X<String, String>(4);\n" + |
721 |
" private static final X<String, String> BEFORE = new X<String, String>(4);\n" + |
| 721 |
"\n" + |
722 |
"\n" + |
| 722 |
" static {\n" + |
723 |
" static {\n" + |
| 723 |
" BEFORE.put(\"key1\",\"value1\");\n" + |
724 |
" BEFORE.put(\"key1\",\"value1\");\n" + |
| 724 |
" BEFORE.put(\"key2\",\"value2\");\n" + |
725 |
" BEFORE.put(\"key2\",\"value2\");\n" + |
| 725 |
" }\n" + |
726 |
" }\n" + |
| 726 |
" \n" + |
727 |
" \n" + |
| 727 |
" private static final X<Y, Object> objectToPrimitiveMap = new X<Y, Object>(8);\n" + |
728 |
" private static final X<Y, Object> objectToPrimitiveMap = new X<Y, Object>(8);\n" + |
| 728 |
"\n" + |
729 |
"\n" + |
| 729 |
" static {\n" + |
730 |
" static {\n" + |
| 730 |
" objectToPrimitiveMap.put(new Y<Object>(new Object()), new Object());\n" + |
731 |
" objectToPrimitiveMap.put(new Y<Object>(new Object()), new Object());\n" + |
| 731 |
" }\n" + |
732 |
" }\n" + |
| 732 |
"}\n" + |
733 |
"}\n" + |
| 733 |
"\n" + |
734 |
"\n" + |
| 734 |
"class X<T, U> {\n" + |
735 |
"class X<T, U> {\n" + |
| 735 |
" X(int x) {}\n" + |
736 |
" X(int x) {}\n" + |
| 736 |
" void put(T t, U u) {}\n" + |
737 |
" void put(T t, U u) {}\n" + |
| 737 |
"}\n" + |
738 |
"}\n" + |
| 738 |
"\n" + |
739 |
"\n" + |
| 739 |
"class Y<T> {\n" + |
740 |
"class Y<T> {\n" + |
| 740 |
" Y(T t) {}\n" + |
741 |
" Y(T t) {}\n" + |
| 741 |
"}\n"); |
742 |
"}\n"); |
| 742 |
// search field references |
743 |
// search field references |
| 743 |
IType type = workingCopies[0].getType("Test"); |
744 |
IType type = workingCopies[0].getType("Test"); |
|
Lines 746-753
Link Here
|
| 746 |
field = type.getField("objectToPrimitiveMap"); |
747 |
field = type.getField("objectToPrimitiveMap"); |
| 747 |
search(field, REFERENCES); |
748 |
search(field, REFERENCES); |
| 748 |
assertSearchResults( |
749 |
assertSearchResults( |
| 749 |
"src/b79267/Test.java b79267.Test.static {} [BEFORE] EXACT_MATCH\n" + |
750 |
"src/b79267/Test.java b79267.Test.static {} [BEFORE] EXACT_MATCH\n" + |
| 750 |
"src/b79267/Test.java b79267.Test.static {} [BEFORE] EXACT_MATCH\n" + |
751 |
"src/b79267/Test.java b79267.Test.static {} [BEFORE] EXACT_MATCH\n" + |
| 751 |
"src/b79267/Test.java b79267.Test.static {} [objectToPrimitiveMap] EXACT_MATCH" |
752 |
"src/b79267/Test.java b79267.Test.static {} [objectToPrimitiveMap] EXACT_MATCH" |
| 752 |
); |
753 |
); |
| 753 |
} |
754 |
} |
|
Lines 759-773
Link Here
|
| 759 |
public void testBug79378() throws CoreException { |
760 |
public void testBug79378() throws CoreException { |
| 760 |
workingCopies = new ICompilationUnit[1]; |
761 |
workingCopies = new ICompilationUnit[1]; |
| 761 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b79378/A.java", |
762 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b79378/A.java", |
| 762 |
"package b79378;\n" + |
763 |
"package b79378;\n" + |
| 763 |
"public class Test {\n" + |
764 |
"public class Test {\n" + |
| 764 |
" void foo79378(String s, RuntimeException[] exceptions) {}\n" + |
765 |
" void foo79378(String s, RuntimeException[] exceptions) {}\n" + |
| 765 |
" void foo79378(RuntimeException[] exceptions) {}\n" + |
766 |
" void foo79378(RuntimeException[] exceptions) {}\n" + |
| 766 |
" void call() {\n" + |
767 |
" void call() {\n" + |
| 767 |
" String s= null; \n" + |
768 |
" String s= null; \n" + |
| 768 |
" Exception[] exceptions= null;\n" + |
769 |
" Exception[] exceptions= null;\n" + |
| 769 |
" foo79378(s, exceptions);\n" + |
770 |
" foo79378(s, exceptions);\n" + |
| 770 |
" }\n" + |
771 |
" }\n" + |
| 771 |
"}\n" |
772 |
"}\n" |
| 772 |
); |
773 |
); |
| 773 |
IMethod[] methods = workingCopies[0].getType("Test").getMethods(); |
774 |
IMethod[] methods = workingCopies[0].getType("Test").getMethods(); |
|
Lines 781-795
Link Here
|
| 781 |
resultCollector.showRule = true; |
782 |
resultCollector.showRule = true; |
| 782 |
workingCopies = new ICompilationUnit[1]; |
783 |
workingCopies = new ICompilationUnit[1]; |
| 783 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b79378/A.java", |
784 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b79378/A.java", |
| 784 |
"package b79378;\n" + |
785 |
"package b79378;\n" + |
| 785 |
"public class Test {\n" + |
786 |
"public class Test {\n" + |
| 786 |
" void foo79378(String s, RuntimeException[] exceptions) {}\n" + |
787 |
" void foo79378(String s, RuntimeException[] exceptions) {}\n" + |
| 787 |
" void foo79378(RuntimeException[] exceptions) {}\n" + |
788 |
" void foo79378(RuntimeException[] exceptions) {}\n" + |
| 788 |
" void call() {\n" + |
789 |
" void call() {\n" + |
| 789 |
" String s= null; \n" + |
790 |
" String s= null; \n" + |
| 790 |
" Exception[] exceptions= null;\n" + |
791 |
" Exception[] exceptions= null;\n" + |
| 791 |
" foo79378(s, exceptions);\n" + |
792 |
" foo79378(s, exceptions);\n" + |
| 792 |
" }\n" + |
793 |
" }\n" + |
| 793 |
"}\n" |
794 |
"}\n" |
| 794 |
); |
795 |
); |
| 795 |
IMethod[] methods = workingCopies[0].getType("Test").getMethods(); |
796 |
IMethod[] methods = workingCopies[0].getType("Test").getMethods(); |
|
Lines 805-836
Link Here
|
| 805 |
public void testBug79803() throws CoreException { |
806 |
public void testBug79803() throws CoreException { |
| 806 |
workingCopies = new ICompilationUnit[1]; |
807 |
workingCopies = new ICompilationUnit[1]; |
| 807 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b79803/A.java", |
808 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b79803/A.java", |
| 808 |
"package b79803;\n" + |
809 |
"package b79803;\n" + |
| 809 |
"class A<A> {\n" + |
810 |
"class A<A> {\n" + |
| 810 |
" A a;\n" + |
811 |
" A a;\n" + |
| 811 |
" b79803.A pa= new b79803.A();\n" + |
812 |
" b79803.A pa= new b79803.A();\n" + |
| 812 |
"}\n" |
813 |
"}\n" |
| 813 |
); |
814 |
); |
| 814 |
IType type = workingCopies[0].getType("A"); |
815 |
IType type = workingCopies[0].getType("A"); |
| 815 |
search(type, REFERENCES, ERASURE_RULE); |
816 |
search(type, REFERENCES, ERASURE_RULE); |
| 816 |
assertSearchResults( |
817 |
assertSearchResults( |
| 817 |
"src/b79803/A.java b79803.A.pa [b79803.A] EXACT_MATCH\n" + |
818 |
"src/b79803/A.java b79803.A.pa [b79803.A] EXACT_MATCH\n" + |
| 818 |
"src/b79803/A.java b79803.A.pa [b79803.A] EXACT_MATCH" |
819 |
"src/b79803/A.java b79803.A.pa [b79803.A] EXACT_MATCH" |
| 819 |
); |
820 |
); |
| 820 |
} |
821 |
} |
| 821 |
public void testBug79803string() throws CoreException { |
822 |
public void testBug79803string() throws CoreException { |
| 822 |
workingCopies = new ICompilationUnit[1]; |
823 |
workingCopies = new ICompilationUnit[1]; |
| 823 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b79803/A.java", |
824 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b79803/A.java", |
| 824 |
"package b79803;\n" + |
825 |
"package b79803;\n" + |
| 825 |
"class A<A> {\n" + |
826 |
"class A<A> {\n" + |
| 826 |
" A a;\n" + |
827 |
" A a;\n" + |
| 827 |
" b79803.A pa= new b79803.A();\n" + |
828 |
" b79803.A pa= new b79803.A();\n" + |
| 828 |
"}\n" |
829 |
"}\n" |
| 829 |
); |
830 |
); |
| 830 |
search("A", TYPE, REFERENCES); |
831 |
search("A", TYPE, REFERENCES); |
| 831 |
assertSearchResults( |
832 |
assertSearchResults( |
| 832 |
"src/b79803/A.java b79803.A.a [A] EXACT_MATCH\n" + |
833 |
"src/b79803/A.java b79803.A.a [A] EXACT_MATCH\n" + |
| 833 |
"src/b79803/A.java b79803.A.pa [A] EXACT_MATCH\n" + |
834 |
"src/b79803/A.java b79803.A.pa [A] EXACT_MATCH\n" + |
| 834 |
"src/b79803/A.java b79803.A.pa [A] EXACT_MATCH" |
835 |
"src/b79803/A.java b79803.A.pa [A] EXACT_MATCH" |
| 835 |
); |
836 |
); |
| 836 |
} |
837 |
} |
|
Lines 843-859
Link Here
|
| 843 |
workingCopies = new ICompilationUnit[2]; |
844 |
workingCopies = new ICompilationUnit[2]; |
| 844 |
WorkingCopyOwner owner = new WorkingCopyOwner() {}; |
845 |
WorkingCopyOwner owner = new WorkingCopyOwner() {}; |
| 845 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b79860/X.java", |
846 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b79860/X.java", |
| 846 |
"package b79860;\n" + |
847 |
"package b79860;\n" + |
| 847 |
"public class X<T extends A> { }\n" + |
848 |
"public class X<T extends A> { }\n" + |
| 848 |
"class A { }", |
849 |
"class A { }", |
| 849 |
owner |
850 |
owner |
| 850 |
); |
851 |
); |
| 851 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b79860/Y.java", |
852 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b79860/Y.java", |
| 852 |
"package b79860;\n" + |
853 |
"package b79860;\n" + |
| 853 |
"public class Y<T extends B&I1&I2&I3> { }\n" + |
854 |
"public class Y<T extends B&I1&I2&I3> { }\n" + |
| 854 |
"class B { }\n" + |
855 |
"class B { }\n" + |
| 855 |
"interface I1 {}\n" + |
856 |
"interface I1 {}\n" + |
| 856 |
"interface I2 {}\n" + |
857 |
"interface I2 {}\n" + |
| 857 |
"interface I3 {}\n", |
858 |
"interface I3 {}\n", |
| 858 |
owner |
859 |
owner |
| 859 |
); |
860 |
); |
|
Lines 867-890
Link Here
|
| 867 |
workingCopies = new ICompilationUnit[2]; |
868 |
workingCopies = new ICompilationUnit[2]; |
| 868 |
WorkingCopyOwner owner = new WorkingCopyOwner() {}; |
869 |
WorkingCopyOwner owner = new WorkingCopyOwner() {}; |
| 869 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b79860/X.java", |
870 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b79860/X.java", |
| 870 |
"package b79860;\n" + |
871 |
"package b79860;\n" + |
| 871 |
"public class X<T extends A> { }\n" + |
872 |
"public class X<T extends A> { }\n" + |
| 872 |
"class A { }", |
873 |
"class A { }", |
| 873 |
owner |
874 |
owner |
| 874 |
); |
875 |
); |
| 875 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b79860/Y.java", |
876 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b79860/Y.java", |
| 876 |
"package b79860;\n" + |
877 |
"package b79860;\n" + |
| 877 |
"public class Y<T extends B&I1&I2&I3> { }\n" + |
878 |
"public class Y<T extends B&I1&I2&I3> { }\n" + |
| 878 |
"class B { }\n" + |
879 |
"class B { }\n" + |
| 879 |
"interface I1 {}\n" + |
880 |
"interface I1 {}\n" + |
| 880 |
"interface I2 {}\n" + |
881 |
"interface I2 {}\n" + |
| 881 |
"interface I3 {}\n", |
882 |
"interface I3 {}\n", |
| 882 |
owner |
883 |
owner |
| 883 |
); |
884 |
); |
| 884 |
search("I?", TYPE, REFERENCES); |
885 |
search("I?", TYPE, REFERENCES); |
| 885 |
assertSearchResults( |
886 |
assertSearchResults( |
| 886 |
"src/b79860/Y.java b79860.Y [I1] EXACT_MATCH\n" + |
887 |
"src/b79860/Y.java b79860.Y [I1] EXACT_MATCH\n" + |
| 887 |
"src/b79860/Y.java b79860.Y [I2] EXACT_MATCH\n" + |
888 |
"src/b79860/Y.java b79860.Y [I2] EXACT_MATCH\n" + |
| 888 |
"src/b79860/Y.java b79860.Y [I3] EXACT_MATCH" |
889 |
"src/b79860/Y.java b79860.Y [I3] EXACT_MATCH" |
| 889 |
); |
890 |
); |
| 890 |
} |
891 |
} |
|
Lines 896-909
Link Here
|
| 896 |
private void setUpBug79990() throws CoreException { |
897 |
private void setUpBug79990() throws CoreException { |
| 897 |
workingCopies = new ICompilationUnit[1]; |
898 |
workingCopies = new ICompilationUnit[1]; |
| 898 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b79990/Test.java", |
899 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b79990/Test.java", |
| 899 |
"package b79990;\n" + |
900 |
"package b79990;\n" + |
| 900 |
"class Test<T> {\n" + |
901 |
"class Test<T> {\n" + |
| 901 |
" public void first(Exception num) {}\n" + |
902 |
" public void first(Exception num) {}\n" + |
| 902 |
" public void second(T t) {}\n" + |
903 |
" public void second(T t) {}\n" + |
| 903 |
"}\n" + |
904 |
"}\n" + |
| 904 |
"class Sub extends Test<Exception> {\n" + |
905 |
"class Sub extends Test<Exception> {\n" + |
| 905 |
" public void first(Exception num) {}\n" + |
906 |
" public void first(Exception num) {}\n" + |
| 906 |
" public void second(Exception t) {}\n" + |
907 |
" public void second(Exception t) {}\n" + |
| 907 |
"}\n" |
908 |
"}\n" |
| 908 |
);} |
909 |
);} |
| 909 |
public void testBug79990() throws CoreException { |
910 |
public void testBug79990() throws CoreException { |
|
Lines 911-917
Link Here
|
| 911 |
IMethod method = workingCopies[0].getType("Test").getMethods()[0]; |
912 |
IMethod method = workingCopies[0].getType("Test").getMethods()[0]; |
| 912 |
search(method, DECLARATIONS); |
913 |
search(method, DECLARATIONS); |
| 913 |
assertSearchResults( |
914 |
assertSearchResults( |
| 914 |
"src/b79990/Test.java void b79990.Test.first(Exception) [first] EXACT_MATCH\n" + |
915 |
"src/b79990/Test.java void b79990.Test.first(Exception) [first] EXACT_MATCH\n" + |
| 915 |
"src/b79990/Test.java void b79990.Sub.first(Exception) [first] EXACT_MATCH" |
916 |
"src/b79990/Test.java void b79990.Sub.first(Exception) [first] EXACT_MATCH" |
| 916 |
); |
917 |
); |
| 917 |
} |
918 |
} |
|
Lines 920-926
Link Here
|
| 920 |
IMethod method = workingCopies[0].getType("Test").getMethods()[1]; |
921 |
IMethod method = workingCopies[0].getType("Test").getMethods()[1]; |
| 921 |
search(method, DECLARATIONS); |
922 |
search(method, DECLARATIONS); |
| 922 |
assertSearchResults( |
923 |
assertSearchResults( |
| 923 |
"src/b79990/Test.java void b79990.Test.second(T) [second] EXACT_MATCH\n" + |
924 |
"src/b79990/Test.java void b79990.Test.second(T) [second] EXACT_MATCH\n" + |
| 924 |
"src/b79990/Test.java void b79990.Sub.second(Exception) [second] EXACT_MATCH" |
925 |
"src/b79990/Test.java void b79990.Sub.second(Exception) [second] EXACT_MATCH" |
| 925 |
); |
926 |
); |
| 926 |
} |
927 |
} |
|
Lines 929-953
Link Here
|
| 929 |
IMethod method = workingCopies[0].getType("Test").getMethods()[1]; |
930 |
IMethod method = workingCopies[0].getType("Test").getMethods()[1]; |
| 930 |
search(method, DECLARATIONS|IGNORE_DECLARING_TYPE|IGNORE_RETURN_TYPE); |
931 |
search(method, DECLARATIONS|IGNORE_DECLARING_TYPE|IGNORE_RETURN_TYPE); |
| 931 |
assertSearchResults( |
932 |
assertSearchResults( |
| 932 |
"src/b79990/Test.java void b79990.Test.second(T) [second] EXACT_MATCH\n" + |
933 |
"src/b79990/Test.java void b79990.Test.second(T) [second] EXACT_MATCH\n" + |
| 933 |
"src/b79990/Test.java void b79990.Sub.second(Exception) [second] EXACT_MATCH" |
934 |
"src/b79990/Test.java void b79990.Sub.second(Exception) [second] EXACT_MATCH" |
| 934 |
); |
935 |
); |
| 935 |
} |
936 |
} |
| 936 |
public void testBug79990d() throws CoreException { |
937 |
public void testBug79990d() throws CoreException { |
| 937 |
workingCopies = new ICompilationUnit[1]; |
938 |
workingCopies = new ICompilationUnit[1]; |
| 938 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b79990/Test.java", |
939 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b79990/Test.java", |
| 939 |
"package b79990;\n" + |
940 |
"package b79990;\n" + |
| 940 |
"public class Test<T> {\n" + |
941 |
"public class Test<T> {\n" + |
| 941 |
" void methodT(T t) {}\n" + |
942 |
" void methodT(T t) {}\n" + |
| 942 |
"}\n" + |
943 |
"}\n" + |
| 943 |
"class Sub<X> extends Test<X> {\n" + |
944 |
"class Sub<X> extends Test<X> {\n" + |
| 944 |
" void methodT(X x) {} // overrides Super#methodT(T)\n" + |
945 |
" void methodT(X x) {} // overrides Super#methodT(T)\n" + |
| 945 |
"}\n" |
946 |
"}\n" |
| 946 |
); |
947 |
); |
| 947 |
IMethod method = workingCopies[0].getType("Test").getMethods()[0]; |
948 |
IMethod method = workingCopies[0].getType("Test").getMethods()[0]; |
| 948 |
search(method, DECLARATIONS); |
949 |
search(method, DECLARATIONS); |
| 949 |
assertSearchResults( |
950 |
assertSearchResults( |
| 950 |
"src/b79990/Test.java void b79990.Test.methodT(T) [methodT] EXACT_MATCH\n" + |
951 |
"src/b79990/Test.java void b79990.Test.methodT(T) [methodT] EXACT_MATCH\n" + |
| 951 |
"src/b79990/Test.java void b79990.Sub.methodT(X) [methodT] EXACT_MATCH" |
952 |
"src/b79990/Test.java void b79990.Sub.methodT(X) [methodT] EXACT_MATCH" |
| 952 |
); |
953 |
); |
| 953 |
} |
954 |
} |
|
Lines 959-972
Link Here
|
| 959 |
public void testBug80084() throws CoreException, JavaModelException { |
960 |
public void testBug80084() throws CoreException, JavaModelException { |
| 960 |
workingCopies = new ICompilationUnit[1]; |
961 |
workingCopies = new ICompilationUnit[1]; |
| 961 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b80084/Test.java", |
962 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b80084/Test.java", |
| 962 |
"package b80084;\n" + |
963 |
"package b80084;\n" + |
| 963 |
"class List<T> {}\n" + |
964 |
"class List<T> {}\n" + |
| 964 |
"public class Test {\n" + |
965 |
"public class Test {\n" + |
| 965 |
" void foo(List<Exception> le) {}\n" + |
966 |
" void foo(List<Exception> le) {}\n" + |
| 966 |
" void bar() {\n" + |
967 |
" void bar() {\n" + |
| 967 |
" List<Exception> le = new List<Exception>();\n" + |
968 |
" List<Exception> le = new List<Exception>();\n" + |
| 968 |
" foo(le);\n" + |
969 |
" foo(le);\n" + |
| 969 |
" }\n" + |
970 |
" }\n" + |
| 970 |
"}\n" |
971 |
"}\n" |
| 971 |
); |
972 |
); |
| 972 |
IType type = workingCopies[0].getType("Test"); |
973 |
IType type = workingCopies[0].getType("Test"); |
|
Lines 984-1002
Link Here
|
| 984 |
private void setUpBug80194() throws CoreException, JavaModelException { |
985 |
private void setUpBug80194() throws CoreException, JavaModelException { |
| 985 |
workingCopies = new ICompilationUnit[1]; |
986 |
workingCopies = new ICompilationUnit[1]; |
| 986 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b80194/Test.java", |
987 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b80194/Test.java", |
| 987 |
"package b80194;\n" + |
988 |
"package b80194;\n" + |
| 988 |
"interface Map<K, V> {}\n" + |
989 |
"interface Map<K, V> {}\n" + |
| 989 |
"class HashMap<K, V> implements Map {}\n" + |
990 |
"class HashMap<K, V> implements Map {}\n" + |
| 990 |
"public class Test {\n" + |
991 |
"public class Test {\n" + |
| 991 |
" void callDoSomething() {\n" + |
992 |
" void callDoSomething() {\n" + |
| 992 |
" final Map<String, Object> map = new HashMap<String, Object>();\n" + |
993 |
" final Map<String, Object> map = new HashMap<String, Object>();\n" + |
| 993 |
" doSomething(map);\n" + |
994 |
" doSomething(map);\n" + |
| 994 |
" doSomething(map, true);\n" + |
995 |
" doSomething(map, true);\n" + |
| 995 |
" doSomething(true);\n" + |
996 |
" doSomething(true);\n" + |
| 996 |
" }\n" + |
997 |
" }\n" + |
| 997 |
" void doSomething(final Map<String, Object> map) {}\n" + |
998 |
" void doSomething(final Map<String, Object> map) {}\n" + |
| 998 |
" void doSomething(final Map<String, Object> map, final boolean flag) {}\n" + |
999 |
" void doSomething(final Map<String, Object> map, final boolean flag) {}\n" + |
| 999 |
" void doSomething(final boolean flag) {}\n" + |
1000 |
" void doSomething(final boolean flag) {}\n" + |
| 1000 |
"}\n" |
1001 |
"}\n" |
| 1001 |
); |
1002 |
); |
| 1002 |
} |
1003 |
} |
|
Lines 1022-1029
Link Here
|
| 1022 |
setUpBug80194(); |
1023 |
setUpBug80194(); |
| 1023 |
search("doSomething(boolean)", METHOD, ALL_OCCURRENCES); |
1024 |
search("doSomething(boolean)", METHOD, ALL_OCCURRENCES); |
| 1024 |
assertSearchResults( |
1025 |
assertSearchResults( |
| 1025 |
"src/b80194/Test.java void b80194.Test.callDoSomething() [doSomething(map)] EXACT_MATCH\n" + |
1026 |
"src/b80194/Test.java void b80194.Test.callDoSomething() [doSomething(map)] EXACT_MATCH\n" + |
| 1026 |
"src/b80194/Test.java void b80194.Test.callDoSomething() [doSomething(true)] EXACT_MATCH\n" + |
1027 |
"src/b80194/Test.java void b80194.Test.callDoSomething() [doSomething(true)] EXACT_MATCH\n" + |
| 1027 |
"src/b80194/Test.java void b80194.Test.doSomething(boolean) [doSomething] EXACT_MATCH" |
1028 |
"src/b80194/Test.java void b80194.Test.doSomething(boolean) [doSomething] EXACT_MATCH" |
| 1028 |
); |
1029 |
); |
| 1029 |
} |
1030 |
} |
|
Lines 1031-1038
Link Here
|
| 1031 |
setUpBug80194(); |
1032 |
setUpBug80194(); |
| 1032 |
search("doSomething(Map<String,Object>)", METHOD, ALL_OCCURRENCES); |
1033 |
search("doSomething(Map<String,Object>)", METHOD, ALL_OCCURRENCES); |
| 1033 |
assertSearchResults( |
1034 |
assertSearchResults( |
| 1034 |
"src/b80194/Test.java void b80194.Test.callDoSomething() [doSomething(map)] EXACT_MATCH\n" + |
1035 |
"src/b80194/Test.java void b80194.Test.callDoSomething() [doSomething(map)] EXACT_MATCH\n" + |
| 1035 |
"src/b80194/Test.java void b80194.Test.callDoSomething() [doSomething(true)] EXACT_MATCH\n" + |
1036 |
"src/b80194/Test.java void b80194.Test.callDoSomething() [doSomething(true)] EXACT_MATCH\n" + |
| 1036 |
"src/b80194/Test.java void b80194.Test.doSomething(Map<String,Object>) [doSomething] EXACT_MATCH" |
1037 |
"src/b80194/Test.java void b80194.Test.doSomething(Map<String,Object>) [doSomething] EXACT_MATCH" |
| 1037 |
); |
1038 |
); |
| 1038 |
} |
1039 |
} |
|
Lines 1040-1046
Link Here
|
| 1040 |
setUpBug80194(); |
1041 |
setUpBug80194(); |
| 1041 |
search("doSomething(Map<String,Object>,boolean)", METHOD, ALL_OCCURRENCES); |
1042 |
search("doSomething(Map<String,Object>,boolean)", METHOD, ALL_OCCURRENCES); |
| 1042 |
assertSearchResults( |
1043 |
assertSearchResults( |
| 1043 |
"src/b80194/Test.java void b80194.Test.callDoSomething() [doSomething(map, true)] EXACT_MATCH\n" + |
1044 |
"src/b80194/Test.java void b80194.Test.callDoSomething() [doSomething(map, true)] EXACT_MATCH\n" + |
| 1044 |
"src/b80194/Test.java void b80194.Test.doSomething(Map<String,Object>, boolean) [doSomething] EXACT_MATCH" |
1045 |
"src/b80194/Test.java void b80194.Test.doSomething(Map<String,Object>, boolean) [doSomething] EXACT_MATCH" |
| 1045 |
); |
1046 |
); |
| 1046 |
} |
1047 |
} |
|
Lines 1053-1068
Link Here
|
| 1053 |
workingCopies = new ICompilationUnit[2]; |
1054 |
workingCopies = new ICompilationUnit[2]; |
| 1054 |
WorkingCopyOwner owner = new WorkingCopyOwner() {}; |
1055 |
WorkingCopyOwner owner = new WorkingCopyOwner() {}; |
| 1055 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b80223/a/A.java", |
1056 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b80223/a/A.java", |
| 1056 |
"package b80223.a;\n" + |
1057 |
"package b80223.a;\n" + |
| 1057 |
"public class A {\n" + |
1058 |
"public class A {\n" + |
| 1058 |
" void m() {}\n" + |
1059 |
" void m() {}\n" + |
| 1059 |
"}", |
1060 |
"}", |
| 1060 |
owner |
1061 |
owner |
| 1061 |
); |
1062 |
); |
| 1062 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b80223/b/B.java", |
1063 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b80223/b/B.java", |
| 1063 |
"package b80223.b;\n" + |
1064 |
"package b80223.b;\n" + |
| 1064 |
"public class B extends b80223.a.A {\n" + |
1065 |
"public class B extends b80223.a.A {\n" + |
| 1065 |
" void m() {}\n" + |
1066 |
" void m() {}\n" + |
| 1066 |
"}", |
1067 |
"}", |
| 1067 |
owner |
1068 |
owner |
| 1068 |
); |
1069 |
); |
|
Lines 1078-1084
Link Here
|
| 1078 |
/** |
1079 |
/** |
| 1079 |
* Bug 80264: [search] Search for method declarations in workspace, disregarding declaring type |
1080 |
* Bug 80264: [search] Search for method declarations in workspace, disregarding declaring type |
| 1080 |
* @see "http://bugs.eclipse.org/bugs/show_bug.cgi?id=80264" |
1081 |
* @see "http://bugs.eclipse.org/bugs/show_bug.cgi?id=80264" |
| 1081 |
* |
1082 |
* |
| 1082 |
* Following tests also verify |
1083 |
* Following tests also verify |
| 1083 |
* Bug 87778: [search] doesn't find all declarations of method with covariant return type |
1084 |
* Bug 87778: [search] doesn't find all declarations of method with covariant return type |
| 1084 |
* @see "http://bugs.eclipse.org/bugs/show_bug.cgi?id=87778" |
1085 |
* @see "http://bugs.eclipse.org/bugs/show_bug.cgi?id=87778" |
|
Lines 1087-1104
Link Here
|
| 1087 |
private void setUpBug80264_Methods() throws CoreException { |
1088 |
private void setUpBug80264_Methods() throws CoreException { |
| 1088 |
workingCopies = new ICompilationUnit[1]; |
1089 |
workingCopies = new ICompilationUnit[1]; |
| 1089 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b80264/Methods.java", |
1090 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b80264/Methods.java", |
| 1090 |
"package b80264;\n" + |
1091 |
"package b80264;\n" + |
| 1091 |
"class Methods {\n" + |
1092 |
"class Methods {\n" + |
| 1092 |
" Methods stable() { return null; }\n" + |
1093 |
" Methods stable() { return null; }\n" + |
| 1093 |
" Methods covariant() { return null; }\n" + |
1094 |
" Methods covariant() { return null; }\n" + |
| 1094 |
"}\n" + |
1095 |
"}\n" + |
| 1095 |
"class MethodsSub extends Methods {\n" + |
1096 |
"class MethodsSub extends Methods {\n" + |
| 1096 |
" Methods stable() { return null; }\n" + |
1097 |
" Methods stable() { return null; }\n" + |
| 1097 |
" MethodsSub covariant() { return null; }\n" + |
1098 |
" MethodsSub covariant() { return null; }\n" + |
| 1098 |
"}\n" + |
1099 |
"}\n" + |
| 1099 |
"class MethodsOther {\n" + |
1100 |
"class MethodsOther {\n" + |
| 1100 |
" Methods stable() { return null; }\n" + |
1101 |
" Methods stable() { return null; }\n" + |
| 1101 |
" Methods covariant() { return null; }\n" + |
1102 |
" Methods covariant() { return null; }\n" + |
| 1102 |
"}\n" |
1103 |
"}\n" |
| 1103 |
); |
1104 |
); |
| 1104 |
} |
1105 |
} |
|
Lines 1109-1117
Link Here
|
| 1109 |
search(methods[0], DECLARATIONS); |
1110 |
search(methods[0], DECLARATIONS); |
| 1110 |
search(methods[1], DECLARATIONS); |
1111 |
search(methods[1], DECLARATIONS); |
| 1111 |
assertSearchResults( |
1112 |
assertSearchResults( |
| 1112 |
"src/b80264/Methods.java Methods b80264.Methods.stable() [stable] EXACT_MATCH\n" + |
1113 |
"src/b80264/Methods.java Methods b80264.Methods.stable() [stable] EXACT_MATCH\n" + |
| 1113 |
"src/b80264/Methods.java Methods b80264.MethodsSub.stable() [stable] EXACT_MATCH\n" + |
1114 |
"src/b80264/Methods.java Methods b80264.MethodsSub.stable() [stable] EXACT_MATCH\n" + |
| 1114 |
"src/b80264/Methods.java Methods b80264.Methods.covariant() [covariant] EXACT_MATCH\n" + |
1115 |
"src/b80264/Methods.java Methods b80264.Methods.covariant() [covariant] EXACT_MATCH\n" + |
| 1115 |
"src/b80264/Methods.java MethodsSub b80264.MethodsSub.covariant() [covariant] EXACT_MATCH" |
1116 |
"src/b80264/Methods.java MethodsSub b80264.MethodsSub.covariant() [covariant] EXACT_MATCH" |
| 1116 |
); |
1117 |
); |
| 1117 |
} |
1118 |
} |
|
Lines 1122-1131
Link Here
|
| 1122 |
search(methods[0], DECLARATIONS|IGNORE_DECLARING_TYPE); |
1123 |
search(methods[0], DECLARATIONS|IGNORE_DECLARING_TYPE); |
| 1123 |
search(methods[1], DECLARATIONS|IGNORE_DECLARING_TYPE); |
1124 |
search(methods[1], DECLARATIONS|IGNORE_DECLARING_TYPE); |
| 1124 |
assertSearchResults( |
1125 |
assertSearchResults( |
| 1125 |
"src/b80264/Methods.java Methods b80264.Methods.stable() [stable] EXACT_MATCH\n" + |
1126 |
"src/b80264/Methods.java Methods b80264.Methods.stable() [stable] EXACT_MATCH\n" + |
| 1126 |
"src/b80264/Methods.java Methods b80264.MethodsSub.stable() [stable] EXACT_MATCH\n" + |
1127 |
"src/b80264/Methods.java Methods b80264.MethodsSub.stable() [stable] EXACT_MATCH\n" + |
| 1127 |
"src/b80264/Methods.java Methods b80264.MethodsOther.stable() [stable] EXACT_MATCH\n" + |
1128 |
"src/b80264/Methods.java Methods b80264.MethodsOther.stable() [stable] EXACT_MATCH\n" + |
| 1128 |
"src/b80264/Methods.java Methods b80264.Methods.covariant() [covariant] EXACT_MATCH\n" + |
1129 |
"src/b80264/Methods.java Methods b80264.Methods.covariant() [covariant] EXACT_MATCH\n" + |
| 1129 |
"src/b80264/Methods.java Methods b80264.MethodsOther.covariant() [covariant] EXACT_MATCH" |
1130 |
"src/b80264/Methods.java Methods b80264.MethodsOther.covariant() [covariant] EXACT_MATCH" |
| 1130 |
); |
1131 |
); |
| 1131 |
} |
1132 |
} |
|
Lines 1136-1144
Link Here
|
| 1136 |
search(methods[0], DECLARATIONS|IGNORE_RETURN_TYPE); |
1137 |
search(methods[0], DECLARATIONS|IGNORE_RETURN_TYPE); |
| 1137 |
search(methods[1], DECLARATIONS|IGNORE_RETURN_TYPE); |
1138 |
search(methods[1], DECLARATIONS|IGNORE_RETURN_TYPE); |
| 1138 |
assertSearchResults( |
1139 |
assertSearchResults( |
| 1139 |
"src/b80264/Methods.java Methods b80264.Methods.stable() [stable] EXACT_MATCH\n" + |
1140 |
"src/b80264/Methods.java Methods b80264.Methods.stable() [stable] EXACT_MATCH\n" + |
| 1140 |
"src/b80264/Methods.java Methods b80264.MethodsSub.stable() [stable] EXACT_MATCH\n" + |
1141 |
"src/b80264/Methods.java Methods b80264.MethodsSub.stable() [stable] EXACT_MATCH\n" + |
| 1141 |
"src/b80264/Methods.java Methods b80264.Methods.covariant() [covariant] EXACT_MATCH\n" + |
1142 |
"src/b80264/Methods.java Methods b80264.Methods.covariant() [covariant] EXACT_MATCH\n" + |
| 1142 |
"src/b80264/Methods.java MethodsSub b80264.MethodsSub.covariant() [covariant] EXACT_MATCH" |
1143 |
"src/b80264/Methods.java MethodsSub b80264.MethodsSub.covariant() [covariant] EXACT_MATCH" |
| 1143 |
); |
1144 |
); |
| 1144 |
} |
1145 |
} |
|
Lines 1149-1159
Link Here
|
| 1149 |
search(methods[0], DECLARATIONS|IGNORE_DECLARING_TYPE|IGNORE_RETURN_TYPE); |
1150 |
search(methods[0], DECLARATIONS|IGNORE_DECLARING_TYPE|IGNORE_RETURN_TYPE); |
| 1150 |
search(methods[1], DECLARATIONS|IGNORE_DECLARING_TYPE|IGNORE_RETURN_TYPE); |
1151 |
search(methods[1], DECLARATIONS|IGNORE_DECLARING_TYPE|IGNORE_RETURN_TYPE); |
| 1151 |
assertSearchResults( |
1152 |
assertSearchResults( |
| 1152 |
"src/b80264/Methods.java Methods b80264.Methods.stable() [stable] EXACT_MATCH\n" + |
1153 |
"src/b80264/Methods.java Methods b80264.Methods.stable() [stable] EXACT_MATCH\n" + |
| 1153 |
"src/b80264/Methods.java Methods b80264.MethodsSub.stable() [stable] EXACT_MATCH\n" + |
1154 |
"src/b80264/Methods.java Methods b80264.MethodsSub.stable() [stable] EXACT_MATCH\n" + |
| 1154 |
"src/b80264/Methods.java Methods b80264.MethodsOther.stable() [stable] EXACT_MATCH\n" + |
1155 |
"src/b80264/Methods.java Methods b80264.MethodsOther.stable() [stable] EXACT_MATCH\n" + |
| 1155 |
"src/b80264/Methods.java Methods b80264.Methods.covariant() [covariant] EXACT_MATCH\n" + |
1156 |
"src/b80264/Methods.java Methods b80264.Methods.covariant() [covariant] EXACT_MATCH\n" + |
| 1156 |
"src/b80264/Methods.java MethodsSub b80264.MethodsSub.covariant() [covariant] EXACT_MATCH\n" + |
1157 |
"src/b80264/Methods.java MethodsSub b80264.MethodsSub.covariant() [covariant] EXACT_MATCH\n" + |
| 1157 |
"src/b80264/Methods.java Methods b80264.MethodsOther.covariant() [covariant] EXACT_MATCH" |
1158 |
"src/b80264/Methods.java Methods b80264.MethodsOther.covariant() [covariant] EXACT_MATCH" |
| 1158 |
); |
1159 |
); |
| 1159 |
} |
1160 |
} |
|
Lines 1161-1175
Link Here
|
| 1161 |
private void setUpBug80264_Classes() throws CoreException { |
1162 |
private void setUpBug80264_Classes() throws CoreException { |
| 1162 |
workingCopies = new ICompilationUnit[1]; |
1163 |
workingCopies = new ICompilationUnit[1]; |
| 1163 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b80264/Classes.java", |
1164 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b80264/Classes.java", |
| 1164 |
"package b80264;\n" + |
1165 |
"package b80264;\n" + |
| 1165 |
"class Classes {\n" + |
1166 |
"class Classes {\n" + |
| 1166 |
" class Inner {}\n" + |
1167 |
" class Inner {}\n" + |
| 1167 |
"}\n" + |
1168 |
"}\n" + |
| 1168 |
"class ClassesSub extends Classes {\n" + |
1169 |
"class ClassesSub extends Classes {\n" + |
| 1169 |
" class Inner {}\n" + |
1170 |
" class Inner {}\n" + |
| 1170 |
"}\n" + |
1171 |
"}\n" + |
| 1171 |
"class ClassesOther {\n" + |
1172 |
"class ClassesOther {\n" + |
| 1172 |
" class Inner {}\n" + |
1173 |
" class Inner {}\n" + |
| 1173 |
"}\n" |
1174 |
"}\n" |
| 1174 |
); |
1175 |
); |
| 1175 |
} |
1176 |
} |
|
Lines 1186-1193
Link Here
|
| 1186 |
IType type = workingCopies[0].getType("Classes").getType("Inner"); |
1187 |
IType type = workingCopies[0].getType("Classes").getType("Inner"); |
| 1187 |
search(type, DECLARATIONS|IGNORE_DECLARING_TYPE); |
1188 |
search(type, DECLARATIONS|IGNORE_DECLARING_TYPE); |
| 1188 |
assertSearchResults( |
1189 |
assertSearchResults( |
| 1189 |
"src/b80264/Classes.java b80264.Classes$Inner [Inner] EXACT_MATCH\n" + |
1190 |
"src/b80264/Classes.java b80264.Classes$Inner [Inner] EXACT_MATCH\n" + |
| 1190 |
"src/b80264/Classes.java b80264.ClassesSub$Inner [Inner] EXACT_MATCH\n" + |
1191 |
"src/b80264/Classes.java b80264.ClassesSub$Inner [Inner] EXACT_MATCH\n" + |
| 1191 |
"src/b80264/Classes.java b80264.ClassesOther$Inner [Inner] EXACT_MATCH" |
1192 |
"src/b80264/Classes.java b80264.ClassesOther$Inner [Inner] EXACT_MATCH" |
| 1192 |
); |
1193 |
); |
| 1193 |
} |
1194 |
} |
|
Lines 1204-1211
Link Here
|
| 1204 |
IType type = workingCopies[0].getType("Classes").getType("Inner"); |
1205 |
IType type = workingCopies[0].getType("Classes").getType("Inner"); |
| 1205 |
search(type, DECLARATIONS|IGNORE_DECLARING_TYPE|IGNORE_RETURN_TYPE); |
1206 |
search(type, DECLARATIONS|IGNORE_DECLARING_TYPE|IGNORE_RETURN_TYPE); |
| 1206 |
assertSearchResults( |
1207 |
assertSearchResults( |
| 1207 |
"src/b80264/Classes.java b80264.Classes$Inner [Inner] EXACT_MATCH\n" + |
1208 |
"src/b80264/Classes.java b80264.Classes$Inner [Inner] EXACT_MATCH\n" + |
| 1208 |
"src/b80264/Classes.java b80264.ClassesSub$Inner [Inner] EXACT_MATCH\n" + |
1209 |
"src/b80264/Classes.java b80264.ClassesSub$Inner [Inner] EXACT_MATCH\n" + |
| 1209 |
"src/b80264/Classes.java b80264.ClassesOther$Inner [Inner] EXACT_MATCH" |
1210 |
"src/b80264/Classes.java b80264.ClassesOther$Inner [Inner] EXACT_MATCH" |
| 1210 |
); |
1211 |
); |
| 1211 |
} |
1212 |
} |
|
Lines 1213-1230
Link Here
|
| 1213 |
private void setUpBug80264_Fields() throws CoreException { |
1214 |
private void setUpBug80264_Fields() throws CoreException { |
| 1214 |
workingCopies = new ICompilationUnit[1]; |
1215 |
workingCopies = new ICompilationUnit[1]; |
| 1215 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b80264/Fields.java", |
1216 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b80264/Fields.java", |
| 1216 |
"package b80264;\n" + |
1217 |
"package b80264;\n" + |
| 1217 |
"class Fields {\n" + |
1218 |
"class Fields {\n" + |
| 1218 |
" Fields field1;\n" + |
1219 |
" Fields field1;\n" + |
| 1219 |
" Fields field2;\n" + |
1220 |
" Fields field2;\n" + |
| 1220 |
"}\n" + |
1221 |
"}\n" + |
| 1221 |
"class FieldsSub extends Fields {\n" + |
1222 |
"class FieldsSub extends Fields {\n" + |
| 1222 |
" Fields field1;\n" + |
1223 |
" Fields field1;\n" + |
| 1223 |
" FieldsSub field2;\n" + |
1224 |
" FieldsSub field2;\n" + |
| 1224 |
"}\n" + |
1225 |
"}\n" + |
| 1225 |
"class FieldsOther {\n" + |
1226 |
"class FieldsOther {\n" + |
| 1226 |
" Fields field1;\n" + |
1227 |
" Fields field1;\n" + |
| 1227 |
" Fields field2;\n" + |
1228 |
" Fields field2;\n" + |
| 1228 |
"}\n" |
1229 |
"}\n" |
| 1229 |
); |
1230 |
); |
| 1230 |
} |
1231 |
} |
|
Lines 1235-1241
Link Here
|
| 1235 |
search(fields[0], DECLARATIONS); |
1236 |
search(fields[0], DECLARATIONS); |
| 1236 |
search(fields[1], DECLARATIONS); |
1237 |
search(fields[1], DECLARATIONS); |
| 1237 |
assertSearchResults( |
1238 |
assertSearchResults( |
| 1238 |
"src/b80264/Fields.java b80264.Fields.field1 [field1] EXACT_MATCH\n" + |
1239 |
"src/b80264/Fields.java b80264.Fields.field1 [field1] EXACT_MATCH\n" + |
| 1239 |
"src/b80264/Fields.java b80264.Fields.field2 [field2] EXACT_MATCH" |
1240 |
"src/b80264/Fields.java b80264.Fields.field2 [field2] EXACT_MATCH" |
| 1240 |
); |
1241 |
); |
| 1241 |
} |
1242 |
} |
|
Lines 1246-1255
Link Here
|
| 1246 |
search(fields[0], DECLARATIONS|IGNORE_DECLARING_TYPE); |
1247 |
search(fields[0], DECLARATIONS|IGNORE_DECLARING_TYPE); |
| 1247 |
search(fields[1], DECLARATIONS|IGNORE_DECLARING_TYPE); |
1248 |
search(fields[1], DECLARATIONS|IGNORE_DECLARING_TYPE); |
| 1248 |
assertSearchResults( |
1249 |
assertSearchResults( |
| 1249 |
"src/b80264/Fields.java b80264.Fields.field1 [field1] EXACT_MATCH\n" + |
1250 |
"src/b80264/Fields.java b80264.Fields.field1 [field1] EXACT_MATCH\n" + |
| 1250 |
"src/b80264/Fields.java b80264.FieldsSub.field1 [field1] EXACT_MATCH\n" + |
1251 |
"src/b80264/Fields.java b80264.FieldsSub.field1 [field1] EXACT_MATCH\n" + |
| 1251 |
"src/b80264/Fields.java b80264.FieldsOther.field1 [field1] EXACT_MATCH\n" + |
1252 |
"src/b80264/Fields.java b80264.FieldsOther.field1 [field1] EXACT_MATCH\n" + |
| 1252 |
"src/b80264/Fields.java b80264.Fields.field2 [field2] EXACT_MATCH\n" + |
1253 |
"src/b80264/Fields.java b80264.Fields.field2 [field2] EXACT_MATCH\n" + |
| 1253 |
"src/b80264/Fields.java b80264.FieldsOther.field2 [field2] EXACT_MATCH" |
1254 |
"src/b80264/Fields.java b80264.FieldsOther.field2 [field2] EXACT_MATCH" |
| 1254 |
); |
1255 |
); |
| 1255 |
} |
1256 |
} |
|
Lines 1260-1266
Link Here
|
| 1260 |
search(fields[0], DECLARATIONS|IGNORE_RETURN_TYPE); |
1261 |
search(fields[0], DECLARATIONS|IGNORE_RETURN_TYPE); |
| 1261 |
search(fields[1], DECLARATIONS|IGNORE_RETURN_TYPE); |
1262 |
search(fields[1], DECLARATIONS|IGNORE_RETURN_TYPE); |
| 1262 |
assertSearchResults( |
1263 |
assertSearchResults( |
| 1263 |
"src/b80264/Fields.java b80264.Fields.field1 [field1] EXACT_MATCH\n" + |
1264 |
"src/b80264/Fields.java b80264.Fields.field1 [field1] EXACT_MATCH\n" + |
| 1264 |
"src/b80264/Fields.java b80264.Fields.field2 [field2] EXACT_MATCH" |
1265 |
"src/b80264/Fields.java b80264.Fields.field2 [field2] EXACT_MATCH" |
| 1265 |
); |
1266 |
); |
| 1266 |
} |
1267 |
} |
|
Lines 1271-1281
Link Here
|
| 1271 |
search(fields[0], DECLARATIONS|IGNORE_DECLARING_TYPE|IGNORE_RETURN_TYPE); |
1272 |
search(fields[0], DECLARATIONS|IGNORE_DECLARING_TYPE|IGNORE_RETURN_TYPE); |
| 1272 |
search(fields[1], DECLARATIONS|IGNORE_DECLARING_TYPE|IGNORE_RETURN_TYPE); |
1273 |
search(fields[1], DECLARATIONS|IGNORE_DECLARING_TYPE|IGNORE_RETURN_TYPE); |
| 1273 |
assertSearchResults( |
1274 |
assertSearchResults( |
| 1274 |
"src/b80264/Fields.java b80264.Fields.field1 [field1] EXACT_MATCH\n" + |
1275 |
"src/b80264/Fields.java b80264.Fields.field1 [field1] EXACT_MATCH\n" + |
| 1275 |
"src/b80264/Fields.java b80264.FieldsSub.field1 [field1] EXACT_MATCH\n" + |
1276 |
"src/b80264/Fields.java b80264.FieldsSub.field1 [field1] EXACT_MATCH\n" + |
| 1276 |
"src/b80264/Fields.java b80264.FieldsOther.field1 [field1] EXACT_MATCH\n" + |
1277 |
"src/b80264/Fields.java b80264.FieldsOther.field1 [field1] EXACT_MATCH\n" + |
| 1277 |
"src/b80264/Fields.java b80264.Fields.field2 [field2] EXACT_MATCH\n" + |
1278 |
"src/b80264/Fields.java b80264.Fields.field2 [field2] EXACT_MATCH\n" + |
| 1278 |
"src/b80264/Fields.java b80264.FieldsSub.field2 [field2] EXACT_MATCH\n" + |
1279 |
"src/b80264/Fields.java b80264.FieldsSub.field2 [field2] EXACT_MATCH\n" + |
| 1279 |
"src/b80264/Fields.java b80264.FieldsOther.field2 [field2] EXACT_MATCH" |
1280 |
"src/b80264/Fields.java b80264.FieldsOther.field2 [field2] EXACT_MATCH" |
| 1280 |
); |
1281 |
); |
| 1281 |
} |
1282 |
} |
|
Lines 1287-1306
Link Here
|
| 1287 |
public void testBug80890() throws CoreException, JavaModelException { |
1288 |
public void testBug80890() throws CoreException, JavaModelException { |
| 1288 |
workingCopies = new ICompilationUnit[1]; |
1289 |
workingCopies = new ICompilationUnit[1]; |
| 1289 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b80890/A.java", |
1290 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b80890/A.java", |
| 1290 |
"package b80890;\n" + |
1291 |
"package b80890;\n" + |
| 1291 |
"public class A {\n" + |
1292 |
"public class A {\n" + |
| 1292 |
" protected void foo(Exception e) {}\n" + |
1293 |
" protected void foo(Exception e) {}\n" + |
| 1293 |
" protected void foo(String s) {}\n" + |
1294 |
" protected void foo(String s) {}\n" + |
| 1294 |
"}\n" + |
1295 |
"}\n" + |
| 1295 |
"class B1 extends A {\n" + |
1296 |
"class B1 extends A {\n" + |
| 1296 |
" public void bar1() {\n" + |
1297 |
" public void bar1() {\n" + |
| 1297 |
" foo(null);\n" + |
1298 |
" foo(null);\n" + |
| 1298 |
" }\n" + |
1299 |
" }\n" + |
| 1299 |
"}\n" + |
1300 |
"}\n" + |
| 1300 |
"class B2 extends A {\n" + |
1301 |
"class B2 extends A {\n" + |
| 1301 |
" public void bar2() {\n" + |
1302 |
" public void bar2() {\n" + |
| 1302 |
" foo(null);\n" + |
1303 |
" foo(null);\n" + |
| 1303 |
" }\n" + |
1304 |
" }\n" + |
| 1304 |
"}\n" |
1305 |
"}\n" |
| 1305 |
); |
1306 |
); |
| 1306 |
// search for first and second method should both return 2 inaccurate matches |
1307 |
// search for first and second method should both return 2 inaccurate matches |
|
Lines 1310-1318
Link Here
|
| 1310 |
method = type.getMethods()[1]; |
1311 |
method = type.getMethods()[1]; |
| 1311 |
search(method, REFERENCES); |
1312 |
search(method, REFERENCES); |
| 1312 |
assertSearchResults( |
1313 |
assertSearchResults( |
| 1313 |
"src/b80890/A.java void b80890.B1.bar1() [foo(null)] POTENTIAL_MATCH\n" + |
1314 |
"src/b80890/A.java void b80890.B1.bar1() [foo(null)] POTENTIAL_MATCH\n" + |
| 1314 |
"src/b80890/A.java void b80890.B2.bar2() [foo(null)] POTENTIAL_MATCH\n" + |
1315 |
"src/b80890/A.java void b80890.B2.bar2() [foo(null)] POTENTIAL_MATCH\n" + |
| 1315 |
"src/b80890/A.java void b80890.B1.bar1() [foo(null)] POTENTIAL_MATCH\n" + |
1316 |
"src/b80890/A.java void b80890.B1.bar1() [foo(null)] POTENTIAL_MATCH\n" + |
| 1316 |
"src/b80890/A.java void b80890.B2.bar2() [foo(null)] POTENTIAL_MATCH" |
1317 |
"src/b80890/A.java void b80890.B2.bar2() [foo(null)] POTENTIAL_MATCH" |
| 1317 |
); |
1318 |
); |
| 1318 |
} |
1319 |
} |
|
Lines 1337-1354
Link Here
|
| 1337 |
public void testBug81084a() throws CoreException, JavaModelException { |
1338 |
public void testBug81084a() throws CoreException, JavaModelException { |
| 1338 |
workingCopies = new ICompilationUnit[1]; |
1339 |
workingCopies = new ICompilationUnit[1]; |
| 1339 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b81084a/Test.java", |
1340 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b81084a/Test.java", |
| 1340 |
"package b81084a;\n" + |
1341 |
"package b81084a;\n" + |
| 1341 |
"class List<E> {}\n" + |
1342 |
"class List<E> {}\n" + |
| 1342 |
"public class Test {\n" + |
1343 |
"public class Test {\n" + |
| 1343 |
" class Element{}\n" + |
1344 |
" class Element{}\n" + |
| 1344 |
" static class Inner {\n" + |
1345 |
" static class Inner {\n" + |
| 1345 |
" private final List<Element> fList1;\n" + |
1346 |
" private final List<Element> fList1;\n" + |
| 1346 |
" private final List<Test.Element> fList2;\n" + |
1347 |
" private final List<Test.Element> fList2;\n" + |
| 1347 |
" public Inner(List<Element> list) {\n" + |
1348 |
" public Inner(List<Element> list) {\n" + |
| 1348 |
" fList1 = list;\n" + |
1349 |
" fList1 = list;\n" + |
| 1349 |
" fList2 = list;\n" + |
1350 |
" fList2 = list;\n" + |
| 1350 |
" }\n" + |
1351 |
" }\n" + |
| 1351 |
" }\n" + |
1352 |
" }\n" + |
| 1352 |
"}\n" |
1353 |
"}\n" |
| 1353 |
); |
1354 |
); |
| 1354 |
IType type = workingCopies[0].getType("Test").getType("Inner"); |
1355 |
IType type = workingCopies[0].getType("Test").getType("Inner"); |
|
Lines 1357-1405
Link Here
|
| 1357 |
IField field2 = type.getField("fList2"); |
1358 |
IField field2 = type.getField("fList2"); |
| 1358 |
search(field2, REFERENCES); |
1359 |
search(field2, REFERENCES); |
| 1359 |
assertSearchResults( |
1360 |
assertSearchResults( |
| 1360 |
"src/b81084a/Test.java b81084a.Test$Inner(List<Element>) [fList1] EXACT_MATCH\n" + |
1361 |
"src/b81084a/Test.java b81084a.Test$Inner(List<Element>) [fList1] EXACT_MATCH\n" + |
| 1361 |
"src/b81084a/Test.java b81084a.Test$Inner(List<Element>) [fList2] EXACT_MATCH" |
1362 |
"src/b81084a/Test.java b81084a.Test$Inner(List<Element>) [fList2] EXACT_MATCH" |
| 1362 |
); |
1363 |
); |
| 1363 |
} |
1364 |
} |
| 1364 |
public void testBug81084string() throws CoreException, JavaModelException { |
1365 |
public void testBug81084string() throws CoreException, JavaModelException { |
| 1365 |
workingCopies = new ICompilationUnit[1]; |
1366 |
workingCopies = new ICompilationUnit[1]; |
| 1366 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b81084a/Test.java", |
1367 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b81084a/Test.java", |
| 1367 |
"package b81084a;\n" + |
1368 |
"package b81084a;\n" + |
| 1368 |
"class List<E> {}\n" + |
1369 |
"class List<E> {}\n" + |
| 1369 |
"public class Test {\n" + |
1370 |
"public class Test {\n" + |
| 1370 |
" class Element{}\n" + |
1371 |
" class Element{}\n" + |
| 1371 |
" static class Inner {\n" + |
1372 |
" static class Inner {\n" + |
| 1372 |
" private final List<Element> fList1;\n" + |
1373 |
" private final List<Element> fList1;\n" + |
| 1373 |
" private final List<Test.Element> fList2;\n" + |
1374 |
" private final List<Test.Element> fList2;\n" + |
| 1374 |
" public Inner(List<Element> list) {\n" + |
1375 |
" public Inner(List<Element> list) {\n" + |
| 1375 |
" fList1 = list;\n" + |
1376 |
" fList1 = list;\n" + |
| 1376 |
" fList2 = list;\n" + |
1377 |
" fList2 = list;\n" + |
| 1377 |
" }\n" + |
1378 |
" }\n" + |
| 1378 |
" }\n" + |
1379 |
" }\n" + |
| 1379 |
"}\n" |
1380 |
"}\n" |
| 1380 |
); |
1381 |
); |
| 1381 |
search("fList1", FIELD, REFERENCES); |
1382 |
search("fList1", FIELD, REFERENCES); |
| 1382 |
search("fList2", FIELD, REFERENCES); |
1383 |
search("fList2", FIELD, REFERENCES); |
| 1383 |
assertSearchResults( |
1384 |
assertSearchResults( |
| 1384 |
"src/b81084a/Test.java b81084a.Test$Inner(List<Element>) [fList1] EXACT_MATCH\n" + |
1385 |
"src/b81084a/Test.java b81084a.Test$Inner(List<Element>) [fList1] EXACT_MATCH\n" + |
| 1385 |
"src/b81084a/Test.java b81084a.Test$Inner(List<Element>) [fList2] EXACT_MATCH" |
1386 |
"src/b81084a/Test.java b81084a.Test$Inner(List<Element>) [fList2] EXACT_MATCH" |
| 1386 |
); |
1387 |
); |
| 1387 |
} |
1388 |
} |
| 1388 |
public void testBug81084b() throws CoreException, JavaModelException { |
1389 |
public void testBug81084b() throws CoreException, JavaModelException { |
| 1389 |
workingCopies = new ICompilationUnit[1]; |
1390 |
workingCopies = new ICompilationUnit[1]; |
| 1390 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b81084b/Test.java", |
1391 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b81084b/Test.java", |
| 1391 |
"package b81084b;\n" + |
1392 |
"package b81084b;\n" + |
| 1392 |
"class List<E> {}\n" + |
1393 |
"class List<E> {}\n" + |
| 1393 |
"public class Test {\n" + |
1394 |
"public class Test {\n" + |
| 1394 |
" class Element{}\n" + |
1395 |
" class Element{}\n" + |
| 1395 |
" static class Inner {\n" + |
1396 |
" static class Inner {\n" + |
| 1396 |
" private final List<? extends Element> fListb1;\n" + |
1397 |
" private final List<? extends Element> fListb1;\n" + |
| 1397 |
" private final List<? extends Test.Element> fListb2;\n" + |
1398 |
" private final List<? extends Test.Element> fListb2;\n" + |
| 1398 |
" public Inner(List<Element> list) {\n" + |
1399 |
" public Inner(List<Element> list) {\n" + |
| 1399 |
" fListb1 = list;\n" + |
1400 |
" fListb1 = list;\n" + |
| 1400 |
" fListb2 = list;\n" + |
1401 |
" fListb2 = list;\n" + |
| 1401 |
" }\n" + |
1402 |
" }\n" + |
| 1402 |
" }\n" + |
1403 |
" }\n" + |
| 1403 |
"}\n" |
1404 |
"}\n" |
| 1404 |
); |
1405 |
); |
| 1405 |
// search element patterns |
1406 |
// search element patterns |
|
Lines 1409-1415
Link Here
|
| 1409 |
IField field2 = type.getField("fListb2"); |
1410 |
IField field2 = type.getField("fListb2"); |
| 1410 |
search(field2, REFERENCES); |
1411 |
search(field2, REFERENCES); |
| 1411 |
assertSearchResults( |
1412 |
assertSearchResults( |
| 1412 |
"src/b81084b/Test.java b81084b.Test$Inner(List<Element>) [fListb1] EXACT_MATCH\n" + |
1413 |
"src/b81084b/Test.java b81084b.Test$Inner(List<Element>) [fListb1] EXACT_MATCH\n" + |
| 1413 |
"src/b81084b/Test.java b81084b.Test$Inner(List<Element>) [fListb2] EXACT_MATCH" |
1414 |
"src/b81084b/Test.java b81084b.Test$Inner(List<Element>) [fListb2] EXACT_MATCH" |
| 1414 |
); |
1415 |
); |
| 1415 |
} |
1416 |
} |
|
Lines 1436-1457
Link Here
|
| 1436 |
workingCopies = new ICompilationUnit[1]; |
1437 |
workingCopies = new ICompilationUnit[1]; |
| 1437 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b82088/m/Test.java", |
1438 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b82088/m/Test.java", |
| 1438 |
"package b82088.m;\n" + |
1439 |
"package b82088.m;\n" + |
| 1439 |
"/**\n" + |
1440 |
"/**\n" + |
| 1440 |
" * @see #setA(A)\n" + |
1441 |
" * @see #setA(A)\n" + |
| 1441 |
" */\n" + |
1442 |
" */\n" + |
| 1442 |
"public class Test {\n" + |
1443 |
"public class Test {\n" + |
| 1443 |
" A a;\n" + |
1444 |
" A a;\n" + |
| 1444 |
" public void setA(A a) {\n" + |
1445 |
" public void setA(A a) {\n" + |
| 1445 |
" this.a = a;\n" + |
1446 |
" this.a = a;\n" + |
| 1446 |
" }\n" + |
1447 |
" }\n" + |
| 1447 |
"}\n" + |
1448 |
"}\n" + |
| 1448 |
"class A {}\n" |
1449 |
"class A {}\n" |
| 1449 |
); |
1450 |
); |
| 1450 |
IType type = workingCopies[0].getType("A"); |
1451 |
IType type = workingCopies[0].getType("A"); |
| 1451 |
search(type, REFERENCES); |
1452 |
search(type, REFERENCES); |
| 1452 |
assertSearchResults( |
1453 |
assertSearchResults( |
| 1453 |
"src/b82088/m/Test.java b82088.m.Test [A] EXACT_MATCH\n" + |
1454 |
"src/b82088/m/Test.java b82088.m.Test [A] EXACT_MATCH\n" + |
| 1454 |
"src/b82088/m/Test.java b82088.m.Test.a [A] EXACT_MATCH\n" + |
1455 |
"src/b82088/m/Test.java b82088.m.Test.a [A] EXACT_MATCH\n" + |
| 1455 |
"src/b82088/m/Test.java void b82088.m.Test.setA(A) [A] EXACT_MATCH" |
1456 |
"src/b82088/m/Test.java void b82088.m.Test.setA(A) [A] EXACT_MATCH" |
| 1456 |
); |
1457 |
); |
| 1457 |
} |
1458 |
} |
|
Lines 1459-1480
Link Here
|
| 1459 |
workingCopies = new ICompilationUnit[1]; |
1460 |
workingCopies = new ICompilationUnit[1]; |
| 1460 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b82088/c/Test.java", |
1461 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b82088/c/Test.java", |
| 1461 |
"package b82088.c;\n" + |
1462 |
"package b82088.c;\n" + |
| 1462 |
"/**\n" + |
1463 |
"/**\n" + |
| 1463 |
" * @see #Test(A)\n" + |
1464 |
" * @see #Test(A)\n" + |
| 1464 |
" */\n" + |
1465 |
" */\n" + |
| 1465 |
"public class Test {\n" + |
1466 |
"public class Test {\n" + |
| 1466 |
" A a;\n" + |
1467 |
" A a;\n" + |
| 1467 |
" Test(A a) {\n" + |
1468 |
" Test(A a) {\n" + |
| 1468 |
" this.a = a;\n" + |
1469 |
" this.a = a;\n" + |
| 1469 |
" }\n" + |
1470 |
" }\n" + |
| 1470 |
"}\n" + |
1471 |
"}\n" + |
| 1471 |
"class A {}\n" |
1472 |
"class A {}\n" |
| 1472 |
); |
1473 |
); |
| 1473 |
IType type = workingCopies[0].getType("A"); |
1474 |
IType type = workingCopies[0].getType("A"); |
| 1474 |
search(type, REFERENCES); |
1475 |
search(type, REFERENCES); |
| 1475 |
assertSearchResults( |
1476 |
assertSearchResults( |
| 1476 |
"src/b82088/c/Test.java b82088.c.Test [A] EXACT_MATCH\n" + |
1477 |
"src/b82088/c/Test.java b82088.c.Test [A] EXACT_MATCH\n" + |
| 1477 |
"src/b82088/c/Test.java b82088.c.Test.a [A] EXACT_MATCH\n" + |
1478 |
"src/b82088/c/Test.java b82088.c.Test.a [A] EXACT_MATCH\n" + |
| 1478 |
"src/b82088/c/Test.java b82088.c.Test(A) [A] EXACT_MATCH" |
1479 |
"src/b82088/c/Test.java b82088.c.Test(A) [A] EXACT_MATCH" |
| 1479 |
); |
1480 |
); |
| 1480 |
} |
1481 |
} |
|
Lines 1486-1495
Link Here
|
| 1486 |
private void setUpBug82208() throws CoreException { |
1487 |
private void setUpBug82208() throws CoreException { |
| 1487 |
workingCopies = new ICompilationUnit[1]; |
1488 |
workingCopies = new ICompilationUnit[1]; |
| 1488 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b82208/Test.java", |
1489 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b82208/Test.java", |
| 1489 |
"package b82208;\n" + |
1490 |
"package b82208;\n" + |
| 1490 |
"interface B82208_I {}\n" + |
1491 |
"interface B82208_I {}\n" + |
| 1491 |
"enum B82208_E {}\n" + |
1492 |
"enum B82208_E {}\n" + |
| 1492 |
"@interface B82208_A {}\n" + |
1493 |
"@interface B82208_A {}\n" + |
| 1493 |
"public class B82208 {}\n" |
1494 |
"public class B82208 {}\n" |
| 1494 |
); |
1495 |
); |
| 1495 |
} |
1496 |
} |
|
Lines 1498-1506
Link Here
|
| 1498 |
setUpBug82208(); |
1499 |
setUpBug82208(); |
| 1499 |
search("B82208*", TYPE, ALL_OCCURRENCES); |
1500 |
search("B82208*", TYPE, ALL_OCCURRENCES); |
| 1500 |
assertSearchResults( |
1501 |
assertSearchResults( |
| 1501 |
"src/b82208/Test.java b82208.B82208_I [B82208_I] EXACT_MATCH\n" + |
1502 |
"src/b82208/Test.java b82208.B82208_I [B82208_I] EXACT_MATCH\n" + |
| 1502 |
"src/b82208/Test.java b82208.B82208_E [B82208_E] EXACT_MATCH\n" + |
1503 |
"src/b82208/Test.java b82208.B82208_E [B82208_E] EXACT_MATCH\n" + |
| 1503 |
"src/b82208/Test.java b82208.B82208_A [B82208_A] EXACT_MATCH\n" + |
1504 |
"src/b82208/Test.java b82208.B82208_A [B82208_A] EXACT_MATCH\n" + |
| 1504 |
"src/b82208/Test.java b82208.B82208 [B82208] EXACT_MATCH" |
1505 |
"src/b82208/Test.java b82208.B82208 [B82208] EXACT_MATCH" |
| 1505 |
); |
1506 |
); |
| 1506 |
} |
1507 |
} |
|
Lines 1541-1547
Link Here
|
| 1541 |
setUpBug82208(); |
1542 |
setUpBug82208(); |
| 1542 |
search("B82208*", CLASS_AND_INTERFACE, ALL_OCCURRENCES); |
1543 |
search("B82208*", CLASS_AND_INTERFACE, ALL_OCCURRENCES); |
| 1543 |
assertSearchResults( |
1544 |
assertSearchResults( |
| 1544 |
"src/b82208/Test.java b82208.B82208_I [B82208_I] EXACT_MATCH\n" + |
1545 |
"src/b82208/Test.java b82208.B82208_I [B82208_I] EXACT_MATCH\n" + |
| 1545 |
"src/b82208/Test.java b82208.B82208 [B82208] EXACT_MATCH" |
1546 |
"src/b82208/Test.java b82208.B82208 [B82208] EXACT_MATCH" |
| 1546 |
); |
1547 |
); |
| 1547 |
} |
1548 |
} |
|
Lines 1550-1556
Link Here
|
| 1550 |
setUpBug82208(); |
1551 |
setUpBug82208(); |
| 1551 |
search("B82208*", CLASS_AND_ENUM, ALL_OCCURRENCES); |
1552 |
search("B82208*", CLASS_AND_ENUM, ALL_OCCURRENCES); |
| 1552 |
assertSearchResults( |
1553 |
assertSearchResults( |
| 1553 |
"src/b82208/Test.java b82208.B82208_E [B82208_E] EXACT_MATCH\n" + |
1554 |
"src/b82208/Test.java b82208.B82208_E [B82208_E] EXACT_MATCH\n" + |
| 1554 |
"src/b82208/Test.java b82208.B82208 [B82208] EXACT_MATCH" |
1555 |
"src/b82208/Test.java b82208.B82208 [B82208] EXACT_MATCH" |
| 1555 |
); |
1556 |
); |
| 1556 |
} |
1557 |
} |
|
Lines 1563-1589
Link Here
|
| 1563 |
resultCollector.showRule = true; |
1564 |
resultCollector.showRule = true; |
| 1564 |
workingCopies = new ICompilationUnit[1]; |
1565 |
workingCopies = new ICompilationUnit[1]; |
| 1565 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b82673/Test.java", |
1566 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b82673/Test.java", |
| 1566 |
"package b82673;\n" + |
1567 |
"package b82673;\n" + |
| 1567 |
"public class Test {\n" + |
1568 |
"public class Test {\n" + |
| 1568 |
" void test1() {\n" + |
1569 |
" void test1() {\n" + |
| 1569 |
" class Dummy {};\n" + |
1570 |
" class Dummy {};\n" + |
| 1570 |
" Dummy d = new Dummy();\n" + |
1571 |
" Dummy d = new Dummy();\n" + |
| 1571 |
" new X();\n" + |
1572 |
" new X();\n" + |
| 1572 |
" }\n" + |
1573 |
" }\n" + |
| 1573 |
" \n" + |
1574 |
" \n" + |
| 1574 |
" void test2() {\n" + |
1575 |
" void test2() {\n" + |
| 1575 |
" class Dummy {};\n" + |
1576 |
" class Dummy {};\n" + |
| 1576 |
" Dummy d = new Dummy();\n" + |
1577 |
" Dummy d = new Dummy();\n" + |
| 1577 |
" new Y();\n" + |
1578 |
" new Y();\n" + |
| 1578 |
" }\n" + |
1579 |
" }\n" + |
| 1579 |
"}\n" + |
1580 |
"}\n" + |
| 1580 |
"class X {}\n" + |
1581 |
"class X {}\n" + |
| 1581 |
"class Y {}\n" |
1582 |
"class Y {}\n" |
| 1582 |
); |
1583 |
); |
| 1583 |
IType type = selectType(workingCopies[0], "Test").getMethod("test1", new String[0]).getType("Dummy", 1); |
1584 |
IType type = selectType(workingCopies[0], "Test").getMethod("test1", new String[0]).getType("Dummy", 1); |
| 1584 |
search(type, REFERENCES); |
1585 |
search(type, REFERENCES); |
| 1585 |
assertSearchResults( |
1586 |
assertSearchResults( |
| 1586 |
"src/b82673/Test.java void b82673.Test.test1() [Dummy] EXACT_MATCH\n" + |
1587 |
"src/b82673/Test.java void b82673.Test.test1() [Dummy] EXACT_MATCH\n" + |
| 1587 |
"src/b82673/Test.java void b82673.Test.test1() [Dummy] EXACT_MATCH" |
1588 |
"src/b82673/Test.java void b82673.Test.test1() [Dummy] EXACT_MATCH" |
| 1588 |
); |
1589 |
); |
| 1589 |
} |
1590 |
} |
|
Lines 1596-1621
Link Here
|
| 1596 |
resultCollector.showRule = true; |
1597 |
resultCollector.showRule = true; |
| 1597 |
workingCopies = new ICompilationUnit[1]; |
1598 |
workingCopies = new ICompilationUnit[1]; |
| 1598 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b83012/Test.java", |
1599 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b83012/Test.java", |
| 1599 |
"package b83012;\n" + |
1600 |
"package b83012;\n" + |
| 1600 |
"@interface A {\n" + |
1601 |
"@interface A {\n" + |
| 1601 |
" String value() default \"\";\n" + |
1602 |
" String value() default \"\";\n" + |
| 1602 |
"}\n" + |
1603 |
"}\n" + |
| 1603 |
"@interface Main {\n" + |
1604 |
"@interface Main {\n" + |
| 1604 |
" A first() default @A(\"Void\");\n" + |
1605 |
" A first() default @A(\"Void\");\n" + |
| 1605 |
" A second();\n" + |
1606 |
" A second();\n" + |
| 1606 |
"}\n" + |
1607 |
"}\n" + |
| 1607 |
"\n" + |
1608 |
"\n" + |
| 1608 |
"@Main(first=@A(\"\"), second=@A(\"2\"))\n" + |
1609 |
"@Main(first=@A(\"\"), second=@A(\"2\"))\n" + |
| 1609 |
"public class Test {\n" + |
1610 |
"public class Test {\n" + |
| 1610 |
"}\n" |
1611 |
"}\n" |
| 1611 |
); |
1612 |
); |
| 1612 |
IType type = selectType(workingCopies[0], "A"); |
1613 |
IType type = selectType(workingCopies[0], "A"); |
| 1613 |
search(type, REFERENCES); |
1614 |
search(type, REFERENCES); |
| 1614 |
assertSearchResults( |
1615 |
assertSearchResults( |
| 1615 |
"src/b83012/Test.java A b83012.Main.first() [A] EXACT_MATCH\n" + |
1616 |
"src/b83012/Test.java A b83012.Main.first() [A] EXACT_MATCH\n" + |
| 1616 |
"src/b83012/Test.java A b83012.Main.first() [A] EXACT_MATCH\n" + |
1617 |
"src/b83012/Test.java A b83012.Main.first() [A] EXACT_MATCH\n" + |
| 1617 |
"src/b83012/Test.java A b83012.Main.second() [A] EXACT_MATCH\n" + |
1618 |
"src/b83012/Test.java A b83012.Main.second() [A] EXACT_MATCH\n" + |
| 1618 |
"src/b83012/Test.java b83012.Test [A] EXACT_MATCH\n" + |
1619 |
"src/b83012/Test.java b83012.Test [A] EXACT_MATCH\n" + |
| 1619 |
"src/b83012/Test.java b83012.Test [A] EXACT_MATCH" |
1620 |
"src/b83012/Test.java b83012.Test [A] EXACT_MATCH" |
| 1620 |
); |
1621 |
); |
| 1621 |
} |
1622 |
} |
|
Lines 1628-1665
Link Here
|
| 1628 |
resultCollector.showRule = true; |
1629 |
resultCollector.showRule = true; |
| 1629 |
workingCopies = new ICompilationUnit[1]; |
1630 |
workingCopies = new ICompilationUnit[1]; |
| 1630 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b83230/Test.java", |
1631 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b83230/Test.java", |
| 1631 |
"package b83230;\n" + |
1632 |
"package b83230;\n" + |
| 1632 |
"@interface Author {\n" + |
1633 |
"@interface Author {\n" + |
| 1633 |
" String[] authorName() default \"FREDERIC\";\n" + |
1634 |
" String[] authorName() default \"FREDERIC\";\n" + |
| 1634 |
" int[] age();\n" + |
1635 |
" int[] age();\n" + |
| 1635 |
" int ageMin = 20;\n" + |
1636 |
" int ageMin = 20;\n" + |
| 1636 |
" @interface Surname {}\n" + |
1637 |
" @interface Surname {}\n" + |
| 1637 |
" class Address {\n" + |
1638 |
" class Address {\n" + |
| 1638 |
" String city;\n" + |
1639 |
" String city;\n" + |
| 1639 |
" public void foo(Object obj) {}\n" + |
1640 |
" public void foo(Object obj) {}\n" + |
| 1640 |
" }\n" + |
1641 |
" }\n" + |
| 1641 |
"}\n" + |
1642 |
"}\n" + |
| 1642 |
"\n" + |
1643 |
"\n" + |
| 1643 |
"@Author(authorName=\"FREDERIC\", age=41)\n" + |
1644 |
"@Author(authorName=\"FREDERIC\", age=41)\n" + |
| 1644 |
"public class Test {\n" + |
1645 |
"public class Test {\n" + |
| 1645 |
" @Author(authorName={\"FREDERIC\", \"JEROME\"}, age={41, 35} )\n" + |
1646 |
" @Author(authorName={\"FREDERIC\", \"JEROME\"}, age={41, 35} )\n" + |
| 1646 |
" Test() {}\n" + |
1647 |
" Test() {}\n" + |
| 1647 |
" @Author(authorName=\"PHILIPPE\", age=37)\n" + |
1648 |
" @Author(authorName=\"PHILIPPE\", age=37)\n" + |
| 1648 |
" void foo() {\n" + |
1649 |
" void foo() {\n" + |
| 1649 |
" @Author(authorName=\"FREDERIC\", age=41)\n" + |
1650 |
" @Author(authorName=\"FREDERIC\", age=41)\n" + |
| 1650 |
" final Object obj = new Object() {};\n" + |
1651 |
" final Object obj = new Object() {};\n" + |
| 1651 |
" @Author(authorName=\"FREDERIC\", age=41)\n" + |
1652 |
" @Author(authorName=\"FREDERIC\", age=41)\n" + |
| 1652 |
" class Local {\n" + |
1653 |
" class Local {\n" + |
| 1653 |
" @Author(authorName=\"FREDERIC\", age=41)\n" + |
1654 |
" @Author(authorName=\"FREDERIC\", age=41)\n" + |
| 1654 |
" String foo() {\n" + |
1655 |
" String foo() {\n" + |
| 1655 |
" Author.Address address = new Author.Address();\n" + |
1656 |
" Author.Address address = new Author.Address();\n" + |
| 1656 |
" address.foo(obj);\n" + |
1657 |
" address.foo(obj);\n" + |
| 1657 |
" return address.city;\n" + |
1658 |
" return address.city;\n" + |
| 1658 |
" }\n" + |
1659 |
" }\n" + |
| 1659 |
" }\n" + |
1660 |
" }\n" + |
| 1660 |
" }\n" + |
1661 |
" }\n" + |
| 1661 |
" @Author(authorName=\"DAVID\", age=28)\n" + |
1662 |
" @Author(authorName=\"DAVID\", age=28)\n" + |
| 1662 |
" int min = Author.ageMin;\n" + |
1663 |
" int min = Author.ageMin;\n" + |
| 1663 |
"}\n" |
1664 |
"}\n" |
| 1664 |
); |
1665 |
); |
| 1665 |
} |
1666 |
} |
|
Lines 1669-1680
Link Here
|
| 1669 |
IMethod method = selectMethod(workingCopies[0], "authorName"); |
1670 |
IMethod method = selectMethod(workingCopies[0], "authorName"); |
| 1670 |
search(method, REFERENCES); |
1671 |
search(method, REFERENCES); |
| 1671 |
assertSearchResults( |
1672 |
assertSearchResults( |
| 1672 |
"src/b83230/Test.java b83230.Test [authorName] EXACT_MATCH\n" + |
1673 |
"src/b83230/Test.java b83230.Test [authorName] EXACT_MATCH\n" + |
| 1673 |
"src/b83230/Test.java b83230.Test.min [authorName] EXACT_MATCH\n" + |
1674 |
"src/b83230/Test.java b83230.Test.min [authorName] EXACT_MATCH\n" + |
| 1674 |
"src/b83230/Test.java b83230.Test() [authorName] EXACT_MATCH\n" + |
1675 |
"src/b83230/Test.java b83230.Test() [authorName] EXACT_MATCH\n" + |
| 1675 |
"src/b83230/Test.java void b83230.Test.foo():Local#1 [authorName] EXACT_MATCH\n" + |
1676 |
"src/b83230/Test.java void b83230.Test.foo():Local#1 [authorName] EXACT_MATCH\n" + |
| 1676 |
"src/b83230/Test.java String void b83230.Test.foo():Local#1.foo() [authorName] EXACT_MATCH\n" + |
1677 |
"src/b83230/Test.java String void b83230.Test.foo():Local#1.foo() [authorName] EXACT_MATCH\n" + |
| 1677 |
"src/b83230/Test.java void b83230.Test.foo() [authorName] EXACT_MATCH\n" + |
1678 |
"src/b83230/Test.java void b83230.Test.foo() [authorName] EXACT_MATCH\n" + |
| 1678 |
"src/b83230/Test.java void b83230.Test.foo() [authorName] EXACT_MATCH" |
1679 |
"src/b83230/Test.java void b83230.Test.foo() [authorName] EXACT_MATCH" |
| 1679 |
); |
1680 |
); |
| 1680 |
} |
1681 |
} |
|
Lines 1693-1699
Link Here
|
| 1693 |
IType type = selectType(workingCopies[0], "Address"); |
1694 |
IType type = selectType(workingCopies[0], "Address"); |
| 1694 |
search(type, REFERENCES); |
1695 |
search(type, REFERENCES); |
| 1695 |
assertSearchResults( |
1696 |
assertSearchResults( |
| 1696 |
"src/b83230/Test.java String void b83230.Test.foo():Local#1.foo() [Author.Address] EXACT_MATCH\n" + |
1697 |
"src/b83230/Test.java String void b83230.Test.foo():Local#1.foo() [Author.Address] EXACT_MATCH\n" + |
| 1697 |
"src/b83230/Test.java String void b83230.Test.foo():Local#1.foo() [Author.Address] EXACT_MATCH" |
1698 |
"src/b83230/Test.java String void b83230.Test.foo():Local#1.foo() [Author.Address] EXACT_MATCH" |
| 1698 |
); |
1699 |
); |
| 1699 |
} |
1700 |
} |
|
Lines 1728-1751
Link Here
|
| 1728 |
resultCollector.showRule = true; |
1729 |
resultCollector.showRule = true; |
| 1729 |
workingCopies = new ICompilationUnit[1]; |
1730 |
workingCopies = new ICompilationUnit[1]; |
| 1730 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b83230/Test.java", |
1731 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b83230/Test.java", |
| 1731 |
"package b83230;\n" + |
1732 |
"package b83230;\n" + |
| 1732 |
"@interface Annot {\n" + |
1733 |
"@interface Annot {\n" + |
| 1733 |
" int value();\n" + |
1734 |
" int value();\n" + |
| 1734 |
"}\n" + |
1735 |
"}\n" + |
| 1735 |
"@Annot(41)\n" + |
1736 |
"@Annot(41)\n" + |
| 1736 |
"public class Test {\n" + |
1737 |
"public class Test {\n" + |
| 1737 |
" @Annot(10)\n" + |
1738 |
" @Annot(10)\n" + |
| 1738 |
" public void foo() {}\n" + |
1739 |
" public void foo() {}\n" + |
| 1739 |
" @Annot(21)\n" + |
1740 |
" @Annot(21)\n" + |
| 1740 |
" int bar;\n" + |
1741 |
" int bar;\n" + |
| 1741 |
"}\n" |
1742 |
"}\n" |
| 1742 |
); |
1743 |
); |
| 1743 |
IType type = selectType(workingCopies[0], "Annot"); |
1744 |
IType type = selectType(workingCopies[0], "Annot"); |
| 1744 |
IMethod method = type.getMethod("value", new String[0]); |
1745 |
IMethod method = type.getMethod("value", new String[0]); |
| 1745 |
search(method, REFERENCES); |
1746 |
search(method, REFERENCES); |
| 1746 |
assertSearchResults( |
1747 |
assertSearchResults( |
| 1747 |
"src/b83230/Test.java b83230.Test [41] EXACT_MATCH\n" + |
1748 |
"src/b83230/Test.java b83230.Test [41] EXACT_MATCH\n" + |
| 1748 |
"src/b83230/Test.java b83230.Test.bar [21] EXACT_MATCH\n" + |
1749 |
"src/b83230/Test.java b83230.Test.bar [21] EXACT_MATCH\n" + |
| 1749 |
"src/b83230/Test.java void b83230.Test.foo() [10] EXACT_MATCH" |
1750 |
"src/b83230/Test.java void b83230.Test.foo() [10] EXACT_MATCH" |
| 1750 |
); |
1751 |
); |
| 1751 |
} |
1752 |
} |
|
Lines 1753-1777
Link Here
|
| 1753 |
resultCollector.showRule = true; |
1754 |
resultCollector.showRule = true; |
| 1754 |
workingCopies = new ICompilationUnit[1]; |
1755 |
workingCopies = new ICompilationUnit[1]; |
| 1755 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b83230/Test.java", |
1756 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b83230/Test.java", |
| 1756 |
"package b83230;\n" + |
1757 |
"package b83230;\n" + |
| 1757 |
"@interface A {\n" + |
1758 |
"@interface A {\n" + |
| 1758 |
" String value() default \"\";\n" + |
1759 |
" String value() default \"\";\n" + |
| 1759 |
"}\n" + |
1760 |
"}\n" + |
| 1760 |
"@interface Main {\n" + |
1761 |
"@interface Main {\n" + |
| 1761 |
" A first() default @A(\"Void\");\n" + |
1762 |
" A first() default @A(\"Void\");\n" + |
| 1762 |
" A second();\n" + |
1763 |
" A second();\n" + |
| 1763 |
"}\n" + |
1764 |
"}\n" + |
| 1764 |
"\n" + |
1765 |
"\n" + |
| 1765 |
"@Main(first=@A(\"\"), second=@A(\"2\"))\n" + |
1766 |
"@Main(first=@A(\"\"), second=@A(\"2\"))\n" + |
| 1766 |
"public class Test {\n" + |
1767 |
"public class Test {\n" + |
| 1767 |
"}\n" |
1768 |
"}\n" |
| 1768 |
); |
1769 |
); |
| 1769 |
IType type = selectType(workingCopies[0], "A"); |
1770 |
IType type = selectType(workingCopies[0], "A"); |
| 1770 |
IMethod method = type.getMethod("value", new String[0]); |
1771 |
IMethod method = type.getMethod("value", new String[0]); |
| 1771 |
search(method, REFERENCES); |
1772 |
search(method, REFERENCES); |
| 1772 |
assertSearchResults( |
1773 |
assertSearchResults( |
| 1773 |
"src/b83230/Test.java A b83230.Main.first() [\"Void\"] EXACT_MATCH\n" + |
1774 |
"src/b83230/Test.java A b83230.Main.first() [\"Void\"] EXACT_MATCH\n" + |
| 1774 |
"src/b83230/Test.java b83230.Test [\"\"] EXACT_MATCH\n" + |
1775 |
"src/b83230/Test.java b83230.Test [\"\"] EXACT_MATCH\n" + |
| 1775 |
"src/b83230/Test.java b83230.Test [\"2\"] EXACT_MATCH" |
1776 |
"src/b83230/Test.java b83230.Test [\"2\"] EXACT_MATCH" |
| 1776 |
); |
1777 |
); |
| 1777 |
} |
1778 |
} |
|
Lines 1784-1804
Link Here
|
| 1784 |
resultCollector.showRule = true; |
1785 |
resultCollector.showRule = true; |
| 1785 |
workingCopies = new ICompilationUnit[1]; |
1786 |
workingCopies = new ICompilationUnit[1]; |
| 1786 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b83304/Test.java", |
1787 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b83304/Test.java", |
| 1787 |
"package b83304;\n" + |
1788 |
"package b83304;\n" + |
| 1788 |
"public class Test {\n" + |
1789 |
"public class Test {\n" + |
| 1789 |
" void foo() {\n" + |
1790 |
" void foo() {\n" + |
| 1790 |
" Class<? extends Throwable> l1= null;\n" + |
1791 |
" Class<? extends Throwable> l1= null;\n" + |
| 1791 |
" Class<Exception> l2= null;\n" + |
1792 |
" Class<Exception> l2= null;\n" + |
| 1792 |
" \n" + |
1793 |
" \n" + |
| 1793 |
" Class<String> string_Class;\n" + |
1794 |
" Class<String> string_Class;\n" + |
| 1794 |
" }\n" + |
1795 |
" }\n" + |
| 1795 |
"}\n" |
1796 |
"}\n" |
| 1796 |
); |
1797 |
); |
| 1797 |
IType type = selectType(workingCopies[0], "Class", 3); |
1798 |
IType type = selectType(workingCopies[0], "Class", 3); |
| 1798 |
search(type, REFERENCES, ERASURE_RULE, getJavaSearchWorkingCopiesScope()); |
1799 |
search(type, REFERENCES, ERASURE_RULE, getJavaSearchWorkingCopiesScope()); |
| 1799 |
assertSearchResults( |
1800 |
assertSearchResults( |
| 1800 |
"src/b83304/Test.java void b83304.Test.foo() [Class] ERASURE_MATCH\n" + |
1801 |
"src/b83304/Test.java void b83304.Test.foo() [Class] ERASURE_MATCH\n" + |
| 1801 |
"src/b83304/Test.java void b83304.Test.foo() [Class] ERASURE_MATCH\n" + |
1802 |
"src/b83304/Test.java void b83304.Test.foo() [Class] ERASURE_MATCH\n" + |
| 1802 |
"src/b83304/Test.java void b83304.Test.foo() [Class] EXACT_MATCH" |
1803 |
"src/b83304/Test.java void b83304.Test.foo() [Class] EXACT_MATCH" |
| 1803 |
); |
1804 |
); |
| 1804 |
} |
1805 |
} |
|
Lines 1806-1820
Link Here
|
| 1806 |
resultCollector.showRule = true; |
1807 |
resultCollector.showRule = true; |
| 1807 |
workingCopies = new ICompilationUnit[1]; |
1808 |
workingCopies = new ICompilationUnit[1]; |
| 1808 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b83304/Types.java", |
1809 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b83304/Types.java", |
| 1809 |
"package b83304;\n" + |
1810 |
"package b83304;\n" + |
| 1810 |
"import g1.t.s.def.Generic;\n" + |
1811 |
"import g1.t.s.def.Generic;\n" + |
| 1811 |
"public class Types {\n" + |
1812 |
"public class Types {\n" + |
| 1812 |
" public Generic gen;\n" + |
1813 |
" public Generic gen;\n" + |
| 1813 |
" public Generic<Object> gen_obj;\n" + |
1814 |
" public Generic<Object> gen_obj;\n" + |
| 1814 |
" public Generic<Exception> gen_exc;\n" + |
1815 |
" public Generic<Exception> gen_exc;\n" + |
| 1815 |
" public Generic<?> gen_wld;\n" + |
1816 |
" public Generic<?> gen_wld;\n" + |
| 1816 |
" public Generic<? extends Throwable> gen_thr;\n" + |
1817 |
" public Generic<? extends Throwable> gen_thr;\n" + |
| 1817 |
" public Generic<? super RuntimeException> gen_run;\n" + |
1818 |
" public Generic<? super RuntimeException> gen_run;\n" + |
| 1818 |
"}\n" |
1819 |
"}\n" |
| 1819 |
); |
1820 |
); |
| 1820 |
} |
1821 |
} |
|
Lines 1824-1836
Link Here
|
| 1824 |
IType type = selectType(workingCopies[0], "Generic", 4); |
1825 |
IType type = selectType(workingCopies[0], "Generic", 4); |
| 1825 |
search(type, REFERENCES, ERASURE_RULE); |
1826 |
search(type, REFERENCES, ERASURE_RULE); |
| 1826 |
assertSearchResults( |
1827 |
assertSearchResults( |
| 1827 |
"src/b83304/Types.java [g1.t.s.def.Generic] EQUIVALENT_RAW_MATCH\n" + |
1828 |
"src/b83304/Types.java [g1.t.s.def.Generic] EQUIVALENT_RAW_MATCH\n" + |
| 1828 |
"src/b83304/Types.java b83304.Types.gen [Generic] EQUIVALENT_RAW_MATCH\n" + |
1829 |
"src/b83304/Types.java b83304.Types.gen [Generic] EQUIVALENT_RAW_MATCH\n" + |
| 1829 |
"src/b83304/Types.java b83304.Types.gen_obj [Generic] ERASURE_MATCH\n" + |
1830 |
"src/b83304/Types.java b83304.Types.gen_obj [Generic] ERASURE_MATCH\n" + |
| 1830 |
"src/b83304/Types.java b83304.Types.gen_exc [Generic] EXACT_MATCH\n" + |
1831 |
"src/b83304/Types.java b83304.Types.gen_exc [Generic] EXACT_MATCH\n" + |
| 1831 |
"src/b83304/Types.java b83304.Types.gen_wld [Generic] EQUIVALENT_MATCH\n" + |
1832 |
"src/b83304/Types.java b83304.Types.gen_wld [Generic] EQUIVALENT_MATCH\n" + |
| 1832 |
"src/b83304/Types.java b83304.Types.gen_thr [Generic] EQUIVALENT_MATCH\n" + |
1833 |
"src/b83304/Types.java b83304.Types.gen_thr [Generic] EQUIVALENT_MATCH\n" + |
| 1833 |
"src/b83304/Types.java b83304.Types.gen_run [Generic] EQUIVALENT_MATCH\n" + |
1834 |
"src/b83304/Types.java b83304.Types.gen_run [Generic] EQUIVALENT_MATCH\n" + |
| 1834 |
"lib/JavaSearch15.jar g1.t.s.def.Generic<T> g1.t.s.def.Generic.foo() ERASURE_MATCH" |
1835 |
"lib/JavaSearch15.jar g1.t.s.def.Generic<T> g1.t.s.def.Generic.foo() ERASURE_MATCH" |
| 1835 |
); |
1836 |
); |
| 1836 |
} |
1837 |
} |
|
Lines 1840-1852
Link Here
|
| 1840 |
IType type = getClassFile("JavaSearchBugs", "lib/JavaSearch15.jar", "g1.t.s.def", "Generic.class").getType(); |
1841 |
IType type = getClassFile("JavaSearchBugs", "lib/JavaSearch15.jar", "g1.t.s.def", "Generic.class").getType(); |
| 1841 |
search(type, REFERENCES, ERASURE_RULE); |
1842 |
search(type, REFERENCES, ERASURE_RULE); |
| 1842 |
assertSearchResults( |
1843 |
assertSearchResults( |
| 1843 |
"src/b83304/Types.java [g1.t.s.def.Generic] EQUIVALENT_RAW_MATCH\n" + |
1844 |
"src/b83304/Types.java [g1.t.s.def.Generic] EQUIVALENT_RAW_MATCH\n" + |
| 1844 |
"src/b83304/Types.java b83304.Types.gen [Generic] ERASURE_RAW_MATCH\n" + |
1845 |
"src/b83304/Types.java b83304.Types.gen [Generic] ERASURE_RAW_MATCH\n" + |
| 1845 |
"src/b83304/Types.java b83304.Types.gen_obj [Generic] ERASURE_MATCH\n" + |
1846 |
"src/b83304/Types.java b83304.Types.gen_obj [Generic] ERASURE_MATCH\n" + |
| 1846 |
"src/b83304/Types.java b83304.Types.gen_exc [Generic] ERASURE_MATCH\n" + |
1847 |
"src/b83304/Types.java b83304.Types.gen_exc [Generic] ERASURE_MATCH\n" + |
| 1847 |
"src/b83304/Types.java b83304.Types.gen_wld [Generic] ERASURE_MATCH\n" + |
1848 |
"src/b83304/Types.java b83304.Types.gen_wld [Generic] ERASURE_MATCH\n" + |
| 1848 |
"src/b83304/Types.java b83304.Types.gen_thr [Generic] ERASURE_MATCH\n" + |
1849 |
"src/b83304/Types.java b83304.Types.gen_thr [Generic] ERASURE_MATCH\n" + |
| 1849 |
"src/b83304/Types.java b83304.Types.gen_run [Generic] ERASURE_MATCH\n" + |
1850 |
"src/b83304/Types.java b83304.Types.gen_run [Generic] ERASURE_MATCH\n" + |
| 1850 |
"lib/JavaSearch15.jar g1.t.s.def.Generic<T> g1.t.s.def.Generic.foo() EXACT_MATCH" |
1851 |
"lib/JavaSearch15.jar g1.t.s.def.Generic<T> g1.t.s.def.Generic.foo() EXACT_MATCH" |
| 1851 |
); |
1852 |
); |
| 1852 |
} |
1853 |
} |
|
Lines 1855-1867
Link Here
|
| 1855 |
setUpBug83304_TypeParameterizedElementPattern(); |
1856 |
setUpBug83304_TypeParameterizedElementPattern(); |
| 1856 |
search("Generic<? super Exception>", TYPE, REFERENCES, ERASURE_RULE); |
1857 |
search("Generic<? super Exception>", TYPE, REFERENCES, ERASURE_RULE); |
| 1857 |
assertSearchResults( |
1858 |
assertSearchResults( |
| 1858 |
"src/b83304/Types.java [Generic] EQUIVALENT_RAW_MATCH\n" + |
1859 |
"src/b83304/Types.java [Generic] EQUIVALENT_RAW_MATCH\n" + |
| 1859 |
"src/b83304/Types.java b83304.Types.gen [Generic] EQUIVALENT_RAW_MATCH\n" + |
1860 |
"src/b83304/Types.java b83304.Types.gen [Generic] EQUIVALENT_RAW_MATCH\n" + |
| 1860 |
"src/b83304/Types.java b83304.Types.gen_obj [Generic] EQUIVALENT_MATCH\n" + |
1861 |
"src/b83304/Types.java b83304.Types.gen_obj [Generic] EQUIVALENT_MATCH\n" + |
| 1861 |
"src/b83304/Types.java b83304.Types.gen_exc [Generic] EQUIVALENT_MATCH\n" + |
1862 |
"src/b83304/Types.java b83304.Types.gen_exc [Generic] EQUIVALENT_MATCH\n" + |
| 1862 |
"src/b83304/Types.java b83304.Types.gen_wld [Generic] EQUIVALENT_MATCH\n" + |
1863 |
"src/b83304/Types.java b83304.Types.gen_wld [Generic] EQUIVALENT_MATCH\n" + |
| 1863 |
"src/b83304/Types.java b83304.Types.gen_thr [Generic] ERASURE_MATCH\n" + |
1864 |
"src/b83304/Types.java b83304.Types.gen_thr [Generic] ERASURE_MATCH\n" + |
| 1864 |
"src/b83304/Types.java b83304.Types.gen_run [Generic] ERASURE_MATCH\n" + |
1865 |
"src/b83304/Types.java b83304.Types.gen_run [Generic] ERASURE_MATCH\n" + |
| 1865 |
"lib/JavaSearch15.jar g1.t.s.def.Generic<T> g1.t.s.def.Generic.foo() ERASURE_MATCH" |
1866 |
"lib/JavaSearch15.jar g1.t.s.def.Generic<T> g1.t.s.def.Generic.foo() ERASURE_MATCH" |
| 1866 |
); |
1867 |
); |
| 1867 |
} |
1868 |
} |
|
Lines 1869-1884
Link Here
|
| 1869 |
resultCollector.showRule = true; |
1870 |
resultCollector.showRule = true; |
| 1870 |
workingCopies = new ICompilationUnit[1]; |
1871 |
workingCopies = new ICompilationUnit[1]; |
| 1871 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b83304/Methods.java", |
1872 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b83304/Methods.java", |
| 1872 |
"package b83304;\n" + |
1873 |
"package b83304;\n" + |
| 1873 |
"import g5.m.def.Single;\n" + |
1874 |
"import g5.m.def.Single;\n" + |
| 1874 |
"public class Methods {\n" + |
1875 |
"public class Methods {\n" + |
| 1875 |
" void test() {\n" + |
1876 |
" void test() {\n" + |
| 1876 |
" Single<Exception> gs = new Single<Exception>();\n" + |
1877 |
" Single<Exception> gs = new Single<Exception>();\n" + |
| 1877 |
" Exception exc = new Exception();\n" + |
1878 |
" Exception exc = new Exception();\n" + |
| 1878 |
" gs.<Throwable>generic(exc);\n" + |
1879 |
" gs.<Throwable>generic(exc);\n" + |
| 1879 |
" gs.<Exception>generic(exc);\n" + |
1880 |
" gs.<Exception>generic(exc);\n" + |
| 1880 |
" gs.<String>generic(\"\");\n" + |
1881 |
" gs.<String>generic(\"\");\n" + |
| 1881 |
" }\n" + |
1882 |
" }\n" + |
| 1882 |
"}\n" |
1883 |
"}\n" |
| 1883 |
); |
1884 |
); |
| 1884 |
} |
1885 |
} |
|
Lines 1888-1895
Link Here
|
| 1888 |
IMethod method = selectMethod(workingCopies[0], "generic", 2); |
1889 |
IMethod method = selectMethod(workingCopies[0], "generic", 2); |
| 1889 |
search(method, REFERENCES, ERASURE_RULE); |
1890 |
search(method, REFERENCES, ERASURE_RULE); |
| 1890 |
assertSearchResults( |
1891 |
assertSearchResults( |
| 1891 |
"src/b83304/Methods.java void b83304.Methods.test() [generic(exc)] ERASURE_MATCH\n" + |
1892 |
"src/b83304/Methods.java void b83304.Methods.test() [generic(exc)] ERASURE_MATCH\n" + |
| 1892 |
"src/b83304/Methods.java void b83304.Methods.test() [generic(exc)] EXACT_MATCH\n" + |
1893 |
"src/b83304/Methods.java void b83304.Methods.test() [generic(exc)] EXACT_MATCH\n" + |
| 1893 |
"src/b83304/Methods.java void b83304.Methods.test() [generic(\"\")] ERASURE_MATCH" |
1894 |
"src/b83304/Methods.java void b83304.Methods.test() [generic(\"\")] ERASURE_MATCH" |
| 1894 |
); |
1895 |
); |
| 1895 |
} |
1896 |
} |
|
Lines 1900-1907
Link Here
|
| 1900 |
IMethod method = type.getMethod("generic", new String[] { "TU;" }); |
1901 |
IMethod method = type.getMethod("generic", new String[] { "TU;" }); |
| 1901 |
search(method, REFERENCES, ERASURE_RULE); |
1902 |
search(method, REFERENCES, ERASURE_RULE); |
| 1902 |
assertSearchResults( |
1903 |
assertSearchResults( |
| 1903 |
"src/b83304/Methods.java void b83304.Methods.test() [generic(exc)] ERASURE_MATCH\n" + |
1904 |
"src/b83304/Methods.java void b83304.Methods.test() [generic(exc)] ERASURE_MATCH\n" + |
| 1904 |
"src/b83304/Methods.java void b83304.Methods.test() [generic(exc)] ERASURE_MATCH\n" + |
1905 |
"src/b83304/Methods.java void b83304.Methods.test() [generic(exc)] ERASURE_MATCH\n" + |
| 1905 |
"src/b83304/Methods.java void b83304.Methods.test() [generic(\"\")] ERASURE_MATCH" |
1906 |
"src/b83304/Methods.java void b83304.Methods.test() [generic(\"\")] ERASURE_MATCH" |
| 1906 |
); |
1907 |
); |
| 1907 |
} |
1908 |
} |
|
Lines 1910-1917
Link Here
|
| 1910 |
setUpBug83304_MethodParameterizedElementPattern(); |
1911 |
setUpBug83304_MethodParameterizedElementPattern(); |
| 1911 |
search("<Exception>generic", METHOD, REFERENCES, ERASURE_RULE); |
1912 |
search("<Exception>generic", METHOD, REFERENCES, ERASURE_RULE); |
| 1912 |
assertSearchResults( |
1913 |
assertSearchResults( |
| 1913 |
"src/b83304/Methods.java void b83304.Methods.test() [generic(exc)] ERASURE_MATCH\n" + |
1914 |
"src/b83304/Methods.java void b83304.Methods.test() [generic(exc)] ERASURE_MATCH\n" + |
| 1914 |
"src/b83304/Methods.java void b83304.Methods.test() [generic(exc)] EXACT_MATCH\n" + |
1915 |
"src/b83304/Methods.java void b83304.Methods.test() [generic(exc)] EXACT_MATCH\n" + |
| 1915 |
"src/b83304/Methods.java void b83304.Methods.test() [generic(\"\")] ERASURE_MATCH" |
1916 |
"src/b83304/Methods.java void b83304.Methods.test() [generic(\"\")] ERASURE_MATCH" |
| 1916 |
); |
1917 |
); |
| 1917 |
} |
1918 |
} |
|
Lines 1919-1933
Link Here
|
| 1919 |
resultCollector.showRule = true; |
1920 |
resultCollector.showRule = true; |
| 1920 |
workingCopies = new ICompilationUnit[1]; |
1921 |
workingCopies = new ICompilationUnit[1]; |
| 1921 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b83304/Constructors.java", |
1922 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b83304/Constructors.java", |
| 1922 |
"package b83304;\n" + |
1923 |
"package b83304;\n" + |
| 1923 |
"import g5.c.def.Single;\n" + |
1924 |
"import g5.c.def.Single;\n" + |
| 1924 |
"public class Constructors {\n" + |
1925 |
"public class Constructors {\n" + |
| 1925 |
" void test() {\n" + |
1926 |
" void test() {\n" + |
| 1926 |
" Exception exc= new Exception();\n" + |
1927 |
" Exception exc= new Exception();\n" + |
| 1927 |
" new <Throwable>Single<String>(\"\", exc);\n" + |
1928 |
" new <Throwable>Single<String>(\"\", exc);\n" + |
| 1928 |
" new <Exception>Single<String>(\"\", exc);\n" + |
1929 |
" new <Exception>Single<String>(\"\", exc);\n" + |
| 1929 |
" new <String>Single<String>(\"\", \"\");\n" + |
1930 |
" new <String>Single<String>(\"\", \"\");\n" + |
| 1930 |
" }\n" + |
1931 |
" }\n" + |
| 1931 |
"}\n" |
1932 |
"}\n" |
| 1932 |
); |
1933 |
); |
| 1933 |
} |
1934 |
} |
|
Lines 1937-1944
Link Here
|
| 1937 |
IMethod method = selectMethod(workingCopies[0], "Single", 3); |
1938 |
IMethod method = selectMethod(workingCopies[0], "Single", 3); |
| 1938 |
search(method, REFERENCES, ERASURE_RULE); |
1939 |
search(method, REFERENCES, ERASURE_RULE); |
| 1939 |
assertSearchResults( |
1940 |
assertSearchResults( |
| 1940 |
"src/b83304/Constructors.java void b83304.Constructors.test() [new <Throwable>Single<String>(\"\", exc)] ERASURE_MATCH\n" + |
1941 |
"src/b83304/Constructors.java void b83304.Constructors.test() [new <Throwable>Single<String>(\"\", exc)] ERASURE_MATCH\n" + |
| 1941 |
"src/b83304/Constructors.java void b83304.Constructors.test() [new <Exception>Single<String>(\"\", exc)] EXACT_MATCH\n" + |
1942 |
"src/b83304/Constructors.java void b83304.Constructors.test() [new <Exception>Single<String>(\"\", exc)] EXACT_MATCH\n" + |
| 1942 |
"src/b83304/Constructors.java void b83304.Constructors.test() [new <String>Single<String>(\"\", \"\")] ERASURE_MATCH" |
1943 |
"src/b83304/Constructors.java void b83304.Constructors.test() [new <String>Single<String>(\"\", \"\")] ERASURE_MATCH" |
| 1943 |
); |
1944 |
); |
| 1944 |
} |
1945 |
} |
|
Lines 1949-1956
Link Here
|
| 1949 |
IMethod method = type.getMethod("Single", new String[] { "TT;", "TU;" }); |
1950 |
IMethod method = type.getMethod("Single", new String[] { "TT;", "TU;" }); |
| 1950 |
search(method, REFERENCES, ERASURE_RULE); |
1951 |
search(method, REFERENCES, ERASURE_RULE); |
| 1951 |
assertSearchResults( |
1952 |
assertSearchResults( |
| 1952 |
"src/b83304/Constructors.java void b83304.Constructors.test() [new <Throwable>Single<String>(\"\", exc)] ERASURE_MATCH\n" + |
1953 |
"src/b83304/Constructors.java void b83304.Constructors.test() [new <Throwable>Single<String>(\"\", exc)] ERASURE_MATCH\n" + |
| 1953 |
"src/b83304/Constructors.java void b83304.Constructors.test() [new <Exception>Single<String>(\"\", exc)] ERASURE_MATCH\n" + |
1954 |
"src/b83304/Constructors.java void b83304.Constructors.test() [new <Exception>Single<String>(\"\", exc)] ERASURE_MATCH\n" + |
| 1954 |
"src/b83304/Constructors.java void b83304.Constructors.test() [new <String>Single<String>(\"\", \"\")] ERASURE_MATCH" |
1955 |
"src/b83304/Constructors.java void b83304.Constructors.test() [new <String>Single<String>(\"\", \"\")] ERASURE_MATCH" |
| 1955 |
); |
1956 |
); |
| 1956 |
} |
1957 |
} |
|
Lines 1959-1968
Link Here
|
| 1959 |
setUpBug83304_ConstructorGenericElementPattern(); |
1960 |
setUpBug83304_ConstructorGenericElementPattern(); |
| 1960 |
search("<Exception>Single", CONSTRUCTOR, REFERENCES, ERASURE_RULE); |
1961 |
search("<Exception>Single", CONSTRUCTOR, REFERENCES, ERASURE_RULE); |
| 1961 |
assertSearchResults( |
1962 |
assertSearchResults( |
| 1962 |
"src/b83304/Constructors.java void b83304.Constructors.test() [new <Throwable>Single<String>(\"\", exc)] ERASURE_MATCH\n" + |
1963 |
"src/b83304/Constructors.java void b83304.Constructors.test() [new <Throwable>Single<String>(\"\", exc)] ERASURE_MATCH\n" + |
| 1963 |
"src/b83304/Constructors.java void b83304.Constructors.test() [new <Exception>Single<String>(\"\", exc)] EXACT_MATCH\n" + |
1964 |
"src/b83304/Constructors.java void b83304.Constructors.test() [new <Exception>Single<String>(\"\", exc)] EXACT_MATCH\n" + |
| 1964 |
"src/b83304/Constructors.java void b83304.Constructors.test() [new <String>Single<String>(\"\", \"\")] ERASURE_MATCH\n" + |
1965 |
"src/b83304/Constructors.java void b83304.Constructors.test() [new <String>Single<String>(\"\", \"\")] ERASURE_MATCH\n" + |
| 1965 |
"lib/JavaSearch15.jar g5.m.def.Single<T> g5.m.def.Single.returnParamType() ERASURE_MATCH\n" + |
1966 |
"lib/JavaSearch15.jar g5.m.def.Single<T> g5.m.def.Single.returnParamType() ERASURE_MATCH\n" + |
| 1966 |
"lib/JavaSearch15.jar g5.m.def.Single<T> g5.m.def.Single.complete(U, g5.m.def.Single<T>) ERASURE_MATCH" |
1967 |
"lib/JavaSearch15.jar g5.m.def.Single<T> g5.m.def.Single.complete(U, g5.m.def.Single<T>) ERASURE_MATCH" |
| 1967 |
); |
1968 |
); |
| 1968 |
} |
1969 |
} |
|
Lines 1974-2001
Link Here
|
| 1974 |
private void setUpBug83804_Type() throws CoreException { |
1975 |
private void setUpBug83804_Type() throws CoreException { |
| 1975 |
workingCopies = new ICompilationUnit[2]; |
1976 |
workingCopies = new ICompilationUnit[2]; |
| 1976 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b83804/package-info.java", |
1977 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b83804/package-info.java", |
| 1977 |
"/**\n" + |
1978 |
"/**\n" + |
| 1978 |
" * Valid javadoc.\n" + |
1979 |
" * Valid javadoc.\n" + |
| 1979 |
" * @see Test\n" + |
1980 |
" * @see Test\n" + |
| 1980 |
" * @see Unknown\n" + |
1981 |
" * @see Unknown\n" + |
| 1981 |
" * @see Test#foo()\n" + |
1982 |
" * @see Test#foo()\n" + |
| 1982 |
" * @see Test#unknown()\n" + |
1983 |
" * @see Test#unknown()\n" + |
| 1983 |
" * @see Test#field\n" + |
1984 |
" * @see Test#field\n" + |
| 1984 |
" * @see Test#unknown\n" + |
1985 |
" * @see Test#unknown\n" + |
| 1985 |
" * @param unexpected\n" + |
1986 |
" * @param unexpected\n" + |
| 1986 |
" * @throws unexpected\n" + |
1987 |
" * @throws unexpected\n" + |
| 1987 |
" * @return unexpected \n" + |
1988 |
" * @return unexpected \n" + |
| 1988 |
" */\n" + |
1989 |
" */\n" + |
| 1989 |
"package b83804;\n" |
1990 |
"package b83804;\n" |
| 1990 |
); |
1991 |
); |
| 1991 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b83804/Test.java", |
1992 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b83804/Test.java", |
| 1992 |
"/**\n" + |
1993 |
"/**\n" + |
| 1993 |
" * Invalid javadoc\n" + |
1994 |
" * Invalid javadoc\n" + |
| 1994 |
" */\n" + |
1995 |
" */\n" + |
| 1995 |
"package b83804;\n" + |
1996 |
"package b83804;\n" + |
| 1996 |
"public class Test {\n" + |
1997 |
"public class Test {\n" + |
| 1997 |
" public int field;\n" + |
1998 |
" public int field;\n" + |
| 1998 |
" public void foo() {}\n" + |
1999 |
" public void foo() {}\n" + |
| 1999 |
"}\n" |
2000 |
"}\n" |
| 2000 |
); |
2001 |
); |
| 2001 |
} |
2002 |
} |
|
Lines 2005-2014
Link Here
|
| 2005 |
IType type = workingCopies[1].getType("Test"); |
2006 |
IType type = workingCopies[1].getType("Test"); |
| 2006 |
search(type, REFERENCES); |
2007 |
search(type, REFERENCES); |
| 2007 |
assertSearchResults( |
2008 |
assertSearchResults( |
| 2008 |
"src/b83804/package-info.java [Test] EXACT_MATCH INSIDE_JAVADOC\n" + |
2009 |
"src/b83804/package-info.java [Test] EXACT_MATCH INSIDE_JAVADOC\n" + |
| 2009 |
"src/b83804/package-info.java [Test] EXACT_MATCH INSIDE_JAVADOC\n" + |
2010 |
"src/b83804/package-info.java [Test] EXACT_MATCH INSIDE_JAVADOC\n" + |
| 2010 |
"src/b83804/package-info.java [Test] EXACT_MATCH INSIDE_JAVADOC\n" + |
2011 |
"src/b83804/package-info.java [Test] EXACT_MATCH INSIDE_JAVADOC\n" + |
| 2011 |
"src/b83804/package-info.java [Test] EXACT_MATCH INSIDE_JAVADOC\n" + |
2012 |
"src/b83804/package-info.java [Test] EXACT_MATCH INSIDE_JAVADOC\n" + |
| 2012 |
"src/b83804/package-info.java [Test] EXACT_MATCH INSIDE_JAVADOC" |
2013 |
"src/b83804/package-info.java [Test] EXACT_MATCH INSIDE_JAVADOC" |
| 2013 |
); |
2014 |
); |
| 2014 |
} |
2015 |
} |
|
Lines 2041-2056
Link Here
|
| 2041 |
resultCollector.showRule = true; |
2042 |
resultCollector.showRule = true; |
| 2042 |
workingCopies = new ICompilationUnit[1]; |
2043 |
workingCopies = new ICompilationUnit[1]; |
| 2043 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b83388/R.java", |
2044 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b83388/R.java", |
| 2044 |
"package b83388;\n" + |
2045 |
"package b83388;\n" + |
| 2045 |
"import b83388.*;\n" + |
2046 |
"import b83388.*;\n" + |
| 2046 |
"public class R {}\n" |
2047 |
"public class R {}\n" |
| 2047 |
); |
2048 |
); |
| 2048 |
IImportDeclaration importDeclaration = workingCopies[0].getImport("pack"); |
2049 |
IImportDeclaration importDeclaration = workingCopies[0].getImport("pack"); |
| 2049 |
assertNotNull("Cannot find \"pack\" import declaration for "+workingCopies[0].getElementName(), importDeclaration); |
2050 |
assertNotNull("Cannot find \"pack\" import declaration for "+workingCopies[0].getElementName(), importDeclaration); |
| 2050 |
SearchPattern pattern = SearchPattern.createPattern( |
2051 |
SearchPattern pattern = SearchPattern.createPattern( |
| 2051 |
"pack", |
2052 |
"pack", |
| 2052 |
PACKAGE, |
2053 |
PACKAGE, |
| 2053 |
DECLARATIONS, |
2054 |
DECLARATIONS, |
| 2054 |
EXACT_RULE); |
2055 |
EXACT_RULE); |
| 2055 |
assertNotNull("Pattern should not be null", pattern); |
2056 |
assertNotNull("Pattern should not be null", pattern); |
| 2056 |
MatchLocator.setFocus(pattern, importDeclaration); |
2057 |
MatchLocator.setFocus(pattern, importDeclaration); |
|
Lines 2069-2084
Link Here
|
| 2069 |
resultCollector.showRule = true; |
2070 |
resultCollector.showRule = true; |
| 2070 |
workingCopies = new ICompilationUnit[1]; |
2071 |
workingCopies = new ICompilationUnit[1]; |
| 2071 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b83388/R.java", |
2072 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b83388/R.java", |
| 2072 |
"package b83388;\n" + |
2073 |
"package b83388;\n" + |
| 2073 |
"import b83388.*;\n" + |
2074 |
"import b83388.*;\n" + |
| 2074 |
"public class R {}\n" |
2075 |
"public class R {}\n" |
| 2075 |
); |
2076 |
); |
| 2076 |
IPackageDeclaration packageDeclaration = workingCopies[0].getPackageDeclaration("pack"); |
2077 |
IPackageDeclaration packageDeclaration = workingCopies[0].getPackageDeclaration("pack"); |
| 2077 |
assertNotNull("Cannot find \"pack\" import declaration for "+workingCopies[0].getElementName(), packageDeclaration); |
2078 |
assertNotNull("Cannot find \"pack\" import declaration for "+workingCopies[0].getElementName(), packageDeclaration); |
| 2078 |
SearchPattern pattern = SearchPattern.createPattern( |
2079 |
SearchPattern pattern = SearchPattern.createPattern( |
| 2079 |
"pack", |
2080 |
"pack", |
| 2080 |
PACKAGE, |
2081 |
PACKAGE, |
| 2081 |
DECLARATIONS, |
2082 |
DECLARATIONS, |
| 2082 |
EXACT_RULE); |
2083 |
EXACT_RULE); |
| 2083 |
assertNotNull("Pattern should not be null", pattern); |
2084 |
assertNotNull("Pattern should not be null", pattern); |
| 2084 |
MatchLocator.setFocus(pattern, packageDeclaration); |
2085 |
MatchLocator.setFocus(pattern, packageDeclaration); |
|
Lines 2103-2125
Link Here
|
| 2103 |
resultCollector.showInsideDoc = true; |
2104 |
resultCollector.showInsideDoc = true; |
| 2104 |
workingCopies = new ICompilationUnit[1]; |
2105 |
workingCopies = new ICompilationUnit[1]; |
| 2105 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b83693/A.java", |
2106 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b83693/A.java", |
| 2106 |
"package b83693;\n" + |
2107 |
"package b83693;\n" + |
| 2107 |
"import static b83693.A.m;\n" + |
2108 |
"import static b83693.A.m;\n" + |
| 2108 |
"/**\n" + |
2109 |
"/**\n" + |
| 2109 |
" * @see A#m(int)\n" + |
2110 |
" * @see A#m(int)\n" + |
| 2110 |
" */\n" + |
2111 |
" */\n" + |
| 2111 |
"class A {\n" + |
2112 |
"class A {\n" + |
| 2112 |
" static void m(int i) {\n" + |
2113 |
" static void m(int i) {\n" + |
| 2113 |
" b83693.A.m(i);\n" + |
2114 |
" b83693.A.m(i);\n" + |
| 2114 |
" }\n" + |
2115 |
" }\n" + |
| 2115 |
"}" |
2116 |
"}" |
| 2116 |
); |
2117 |
); |
| 2117 |
IMethod[] methods = workingCopies[0].getType("A").getMethods(); |
2118 |
IMethod[] methods = workingCopies[0].getType("A").getMethods(); |
| 2118 |
assertEquals("Invalid number of methods", 1, methods.length); |
2119 |
assertEquals("Invalid number of methods", 1, methods.length); |
| 2119 |
search(methods[0], REFERENCES); |
2120 |
search(methods[0], REFERENCES); |
| 2120 |
assertSearchResults( |
2121 |
assertSearchResults( |
| 2121 |
"src/b83693/A.java [b83693.A.m] EXACT_MATCH OUTSIDE_JAVADOC\n" + |
2122 |
"src/b83693/A.java [b83693.A.m] EXACT_MATCH OUTSIDE_JAVADOC\n" + |
| 2122 |
"src/b83693/A.java b83693.A [m(int)] EXACT_MATCH INSIDE_JAVADOC\n" + |
2123 |
"src/b83693/A.java b83693.A [m(int)] EXACT_MATCH INSIDE_JAVADOC\n" + |
| 2123 |
"src/b83693/A.java void b83693.A.m(int) [m(i)] EXACT_MATCH OUTSIDE_JAVADOC" |
2124 |
"src/b83693/A.java void b83693.A.m(int) [m(i)] EXACT_MATCH OUTSIDE_JAVADOC" |
| 2124 |
); |
2125 |
); |
| 2125 |
} |
2126 |
} |
|
Lines 2127-2133
Link Here
|
| 2127 |
/** |
2128 |
/** |
| 2128 |
* Bug 83716: [search] refs to 2-arg constructor on Action found unexpected matches |
2129 |
* Bug 83716: [search] refs to 2-arg constructor on Action found unexpected matches |
| 2129 |
* @see "https://bugs.eclipse.org/bugs/show_bug.cgi?id=83716" |
2130 |
* @see "https://bugs.eclipse.org/bugs/show_bug.cgi?id=83716" |
| 2130 |
* |
2131 |
* |
| 2131 |
* Note that this test does verify that bug is really fixed, but only that it has no impact |
2132 |
* Note that this test does verify that bug is really fixed, but only that it has no impact |
| 2132 |
* on existing behavior. It was not really possible to put a test in this suite to verify that |
2133 |
* on existing behavior. It was not really possible to put a test in this suite to verify that |
| 2133 |
* bug is effectively fixed as it appears only to potential match found in plugin dependencies... |
2134 |
* bug is effectively fixed as it appears only to potential match found in plugin dependencies... |
|
Lines 2135-2148
Link Here
|
| 2135 |
public void testBug83716() throws CoreException { |
2136 |
public void testBug83716() throws CoreException { |
| 2136 |
workingCopies = new ICompilationUnit[1]; |
2137 |
workingCopies = new ICompilationUnit[1]; |
| 2137 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b83716/X.java", |
2138 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b83716/X.java", |
| 2138 |
"package b83716;\n" + |
2139 |
"package b83716;\n" + |
| 2139 |
"public class X {\n" + |
2140 |
"public class X {\n" + |
| 2140 |
" X() {}\n" + |
2141 |
" X() {}\n" + |
| 2141 |
" X(int x) {}\n" + |
2142 |
" X(int x) {}\n" + |
| 2142 |
"}\n" + |
2143 |
"}\n" + |
| 2143 |
"class Y extends X {\n" + |
2144 |
"class Y extends X {\n" + |
| 2144 |
" Y(int y) {\n" + |
2145 |
" Y(int y) {\n" + |
| 2145 |
" }\n" + |
2146 |
" }\n" + |
| 2146 |
"}" |
2147 |
"}" |
| 2147 |
); |
2148 |
); |
| 2148 |
search("X", CONSTRUCTOR, REFERENCES); |
2149 |
search("X", CONSTRUCTOR, REFERENCES); |
|
Lines 2159-2185
Link Here
|
| 2159 |
resultCollector.showRule = true; |
2160 |
resultCollector.showRule = true; |
| 2160 |
workingCopies = new ICompilationUnit[2]; |
2161 |
workingCopies = new ICompilationUnit[2]; |
| 2161 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b84100/X.java", |
2162 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b84100/X.java", |
| 2162 |
"package b84100;\n" + |
2163 |
"package b84100;\n" + |
| 2163 |
"public class X {\n" + |
2164 |
"public class X {\n" + |
| 2164 |
" void foo() {}\n" + |
2165 |
" void foo() {}\n" + |
| 2165 |
" void foo(String s) {}\n" + |
2166 |
" void foo(String s) {}\n" + |
| 2166 |
" void foo(String... xs) {}\n" + |
2167 |
" void foo(String... xs) {}\n" + |
| 2167 |
" void foo(int x, String... xs) {}\n" + |
2168 |
" void foo(int x, String... xs) {}\n" + |
| 2168 |
" void foo(String s, int x, String... xs) {}\n" + |
2169 |
" void foo(String s, int x, String... xs) {}\n" + |
| 2169 |
"}\n" |
2170 |
"}\n" |
| 2170 |
); |
2171 |
); |
| 2171 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b84100/Z.java", |
2172 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b84100/Z.java", |
| 2172 |
"package b84100;\n" + |
2173 |
"package b84100;\n" + |
| 2173 |
"public class Z {\n" + |
2174 |
"public class Z {\n" + |
| 2174 |
" X x;\n" + |
2175 |
" X x;\n" + |
| 2175 |
" void foo() {\n" + |
2176 |
" void foo() {\n" + |
| 2176 |
" x.foo();\n" + |
2177 |
" x.foo();\n" + |
| 2177 |
" x.foo(\"\");\n" + |
2178 |
" x.foo(\"\");\n" + |
| 2178 |
" x.foo(\"\", \"\");\n" + |
2179 |
" x.foo(\"\", \"\");\n" + |
| 2179 |
" x.foo(\"\", \"\", null);\n" + |
2180 |
" x.foo(\"\", \"\", null);\n" + |
| 2180 |
" x.foo(3, \"\", \"\");\n" + |
2181 |
" x.foo(3, \"\", \"\");\n" + |
| 2181 |
" x.foo(\"\", 3, \"\", \"\");\n" + |
2182 |
" x.foo(\"\", 3, \"\", \"\");\n" + |
| 2182 |
" }\n" + |
2183 |
" }\n" + |
| 2183 |
"}\n" |
2184 |
"}\n" |
| 2184 |
); |
2185 |
); |
| 2185 |
} |
2186 |
} |
|
Lines 2207-2213
Link Here
|
| 2207 |
IMethod method = selectMethod(workingCopies[0], "foo", 3); |
2208 |
IMethod method = selectMethod(workingCopies[0], "foo", 3); |
| 2208 |
search(method, REFERENCES); |
2209 |
search(method, REFERENCES); |
| 2209 |
assertSearchResults( |
2210 |
assertSearchResults( |
| 2210 |
"src/b84100/Z.java void b84100.Z.foo() [foo(\"\", \"\")] EXACT_MATCH\n" + |
2211 |
"src/b84100/Z.java void b84100.Z.foo() [foo(\"\", \"\")] EXACT_MATCH\n" + |
| 2211 |
"src/b84100/Z.java void b84100.Z.foo() [foo(\"\", \"\", null)] EXACT_MATCH" |
2212 |
"src/b84100/Z.java void b84100.Z.foo() [foo(\"\", \"\", null)] EXACT_MATCH" |
| 2212 |
); |
2213 |
); |
| 2213 |
} |
2214 |
} |
|
Lines 2238-2256
Link Here
|
| 2238 |
resultCollector.showRule = true; |
2239 |
resultCollector.showRule = true; |
| 2239 |
workingCopies = new ICompilationUnit[1]; |
2240 |
workingCopies = new ICompilationUnit[1]; |
| 2240 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b84121/Test.java", |
2241 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b84121/Test.java", |
| 2241 |
"package b84121;\n" + |
2242 |
"package b84121;\n" + |
| 2242 |
"public class Test {\n" + |
2243 |
"public class Test {\n" + |
| 2243 |
" void foo(Test... t) {}\n" + |
2244 |
" void foo(Test... t) {}\n" + |
| 2244 |
" void foo(int x, Test... t) {}\n" + |
2245 |
" void foo(int x, Test... t) {}\n" + |
| 2245 |
" void foo(Test[] t1, Test... t2) {}\n" + |
2246 |
" void foo(Test[] t1, Test... t2) {}\n" + |
| 2246 |
"}\n" |
2247 |
"}\n" |
| 2247 |
); |
2248 |
); |
| 2248 |
IType type = workingCopies[0].getType("Test"); |
2249 |
IType type = workingCopies[0].getType("Test"); |
| 2249 |
search(type, REFERENCES); |
2250 |
search(type, REFERENCES); |
| 2250 |
assertSearchResults( |
2251 |
assertSearchResults( |
| 2251 |
"src/b84121/Test.java void b84121.Test.foo(Test ...) [Test] EXACT_MATCH\n" + |
2252 |
"src/b84121/Test.java void b84121.Test.foo(Test ...) [Test] EXACT_MATCH\n" + |
| 2252 |
"src/b84121/Test.java void b84121.Test.foo(int, Test ...) [Test] EXACT_MATCH\n" + |
2253 |
"src/b84121/Test.java void b84121.Test.foo(int, Test ...) [Test] EXACT_MATCH\n" + |
| 2253 |
"src/b84121/Test.java void b84121.Test.foo(Test[], Test ...) [Test] EXACT_MATCH\n" + |
2254 |
"src/b84121/Test.java void b84121.Test.foo(Test[], Test ...) [Test] EXACT_MATCH\n" + |
| 2254 |
"src/b84121/Test.java void b84121.Test.foo(Test[], Test ...) [Test] EXACT_MATCH" |
2255 |
"src/b84121/Test.java void b84121.Test.foo(Test[], Test ...) [Test] EXACT_MATCH" |
| 2255 |
); |
2256 |
); |
| 2256 |
} |
2257 |
} |
|
Lines 2263-2287
Link Here
|
| 2263 |
resultCollector.showRule = true; |
2264 |
resultCollector.showRule = true; |
| 2264 |
workingCopies = new ICompilationUnit[2]; |
2265 |
workingCopies = new ICompilationUnit[2]; |
| 2265 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b84724/X.java", |
2266 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b84724/X.java", |
| 2266 |
"package b84724;\n" + |
2267 |
"package b84724;\n" + |
| 2267 |
"public class X {\n" + |
2268 |
"public class X {\n" + |
| 2268 |
" X(String s) {}\n" + |
2269 |
" X(String s) {}\n" + |
| 2269 |
" X(String... v) {}\n" + |
2270 |
" X(String... v) {}\n" + |
| 2270 |
" X(int x, String... v) {}\n" + |
2271 |
" X(int x, String... v) {}\n" + |
| 2271 |
" X(String s, int x, String... v) {}\n" + |
2272 |
" X(String s, int x, String... v) {}\n" + |
| 2272 |
"}\n" |
2273 |
"}\n" |
| 2273 |
); |
2274 |
); |
| 2274 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b84724/Z.java", |
2275 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b84724/Z.java", |
| 2275 |
"package b84724;\n" + |
2276 |
"package b84724;\n" + |
| 2276 |
"public class Z {\n" + |
2277 |
"public class Z {\n" + |
| 2277 |
" void foo() {\n" + |
2278 |
" void foo() {\n" + |
| 2278 |
" new X();\n" + |
2279 |
" new X();\n" + |
| 2279 |
" new X(\"\");\n" + |
2280 |
" new X(\"\");\n" + |
| 2280 |
" new X(\"\", \"\");\n" + |
2281 |
" new X(\"\", \"\");\n" + |
| 2281 |
" new X(\"\", \"\", null);\n" + |
2282 |
" new X(\"\", \"\", null);\n" + |
| 2282 |
" new X(3, \"\", \"\");\n" + |
2283 |
" new X(3, \"\", \"\");\n" + |
| 2283 |
" new X(\"\", 3, \"\", \"\");\n" + |
2284 |
" new X(\"\", 3, \"\", \"\");\n" + |
| 2284 |
" }\n" + |
2285 |
" }\n" + |
| 2285 |
"}\n" |
2286 |
"}\n" |
| 2286 |
); |
2287 |
); |
| 2287 |
} |
2288 |
} |
|
Lines 2300-2307
Link Here
|
| 2300 |
IMethod method = selectMethod(workingCopies[0], "X", 3); |
2301 |
IMethod method = selectMethod(workingCopies[0], "X", 3); |
| 2301 |
search(method, REFERENCES); |
2302 |
search(method, REFERENCES); |
| 2302 |
assertSearchResults( |
2303 |
assertSearchResults( |
| 2303 |
"src/b84724/Z.java void b84724.Z.foo() [new X()] EXACT_MATCH\n" + |
2304 |
"src/b84724/Z.java void b84724.Z.foo() [new X()] EXACT_MATCH\n" + |
| 2304 |
"src/b84724/Z.java void b84724.Z.foo() [new X(\"\", \"\")] EXACT_MATCH\n" + |
2305 |
"src/b84724/Z.java void b84724.Z.foo() [new X(\"\", \"\")] EXACT_MATCH\n" + |
| 2305 |
"src/b84724/Z.java void b84724.Z.foo() [new X(\"\", \"\", null)] EXACT_MATCH" |
2306 |
"src/b84724/Z.java void b84724.Z.foo() [new X(\"\", \"\", null)] EXACT_MATCH" |
| 2306 |
); |
2307 |
); |
| 2307 |
} |
2308 |
} |
|
Lines 2332-2357
Link Here
|
| 2332 |
resultCollector.showRule = true; |
2333 |
resultCollector.showRule = true; |
| 2333 |
workingCopies = new ICompilationUnit[3]; |
2334 |
workingCopies = new ICompilationUnit[3]; |
| 2334 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b84727/A.java", |
2335 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b84727/A.java", |
| 2335 |
"package b84727;\n" + |
2336 |
"package b84727;\n" + |
| 2336 |
"public interface A {\n" + |
2337 |
"public interface A {\n" + |
| 2337 |
" Set<Set<Exception>> getXYZ(List<Set<Exception>> arg);\n" + |
2338 |
" Set<Set<Exception>> getXYZ(List<Set<Exception>> arg);\n" + |
| 2338 |
" void getXYZ(String s);\n" + |
2339 |
" void getXYZ(String s);\n" + |
| 2339 |
"}\n" |
2340 |
"}\n" |
| 2340 |
); |
2341 |
); |
| 2341 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b84727/X.java", |
2342 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b84727/X.java", |
| 2342 |
"package b84727;\n" + |
2343 |
"package b84727;\n" + |
| 2343 |
"public class X {\n" + |
2344 |
"public class X {\n" + |
| 2344 |
" A a;\n" + |
2345 |
" A a;\n" + |
| 2345 |
" void foo() {\n" + |
2346 |
" void foo() {\n" + |
| 2346 |
" a.getXYZ(new ArrayList());\n" + |
2347 |
" a.getXYZ(new ArrayList());\n" + |
| 2347 |
" a.getXYZ(\"\");\n" + |
2348 |
" a.getXYZ(\"\");\n" + |
| 2348 |
" }\n" + |
2349 |
" }\n" + |
| 2349 |
"}\n" |
2350 |
"}\n" |
| 2350 |
); |
2351 |
); |
| 2351 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b84727/List.java", |
2352 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b84727/List.java", |
| 2352 |
"package b84727;\n" + |
2353 |
"package b84727;\n" + |
| 2353 |
"public interface List<E> {}\n" + |
2354 |
"public interface List<E> {}\n" + |
| 2354 |
"interface Set<E> {}\n" + |
2355 |
"interface Set<E> {}\n" + |
| 2355 |
"class ArrayList<E> implements List<E> {}" |
2356 |
"class ArrayList<E> implements List<E> {}" |
| 2356 |
); |
2357 |
); |
| 2357 |
} |
2358 |
} |
|
Lines 2384-2399
Link Here
|
| 2384 |
resultCollector.showRule = true; |
2385 |
resultCollector.showRule = true; |
| 2385 |
workingCopies = new ICompilationUnit[1]; |
2386 |
workingCopies = new ICompilationUnit[1]; |
| 2386 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b85810/Test.java", |
2387 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b85810/Test.java", |
| 2387 |
"package b85810;\n" + |
2388 |
"package b85810;\n" + |
| 2388 |
"public class Test<E> implements In<Test<E>> {\n" + |
2389 |
"public class Test<E> implements In<Test<E>> {\n" + |
| 2389 |
" E e;\n" + |
2390 |
" E e;\n" + |
| 2390 |
"}\n" + |
2391 |
"}\n" + |
| 2391 |
"interface In<T> {}\n" |
2392 |
"interface In<T> {}\n" |
| 2392 |
); |
2393 |
); |
| 2393 |
ITypeParameter param = selectTypeParameter(workingCopies[0], "E"); |
2394 |
ITypeParameter param = selectTypeParameter(workingCopies[0], "E"); |
| 2394 |
search(param, REFERENCES); |
2395 |
search(param, REFERENCES); |
| 2395 |
assertSearchResults( |
2396 |
assertSearchResults( |
| 2396 |
"src/b85810/Test.java b85810.Test [E] EXACT_MATCH\n" + |
2397 |
"src/b85810/Test.java b85810.Test [E] EXACT_MATCH\n" + |
| 2397 |
"src/b85810/Test.java b85810.Test.e [E] EXACT_MATCH" |
2398 |
"src/b85810/Test.java b85810.Test.e [E] EXACT_MATCH" |
| 2398 |
); |
2399 |
); |
| 2399 |
} |
2400 |
} |
|
Lines 2406-2430
Link Here
|
| 2406 |
resultCollector.showRule = true; |
2407 |
resultCollector.showRule = true; |
| 2407 |
workingCopies = new ICompilationUnit[3]; |
2408 |
workingCopies = new ICompilationUnit[3]; |
| 2408 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b86596/aa/link/A.java", |
2409 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b86596/aa/link/A.java", |
| 2409 |
"package b86596.aa.link;\n" + |
2410 |
"package b86596.aa.link;\n" + |
| 2410 |
"public interface A {}\n" |
2411 |
"public interface A {}\n" |
| 2411 |
); |
2412 |
); |
| 2412 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b86596/bb/Link.java", |
2413 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b86596/bb/Link.java", |
| 2413 |
"package b86596.bb;\n" + |
2414 |
"package b86596.bb;\n" + |
| 2414 |
"public class Link{}\n" |
2415 |
"public class Link{}\n" |
| 2415 |
); |
2416 |
); |
| 2416 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b86596/cc/X.java", |
2417 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b86596/cc/X.java", |
| 2417 |
"package b86596.cc;\n" + |
2418 |
"package b86596.cc;\n" + |
| 2418 |
"import b86596.aa.link.A;\n" + |
2419 |
"import b86596.aa.link.A;\n" + |
| 2419 |
"import b86596.bb.Link;\n" + |
2420 |
"import b86596.bb.Link;\n" + |
| 2420 |
"public class X {\n" + |
2421 |
"public class X {\n" + |
| 2421 |
" A a;\n" + |
2422 |
" A a;\n" + |
| 2422 |
" Link l;\n" + |
2423 |
" Link l;\n" + |
| 2423 |
"}\n" |
2424 |
"}\n" |
| 2424 |
); |
2425 |
); |
| 2425 |
search("Link", TYPE, REFERENCES, SearchPattern.R_EXACT_MATCH); |
2426 |
search("Link", TYPE, REFERENCES, SearchPattern.R_EXACT_MATCH); |
| 2426 |
assertSearchResults( |
2427 |
assertSearchResults( |
| 2427 |
"src/b86596/cc/X.java [Link] EXACT_RAW_MATCH\n" + |
2428 |
"src/b86596/cc/X.java [Link] EXACT_RAW_MATCH\n" + |
| 2428 |
"src/b86596/cc/X.java b86596.cc.X.l [Link] EXACT_MATCH" |
2429 |
"src/b86596/cc/X.java b86596.cc.X.l [Link] EXACT_MATCH" |
| 2429 |
); |
2430 |
); |
| 2430 |
} |
2431 |
} |
|
Lines 2437-2461
Link Here
|
| 2437 |
resultCollector.showRule = true; |
2438 |
resultCollector.showRule = true; |
| 2438 |
workingCopies = new ICompilationUnit[2]; |
2439 |
workingCopies = new ICompilationUnit[2]; |
| 2439 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b86642/A.java", |
2440 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b86642/A.java", |
| 2440 |
"package b86642;\n" + |
2441 |
"package b86642;\n" + |
| 2441 |
"class A {\n" + |
2442 |
"class A {\n" + |
| 2442 |
" public void m() {}\n" + |
2443 |
" public void m() {}\n" + |
| 2443 |
" protected void f(A a){}\n" + |
2444 |
" protected void f(A a){}\n" + |
| 2444 |
"}\n" |
2445 |
"}\n" |
| 2445 |
); |
2446 |
); |
| 2446 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b86642/B.java", |
2447 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b86642/B.java", |
| 2447 |
"package b86642;\n" + |
2448 |
"package b86642;\n" + |
| 2448 |
"public class B extends A{\n" + |
2449 |
"public class B extends A{\n" + |
| 2449 |
" protected void f(A a){\n" + |
2450 |
" protected void f(A a){\n" + |
| 2450 |
" a.m();\n" + |
2451 |
" a.m();\n" + |
| 2451 |
" }\n" + |
2452 |
" }\n" + |
| 2452 |
"}\n" |
2453 |
"}\n" |
| 2453 |
); |
2454 |
); |
| 2454 |
IType type = workingCopies[0].getType("A"); |
2455 |
IType type = workingCopies[0].getType("A"); |
| 2455 |
search(type, REFERENCES); |
2456 |
search(type, REFERENCES); |
| 2456 |
assertSearchResults( |
2457 |
assertSearchResults( |
| 2457 |
"src/b86642/A.java void b86642.A.f(A) [A] EXACT_MATCH\n" + |
2458 |
"src/b86642/A.java void b86642.A.f(A) [A] EXACT_MATCH\n" + |
| 2458 |
"src/b86642/B.java b86642.B [A] EXACT_MATCH\n" + |
2459 |
"src/b86642/B.java b86642.B [A] EXACT_MATCH\n" + |
| 2459 |
"src/b86642/B.java void b86642.B.f(A) [A] EXACT_MATCH" |
2460 |
"src/b86642/B.java void b86642.B.f(A) [A] EXACT_MATCH" |
| 2460 |
); |
2461 |
); |
| 2461 |
} |
2462 |
} |
|
Lines 2468-2474
Link Here
|
| 2468 |
IMethod method = type.getMethod("m86293", new String[0]); |
2469 |
IMethod method = type.getMethod("m86293", new String[0]); |
| 2469 |
search(method, DECLARATIONS); |
2470 |
search(method, DECLARATIONS); |
| 2470 |
assertSearchResults( |
2471 |
assertSearchResults( |
| 2471 |
"lib/b86293.jar void <anonymous>.m86293() EXACT_MATCH\n" + |
2472 |
"lib/b86293.jar void <anonymous>.m86293() EXACT_MATCH\n" + |
| 2472 |
"lib/b86293.jar void I86293.m86293() EXACT_MATCH" |
2473 |
"lib/b86293.jar void I86293.m86293() EXACT_MATCH" |
| 2473 |
); |
2474 |
); |
| 2474 |
} |
2475 |
} |
|
Lines 2481-2497
Link Here
|
| 2481 |
resultCollector.showInsideDoc = true; |
2482 |
resultCollector.showInsideDoc = true; |
| 2482 |
workingCopies = new ICompilationUnit[2]; |
2483 |
workingCopies = new ICompilationUnit[2]; |
| 2483 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b86380/package-info.java", |
2484 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b86380/package-info.java", |
| 2484 |
"/**\n" + |
2485 |
"/**\n" + |
| 2485 |
" * @see Annot#field\n" + |
2486 |
" * @see Annot#field\n" + |
| 2486 |
" */\n" + |
2487 |
" */\n" + |
| 2487 |
"@Annot(value=11)\n" + |
2488 |
"@Annot(value=11)\n" + |
| 2488 |
"package b86380;\n" |
2489 |
"package b86380;\n" |
| 2489 |
); |
2490 |
); |
| 2490 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b86380/Test.java", |
2491 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b86380/Test.java", |
| 2491 |
"package b86380;\n" + |
2492 |
"package b86380;\n" + |
| 2492 |
"@Annot(12) public class Test {\n" + |
2493 |
"@Annot(12) public class Test {\n" + |
| 2493 |
" public int field = Annot.field;\n" + |
2494 |
" public int field = Annot.field;\n" + |
| 2494 |
" public void foo() {}\n" + |
2495 |
" public void foo() {}\n" + |
| 2495 |
"}\n" |
2496 |
"}\n" |
| 2496 |
); |
2497 |
); |
| 2497 |
} |
2498 |
} |
|
Lines 2502-2510
Link Here
|
| 2502 |
IType type = unit.getType("Annot"); |
2503 |
IType type = unit.getType("Annot"); |
| 2503 |
search(type, REFERENCES); |
2504 |
search(type, REFERENCES); |
| 2504 |
assertSearchResults( |
2505 |
assertSearchResults( |
| 2505 |
"src/b86380/Test.java b86380.Test [Annot] EXACT_MATCH OUTSIDE_JAVADOC\n" + |
2506 |
"src/b86380/Test.java b86380.Test [Annot] EXACT_MATCH OUTSIDE_JAVADOC\n" + |
| 2506 |
"src/b86380/Test.java b86380.Test.field [Annot] EXACT_MATCH OUTSIDE_JAVADOC\n" + |
2507 |
"src/b86380/Test.java b86380.Test.field [Annot] EXACT_MATCH OUTSIDE_JAVADOC\n" + |
| 2507 |
"src/b86380/package-info.java [Annot] EXACT_MATCH INSIDE_JAVADOC\n" + |
2508 |
"src/b86380/package-info.java [Annot] EXACT_MATCH INSIDE_JAVADOC\n" + |
| 2508 |
"src/b86380/package-info.java [Annot] EXACT_MATCH OUTSIDE_JAVADOC" |
2509 |
"src/b86380/package-info.java [Annot] EXACT_MATCH OUTSIDE_JAVADOC" |
| 2509 |
); |
2510 |
); |
| 2510 |
} |
2511 |
} |
|
Lines 2516-2522
Link Here
|
| 2516 |
assertEquals("Invalid number of methods", 1, methods.length); |
2517 |
assertEquals("Invalid number of methods", 1, methods.length); |
| 2517 |
search(methods[0], REFERENCES); |
2518 |
search(methods[0], REFERENCES); |
| 2518 |
assertSearchResults( |
2519 |
assertSearchResults( |
| 2519 |
"src/b86380/Test.java b86380.Test [12] EXACT_MATCH OUTSIDE_JAVADOC\n" + |
2520 |
"src/b86380/Test.java b86380.Test [12] EXACT_MATCH OUTSIDE_JAVADOC\n" + |
| 2520 |
"src/b86380/package-info.java [value] EXACT_MATCH OUTSIDE_JAVADOC" |
2521 |
"src/b86380/package-info.java [value] EXACT_MATCH OUTSIDE_JAVADOC" |
| 2521 |
); |
2522 |
); |
| 2522 |
} |
2523 |
} |
|
Lines 2528-2534
Link Here
|
| 2528 |
assertEquals("Invalid number of fields", 1, fields.length); |
2529 |
assertEquals("Invalid number of fields", 1, fields.length); |
| 2529 |
search(fields[0], REFERENCES); |
2530 |
search(fields[0], REFERENCES); |
| 2530 |
assertSearchResults( |
2531 |
assertSearchResults( |
| 2531 |
"src/b86380/Test.java b86380.Test.field [field] EXACT_MATCH OUTSIDE_JAVADOC\n" + |
2532 |
"src/b86380/Test.java b86380.Test.field [field] EXACT_MATCH OUTSIDE_JAVADOC\n" + |
| 2532 |
"src/b86380/package-info.java [field] EXACT_MATCH INSIDE_JAVADOC" |
2533 |
"src/b86380/package-info.java [field] EXACT_MATCH INSIDE_JAVADOC" |
| 2533 |
); |
2534 |
); |
| 2534 |
} |
2535 |
} |
|
Lines 2541-2573
Link Here
|
| 2541 |
resultCollector.showRule = true; |
2542 |
resultCollector.showRule = true; |
| 2542 |
workingCopies = new ICompilationUnit[2]; |
2543 |
workingCopies = new ICompilationUnit[2]; |
| 2543 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b88174/Test.java", |
2544 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b88174/Test.java", |
| 2544 |
"package b88174;\n" + |
2545 |
"package b88174;\n" + |
| 2545 |
"public enum Test {\n" + |
2546 |
"public enum Test {\n" + |
| 2546 |
" a {\n" + |
2547 |
" a {\n" + |
| 2547 |
" int getTheValue() { // not found\n" + |
2548 |
" int getTheValue() { // not found\n" + |
| 2548 |
" return 0;\n" + |
2549 |
" return 0;\n" + |
| 2549 |
" }\n" + |
2550 |
" }\n" + |
| 2550 |
" };\n" + |
2551 |
" };\n" + |
| 2551 |
" abstract int getTheValue();\n" + |
2552 |
" abstract int getTheValue();\n" + |
| 2552 |
"}\n" |
2553 |
"}\n" |
| 2553 |
); |
2554 |
); |
| 2554 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b88174/X.java", |
2555 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b88174/X.java", |
| 2555 |
"package b88174;\n" + |
2556 |
"package b88174;\n" + |
| 2556 |
"public class X {\n" + |
2557 |
"public class X {\n" + |
| 2557 |
" X x = new X() {\n" + |
2558 |
" X x = new X() {\n" + |
| 2558 |
" int getTheValue() {\n" + |
2559 |
" int getTheValue() {\n" + |
| 2559 |
" return 0;\n" + |
2560 |
" return 0;\n" + |
| 2560 |
" }\n" + |
2561 |
" }\n" + |
| 2561 |
" };\n" + |
2562 |
" };\n" + |
| 2562 |
" int getTheValue() { return 0; }\n" + |
2563 |
" int getTheValue() { return 0; }\n" + |
| 2563 |
"}\n" |
2564 |
"}\n" |
| 2564 |
); |
2565 |
); |
| 2565 |
IMethod method = workingCopies[0].getType("Test").getMethod("getTheValue", new String[0]); |
2566 |
IMethod method = workingCopies[0].getType("Test").getMethod("getTheValue", new String[0]); |
| 2566 |
search(method, DECLARATIONS | IGNORE_DECLARING_TYPE); |
2567 |
search(method, DECLARATIONS | IGNORE_DECLARING_TYPE); |
| 2567 |
assertSearchResults( |
2568 |
assertSearchResults( |
| 2568 |
"src/b88174/Test.java int b88174.Test.a:<anonymous>#1.getTheValue() [getTheValue] EXACT_MATCH\n" + |
2569 |
"src/b88174/Test.java int b88174.Test.a:<anonymous>#1.getTheValue() [getTheValue] EXACT_MATCH\n" + |
| 2569 |
"src/b88174/Test.java int b88174.Test.getTheValue() [getTheValue] EXACT_MATCH\n" + |
2570 |
"src/b88174/Test.java int b88174.Test.getTheValue() [getTheValue] EXACT_MATCH\n" + |
| 2570 |
"src/b88174/X.java int b88174.X.x:<anonymous>#1.getTheValue() [getTheValue] EXACT_MATCH\n" + |
2571 |
"src/b88174/X.java int b88174.X.x:<anonymous>#1.getTheValue() [getTheValue] EXACT_MATCH\n" + |
| 2571 |
"src/b88174/X.java int b88174.X.getTheValue() [getTheValue] EXACT_MATCH" |
2572 |
"src/b88174/X.java int b88174.X.getTheValue() [getTheValue] EXACT_MATCH" |
| 2572 |
); |
2573 |
); |
| 2573 |
} |
2574 |
} |
|
Lines 2583-2589
Link Here
|
| 2583 |
assertEquals("Wrong number of parameters", 1, parameters.length); |
2584 |
assertEquals("Wrong number of parameters", 1, parameters.length); |
| 2584 |
search(parameters[0], REFERENCES); |
2585 |
search(parameters[0], REFERENCES); |
| 2585 |
assertSearchResults( |
2586 |
assertSearchResults( |
| 2586 |
"lib/b87627.jar b87627.List EXACT_MATCH\n" + |
2587 |
"lib/b87627.jar b87627.List EXACT_MATCH\n" + |
| 2587 |
"lib/b87627.jar boolean b87627.List.addAll(b87627.Collection<? extends E>) EXACT_MATCH" |
2588 |
"lib/b87627.jar boolean b87627.List.addAll(b87627.Collection<? extends E>) EXACT_MATCH" |
| 2588 |
); |
2589 |
); |
| 2589 |
} |
2590 |
} |
|
Lines 2595-2622
Link Here
|
| 2595 |
public void testBug88300() throws CoreException { |
2596 |
public void testBug88300() throws CoreException { |
| 2596 |
workingCopies = new ICompilationUnit[3]; |
2597 |
workingCopies = new ICompilationUnit[3]; |
| 2597 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b88300/SubClass.java", |
2598 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b88300/SubClass.java", |
| 2598 |
"package b88300;\n" + |
2599 |
"package b88300;\n" + |
| 2599 |
"public class SubClass extends SuperClass {\n" + |
2600 |
"public class SubClass extends SuperClass {\n" + |
| 2600 |
" private void aMethod(String x) {\n" + |
2601 |
" private void aMethod(String x) {\n" + |
| 2601 |
" }\n" + |
2602 |
" }\n" + |
| 2602 |
" public void aMethod(Object x) {\n" + |
2603 |
" public void aMethod(Object x) {\n" + |
| 2603 |
" }\n" + |
2604 |
" }\n" + |
| 2604 |
"}\n" |
2605 |
"}\n" |
| 2605 |
); |
2606 |
); |
| 2606 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b88300/SuperClass.java", |
2607 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b88300/SuperClass.java", |
| 2607 |
"package b88300;\n" + |
2608 |
"package b88300;\n" + |
| 2608 |
"public class SuperClass {\n" + |
2609 |
"public class SuperClass {\n" + |
| 2609 |
" public void aMethod(Object x) {\n" + |
2610 |
" public void aMethod(Object x) {\n" + |
| 2610 |
" }\n" + |
2611 |
" }\n" + |
| 2611 |
"}\n" |
2612 |
"}\n" |
| 2612 |
); |
2613 |
); |
| 2613 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b88300/User.java", |
2614 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b88300/User.java", |
| 2614 |
"package b88300;\n" + |
2615 |
"package b88300;\n" + |
| 2615 |
"public class User {\n" + |
2616 |
"public class User {\n" + |
| 2616 |
" public void methodUsingSubClassMethod() {\n" + |
2617 |
" public void methodUsingSubClassMethod() {\n" + |
| 2617 |
" SuperClass user = new SubClass();\n" + |
2618 |
" SuperClass user = new SubClass();\n" + |
| 2618 |
" user.aMethod(new Object());\n" + |
2619 |
" user.aMethod(new Object());\n" + |
| 2619 |
" }\n" + |
2620 |
" }\n" + |
| 2620 |
"}\n" |
2621 |
"}\n" |
| 2621 |
); |
2622 |
); |
| 2622 |
IType type = workingCopies[0].getType("SubClass"); |
2623 |
IType type = workingCopies[0].getType("SubClass"); |
|
Lines 2628-2655
Link Here
|
| 2628 |
public void testBug88300b() throws CoreException { |
2629 |
public void testBug88300b() throws CoreException { |
| 2629 |
workingCopies = new ICompilationUnit[3]; |
2630 |
workingCopies = new ICompilationUnit[3]; |
| 2630 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b88300/SubClass.java", |
2631 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b88300/SubClass.java", |
| 2631 |
"package b88300;\n" + |
2632 |
"package b88300;\n" + |
| 2632 |
"public class SubClass extends SuperClass {\n" + |
2633 |
"public class SubClass extends SuperClass {\n" + |
| 2633 |
" public void aMethod(Object x) {\n" + |
2634 |
" public void aMethod(Object x) {\n" + |
| 2634 |
" }\n" + |
2635 |
" }\n" + |
| 2635 |
" private void aMethod(String x) {\n" + |
2636 |
" private void aMethod(String x) {\n" + |
| 2636 |
" }\n" + |
2637 |
" }\n" + |
| 2637 |
"}\n" |
2638 |
"}\n" |
| 2638 |
); |
2639 |
); |
| 2639 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b88300/SuperClass.java", |
2640 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b88300/SuperClass.java", |
| 2640 |
"package b88300;\n" + |
2641 |
"package b88300;\n" + |
| 2641 |
"public class SuperClass {\n" + |
2642 |
"public class SuperClass {\n" + |
| 2642 |
" public void aMethod(Object x) {\n" + |
2643 |
" public void aMethod(Object x) {\n" + |
| 2643 |
" }\n" + |
2644 |
" }\n" + |
| 2644 |
"}\n" |
2645 |
"}\n" |
| 2645 |
); |
2646 |
); |
| 2646 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b88300/User.java", |
2647 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b88300/User.java", |
| 2647 |
"package b88300;\n" + |
2648 |
"package b88300;\n" + |
| 2648 |
"public class User {\n" + |
2649 |
"public class User {\n" + |
| 2649 |
" public void methodUsingSubClassMethod() {\n" + |
2650 |
" public void methodUsingSubClassMethod() {\n" + |
| 2650 |
" SuperClass user = new SubClass();\n" + |
2651 |
" SuperClass user = new SubClass();\n" + |
| 2651 |
" user.aMethod(new Object());\n" + |
2652 |
" user.aMethod(new Object());\n" + |
| 2652 |
" }\n" + |
2653 |
" }\n" + |
| 2653 |
"}\n" |
2654 |
"}\n" |
| 2654 |
); |
2655 |
); |
| 2655 |
IType type = workingCopies[0].getType("SubClass"); |
2656 |
IType type = workingCopies[0].getType("SubClass"); |
|
Lines 2661-2703
Link Here
|
| 2661 |
public void testBug88300c() throws CoreException { |
2662 |
public void testBug88300c() throws CoreException { |
| 2662 |
workingCopies = new ICompilationUnit[3]; |
2663 |
workingCopies = new ICompilationUnit[3]; |
| 2663 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b88300/not/fixed/ConditionalFlowInfo.java", |
2664 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b88300/not/fixed/ConditionalFlowInfo.java", |
| 2664 |
"package b88300.not.fixed;\n" + |
2665 |
"package b88300.not.fixed;\n" + |
| 2665 |
"public class ConditionalFlowInfo extends FlowInfo {\n" + |
2666 |
"public class ConditionalFlowInfo extends FlowInfo {\n" + |
| 2666 |
" public FlowInfo info;\n" + |
2667 |
" public FlowInfo info;\n" + |
| 2667 |
" ConditionalFlowInfo(FlowInfo info){\n" + |
2668 |
" ConditionalFlowInfo(FlowInfo info){\n" + |
| 2668 |
" this.info = info;\n" + |
2669 |
" this.info = info;\n" + |
| 2669 |
" }\n" + |
2670 |
" }\n" + |
| 2670 |
" public void markAsDefinitelyNull(FieldBinding field) {\n" + |
2671 |
" public void markAsDefinitelyNull(FieldBinding field) {\n" + |
| 2671 |
" info.markAsDefinitelyNull(field);\n" + |
2672 |
" info.markAsDefinitelyNull(field);\n" + |
| 2672 |
" }\n" + |
2673 |
" }\n" + |
| 2673 |
" public void markAsDefinitelyNull(LocalVariableBinding local) {\n" + |
2674 |
" public void markAsDefinitelyNull(LocalVariableBinding local) {\n" + |
| 2674 |
" info.markAsDefinitelyNull(local);\n" + |
2675 |
" info.markAsDefinitelyNull(local);\n" + |
| 2675 |
" }\n" + |
2676 |
" }\n" + |
| 2676 |
"}\n" |
2677 |
"}\n" |
| 2677 |
); |
2678 |
); |
| 2678 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b88300/not/fixed/FlowInfo.java", |
2679 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b88300/not/fixed/FlowInfo.java", |
| 2679 |
"package b88300.not.fixed;\n" + |
2680 |
"package b88300.not.fixed;\n" + |
| 2680 |
"\n" + |
2681 |
"\n" + |
| 2681 |
"class FieldBinding {\n" + |
2682 |
"class FieldBinding {\n" + |
| 2682 |
" int id;\n" + |
2683 |
" int id;\n" + |
| 2683 |
"}\n" + |
2684 |
"}\n" + |
| 2684 |
"class LocalVariableBinding extends FieldBinding {}\n" + |
2685 |
"class LocalVariableBinding extends FieldBinding {}\n" + |
| 2685 |
"\n" + |
2686 |
"\n" + |
| 2686 |
"public abstract class FlowInfo {\n" + |
2687 |
"public abstract class FlowInfo {\n" + |
| 2687 |
" abstract public void markAsDefinitelyNull(LocalVariableBinding local);\n" + |
2688 |
" abstract public void markAsDefinitelyNull(LocalVariableBinding local);\n" + |
| 2688 |
" abstract public void markAsDefinitelyNull(FieldBinding field);\n" + |
2689 |
" abstract public void markAsDefinitelyNull(FieldBinding field);\n" + |
| 2689 |
"}\n" |
2690 |
"}\n" |
| 2690 |
); |
2691 |
); |
| 2691 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b88300/not/fixed/UnconditionalFlowInfo.java", |
2692 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b88300/not/fixed/UnconditionalFlowInfo.java", |
| 2692 |
"package b88300.not.fixed;\n" + |
2693 |
"package b88300.not.fixed;\n" + |
| 2693 |
"public class UnconditionalFlowInfo extends FlowInfo {\n" + |
2694 |
"public class UnconditionalFlowInfo extends FlowInfo {\n" + |
| 2694 |
" final private void markAsDefinitelyNull(int position) {}\n" + |
2695 |
" final private void markAsDefinitelyNull(int position) {}\n" + |
| 2695 |
" public void markAsDefinitelyNull(FieldBinding field) {\n" + |
2696 |
" public void markAsDefinitelyNull(FieldBinding field) {\n" + |
| 2696 |
" markAsDefinitelyNull(field.id);\n" + |
2697 |
" markAsDefinitelyNull(field.id);\n" + |
| 2697 |
" }\n" + |
2698 |
" }\n" + |
| 2698 |
" public void markAsDefinitelyNull(LocalVariableBinding local) {\n" + |
2699 |
" public void markAsDefinitelyNull(LocalVariableBinding local) {\n" + |
| 2699 |
" markAsDefinitelyNull(local.id + 1);\n" + |
2700 |
" markAsDefinitelyNull(local.id + 1);\n" + |
| 2700 |
" }\n" + |
2701 |
" }\n" + |
| 2701 |
"}\n" |
2702 |
"}\n" |
| 2702 |
); |
2703 |
); |
| 2703 |
IType type = workingCopies[2].getType("UnconditionalFlowInfo"); |
2704 |
IType type = workingCopies[2].getType("UnconditionalFlowInfo"); |
|
Lines 2714-2749
Link Here
|
| 2714 |
public void testBug89686() throws CoreException { |
2715 |
public void testBug89686() throws CoreException { |
| 2715 |
workingCopies = new ICompilationUnit[1]; |
2716 |
workingCopies = new ICompilationUnit[1]; |
| 2716 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b89686/A.java", |
2717 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b89686/A.java", |
| 2717 |
"package b89686;\n" + |
2718 |
"package b89686;\n" + |
| 2718 |
"public enum Color {\n" + |
2719 |
"public enum Color {\n" + |
| 2719 |
" RED, GREEN(), BLUE(17), PINK((1+(1+1))) {/*anon*/};\n" + |
2720 |
" RED, GREEN(), BLUE(17), PINK((1+(1+1))) {/*anon*/};\n" + |
| 2720 |
" Color() {}\n" + |
2721 |
" Color() {}\n" + |
| 2721 |
" Color(int i) {}\n" + |
2722 |
" Color(int i) {}\n" + |
| 2722 |
"}" |
2723 |
"}" |
| 2723 |
); |
2724 |
); |
| 2724 |
IType type = workingCopies[0].getType("Color"); |
2725 |
IType type = workingCopies[0].getType("Color"); |
| 2725 |
IMethod method = type.getMethod("Color", new String[0]); |
2726 |
IMethod method = type.getMethod("Color", new String[0]); |
| 2726 |
search(method, REFERENCES); |
2727 |
search(method, REFERENCES); |
| 2727 |
assertSearchResults( |
2728 |
assertSearchResults( |
| 2728 |
"src/b89686/A.java b89686.Color.RED [RED] EXACT_MATCH\n" + |
2729 |
"src/b89686/A.java b89686.Color.RED [RED] EXACT_MATCH\n" + |
| 2729 |
"src/b89686/A.java b89686.Color.GREEN [GREEN()] EXACT_MATCH" |
2730 |
"src/b89686/A.java b89686.Color.GREEN [GREEN()] EXACT_MATCH" |
| 2730 |
); |
2731 |
); |
| 2731 |
} |
2732 |
} |
| 2732 |
public void testBug89686b() throws CoreException { |
2733 |
public void testBug89686b() throws CoreException { |
| 2733 |
workingCopies = new ICompilationUnit[1]; |
2734 |
workingCopies = new ICompilationUnit[1]; |
| 2734 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b89686/A.java", |
2735 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b89686/A.java", |
| 2735 |
"package b89686;\n" + |
2736 |
"package b89686;\n" + |
| 2736 |
"public enum Color {\n" + |
2737 |
"public enum Color {\n" + |
| 2737 |
" RED, GREEN(), BLUE(17), PINK((1+(1+1))) {/*anon*/};\n" + |
2738 |
" RED, GREEN(), BLUE(17), PINK((1+(1+1))) {/*anon*/};\n" + |
| 2738 |
" Color() {}\n" + |
2739 |
" Color() {}\n" + |
| 2739 |
" Color(int i) {}\n" + |
2740 |
" Color(int i) {}\n" + |
| 2740 |
"}" |
2741 |
"}" |
| 2741 |
); |
2742 |
); |
| 2742 |
IType type = workingCopies[0].getType("Color"); |
2743 |
IType type = workingCopies[0].getType("Color"); |
| 2743 |
IMethod method = type.getMethod("Color", new String[] { "I"} ); |
2744 |
IMethod method = type.getMethod("Color", new String[] { "I"} ); |
| 2744 |
search(method, REFERENCES); |
2745 |
search(method, REFERENCES); |
| 2745 |
assertSearchResults( |
2746 |
assertSearchResults( |
| 2746 |
"src/b89686/A.java b89686.Color.BLUE [BLUE(17)] EXACT_MATCH\n" + |
2747 |
"src/b89686/A.java b89686.Color.BLUE [BLUE(17)] EXACT_MATCH\n" + |
| 2747 |
"src/b89686/A.java b89686.Color.PINK [PINK((1+(1+1)))] EXACT_MATCH" |
2748 |
"src/b89686/A.java b89686.Color.PINK [PINK((1+(1+1)))] EXACT_MATCH" |
| 2748 |
); |
2749 |
); |
| 2749 |
} |
2750 |
} |
|
Lines 2757-2763
Link Here
|
| 2757 |
IMethod method = classFile.getMethod("foo", new String[0]); |
2758 |
IMethod method = classFile.getMethod("foo", new String[0]); |
| 2758 |
search(method, ALL_OCCURRENCES); |
2759 |
search(method, ALL_OCCURRENCES); |
| 2759 |
assertSearchResults( |
2760 |
assertSearchResults( |
| 2760 |
"lib/b89848/Test.class void b89848.Test.foo() EXACT_MATCH\n" + |
2761 |
"lib/b89848/Test.class void b89848.Test.foo() EXACT_MATCH\n" + |
| 2761 |
"lib/b89848/X.class void b89848.X.foo() EXACT_MATCH" |
2762 |
"lib/b89848/X.class void b89848.X.foo() EXACT_MATCH" |
| 2762 |
); |
2763 |
); |
| 2763 |
} |
2764 |
} |
|
Lines 2770-2789
Link Here
|
| 2770 |
workingCopies = new ICompilationUnit[3]; |
2771 |
workingCopies = new ICompilationUnit[3]; |
| 2771 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b90779/A.java", |
2772 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b90779/A.java", |
| 2772 |
"package b90779;\n" + |
2773 |
"package b90779;\n" + |
| 2773 |
"public class A {\n" + |
2774 |
"public class A {\n" + |
| 2774 |
" public A() {}\n" + |
2775 |
" public A() {}\n" + |
| 2775 |
"}\n" |
2776 |
"}\n" |
| 2776 |
); |
2777 |
); |
| 2777 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b90779/B.java", |
2778 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b90779/B.java", |
| 2778 |
"package b90779;\n" + |
2779 |
"package b90779;\n" + |
| 2779 |
"public class B {\n" + |
2780 |
"public class B {\n" + |
| 2780 |
" public B() {}\n" + |
2781 |
" public B() {}\n" + |
| 2781 |
"}\n" |
2782 |
"}\n" |
| 2782 |
); |
2783 |
); |
| 2783 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b90779/C.java", |
2784 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b90779/C.java", |
| 2784 |
"package b90779;\n" + |
2785 |
"package b90779;\n" + |
| 2785 |
"public class C {\n" + |
2786 |
"public class C {\n" + |
| 2786 |
" public C() {}\n" + |
2787 |
" public C() {}\n" + |
| 2787 |
"}\n" |
2788 |
"}\n" |
| 2788 |
); |
2789 |
); |
| 2789 |
IType type = workingCopies[0].getType("A"); |
2790 |
IType type = workingCopies[0].getType("A"); |
|
Lines 2803-2817
Link Here
|
| 2803 |
workingCopies = new ICompilationUnit[1]; |
2804 |
workingCopies = new ICompilationUnit[1]; |
| 2804 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b90915/X.java", |
2805 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b90915/X.java", |
| 2805 |
"package b90915;\n" + |
2806 |
"package b90915;\n" + |
| 2806 |
"import g5.m.def.Single;\n" + |
2807 |
"import g5.m.def.Single;\n" + |
| 2807 |
"public class X<T> {\n" + |
2808 |
"public class X<T> {\n" + |
| 2808 |
" void foo() {\n" + |
2809 |
" void foo() {\n" + |
| 2809 |
" Single<String> single = new Single<String>() {\n" + |
2810 |
" Single<String> single = new Single<String>() {\n" + |
| 2810 |
" public <U> String generic(U u) { return \"\"; }\n" + |
2811 |
" public <U> String generic(U u) { return \"\"; }\n" + |
| 2811 |
" public void paramTypesArgs(Single<String> gs) {}\n" + |
2812 |
" public void paramTypesArgs(Single<String> gs) {}\n" + |
| 2812 |
" };\n" + |
2813 |
" };\n" + |
| 2813 |
" single.paramTypesArgs(null);\n" + |
2814 |
" single.paramTypesArgs(null);\n" + |
| 2814 |
" }\n" + |
2815 |
" }\n" + |
| 2815 |
"}\n" |
2816 |
"}\n" |
| 2816 |
); |
2817 |
); |
| 2817 |
IType type = workingCopies[0].getType("X"); |
2818 |
IType type = workingCopies[0].getType("X"); |
|
Lines 2834-2849
Link Here
|
| 2834 |
public void testBug91542() throws CoreException { |
2835 |
public void testBug91542() throws CoreException { |
| 2835 |
workingCopies = new ICompilationUnit[1]; |
2836 |
workingCopies = new ICompilationUnit[1]; |
| 2836 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b91542/A.java", |
2837 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b91542/A.java", |
| 2837 |
"package b91542;\n" + |
2838 |
"package b91542;\n" + |
| 2838 |
"\n" + |
2839 |
"\n" + |
| 2839 |
"class A<T> {\n" + |
2840 |
"class A<T> {\n" + |
| 2840 |
" void a(A<T> a){}\n" + |
2841 |
" void a(A<T> a){}\n" + |
| 2841 |
"}\n" + |
2842 |
"}\n" + |
| 2842 |
"\n" + |
2843 |
"\n" + |
| 2843 |
"class B<T> extends A<T> {\n" + |
2844 |
"class B<T> extends A<T> {\n" + |
| 2844 |
" protected void foo() { \n" + |
2845 |
" protected void foo() { \n" + |
| 2845 |
" a(this);\n" + |
2846 |
" a(this);\n" + |
| 2846 |
" }\n" + |
2847 |
" }\n" + |
| 2847 |
"}" |
2848 |
"}" |
| 2848 |
); |
2849 |
); |
| 2849 |
IType type = workingCopies[0].getType("B"); |
2850 |
IType type = workingCopies[0].getType("B"); |
|
Lines 2861-2900
Link Here
|
| 2861 |
public void testBug91078() throws CoreException { |
2862 |
public void testBug91078() throws CoreException { |
| 2862 |
workingCopies = new ICompilationUnit[3]; |
2863 |
workingCopies = new ICompilationUnit[3]; |
| 2863 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b91078/test/Example.java", |
2864 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b91078/test/Example.java", |
| 2864 |
"package b91078.test;\n" + |
2865 |
"package b91078.test;\n" + |
| 2865 |
"import b91078.util.HashMap;\n" + |
2866 |
"import b91078.util.HashMap;\n" + |
| 2866 |
"import b91078.util.Map;\n" + |
2867 |
"import b91078.util.Map;\n" + |
| 2867 |
"public class Example {\n" + |
2868 |
"public class Example {\n" + |
| 2868 |
" public Map.Entry logAll(Object obj) {\n" + |
2869 |
" public Map.Entry logAll(Object obj) {\n" + |
| 2869 |
" if (obj instanceof b91078.util.HashMap) {\n" + |
2870 |
" if (obj instanceof b91078.util.HashMap) {\n" + |
| 2870 |
" HashMap map = (HashMap) obj;\n" + |
2871 |
" HashMap map = (HashMap) obj;\n" + |
| 2871 |
" return map.entry;\n" + |
2872 |
" return map.entry;\n" + |
| 2872 |
" }\n" + |
2873 |
" }\n" + |
| 2873 |
" if (obj instanceof b91078.util.HashMap.Entry) {\n" + |
2874 |
" if (obj instanceof b91078.util.HashMap.Entry) {\n" + |
| 2874 |
" Map.Entry entry = (Map.Entry) obj;\n" + |
2875 |
" Map.Entry entry = (Map.Entry) obj;\n" + |
| 2875 |
" return entry;\n" + |
2876 |
" return entry;\n" + |
| 2876 |
" }\n" + |
2877 |
" }\n" + |
| 2877 |
" return null;\n" + |
2878 |
" return null;\n" + |
| 2878 |
" }\n" + |
2879 |
" }\n" + |
| 2879 |
"}\n" |
2880 |
"}\n" |
| 2880 |
); |
2881 |
); |
| 2881 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b91078/util/HashMap.java", |
2882 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b91078/util/HashMap.java", |
| 2882 |
"package b91078.util;\n" + |
2883 |
"package b91078.util;\n" + |
| 2883 |
"public class HashMap implements Map {\n" + |
2884 |
"public class HashMap implements Map {\n" + |
| 2884 |
" public Entry entry;\n" + |
2885 |
" public Entry entry;\n" + |
| 2885 |
"}\n" |
2886 |
"}\n" |
| 2886 |
); |
2887 |
); |
| 2887 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b91078/util/Map.java", |
2888 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b91078/util/Map.java", |
| 2888 |
"package b91078.util;\n" + |
2889 |
"package b91078.util;\n" + |
| 2889 |
"public interface Map {\n" + |
2890 |
"public interface Map {\n" + |
| 2890 |
" class Entry{}\n" + |
2891 |
" class Entry{}\n" + |
| 2891 |
"}\n" |
2892 |
"}\n" |
| 2892 |
); |
2893 |
); |
| 2893 |
search("*", PACKAGE, REFERENCES, getJavaSearchWorkingCopiesScope(workingCopies[0])); |
2894 |
search("*", PACKAGE, REFERENCES, getJavaSearchWorkingCopiesScope(workingCopies[0])); |
| 2894 |
assertSearchResults( |
2895 |
assertSearchResults( |
| 2895 |
"src/b91078/test/Example.java [b91078.util] EXACT_MATCH\n" + |
2896 |
"src/b91078/test/Example.java [b91078.util] EXACT_MATCH\n" + |
| 2896 |
"src/b91078/test/Example.java [b91078.util] EXACT_MATCH\n" + |
2897 |
"src/b91078/test/Example.java [b91078.util] EXACT_MATCH\n" + |
| 2897 |
"src/b91078/test/Example.java Map.Entry b91078.test.Example.logAll(Object) [b91078.util] EXACT_MATCH\n" + |
2898 |
"src/b91078/test/Example.java Map.Entry b91078.test.Example.logAll(Object) [b91078.util] EXACT_MATCH\n" + |
| 2898 |
"src/b91078/test/Example.java Map.Entry b91078.test.Example.logAll(Object) [b91078.util] EXACT_MATCH" |
2899 |
"src/b91078/test/Example.java Map.Entry b91078.test.Example.logAll(Object) [b91078.util] EXACT_MATCH" |
| 2899 |
); |
2900 |
); |
| 2900 |
} |
2901 |
} |
|
Lines 2918-2935
Link Here
|
| 2918 |
); |
2919 |
); |
| 2919 |
assertSearchResults( |
2920 |
assertSearchResults( |
| 2920 |
"Unexpected all type names", |
2921 |
"Unexpected all type names", |
| 2921 |
"java.lang.CharSequence\n" + |
2922 |
"java.lang.CharSequence\n" + |
| 2922 |
"java.lang.Class\n" + |
2923 |
"java.lang.Class\n" + |
| 2923 |
"java.lang.CloneNotSupportedException\n" + |
2924 |
"java.lang.CloneNotSupportedException\n" + |
| 2924 |
"java.lang.Comparable\n" + |
2925 |
"java.lang.Comparable\n" + |
| 2925 |
"java.lang.Enum\n" + |
2926 |
"java.lang.Enum\n" + |
| 2926 |
"java.lang.Error\n" + |
2927 |
"java.lang.Error\n" + |
| 2927 |
"java.lang.Exception\n" + |
2928 |
"java.lang.Exception\n" + |
| 2928 |
"java.lang.IllegalMonitorStateException\n" + |
2929 |
"java.lang.IllegalMonitorStateException\n" + |
| 2929 |
"java.lang.InterruptedException\n" + |
2930 |
"java.lang.InterruptedException\n" + |
| 2930 |
"java.lang.Object\n" + |
2931 |
"java.lang.Object\n" + |
| 2931 |
"java.lang.RuntimeException\n" + |
2932 |
"java.lang.RuntimeException\n" + |
| 2932 |
"java.lang.String\n" + |
2933 |
"java.lang.String\n" + |
| 2933 |
"java.lang.Throwable", |
2934 |
"java.lang.Throwable", |
| 2934 |
requestor); |
2935 |
requestor); |
| 2935 |
} |
2936 |
} |
|
Lines 2948-2959
Link Here
|
| 2948 |
); |
2949 |
); |
| 2949 |
assertSearchResults( |
2950 |
assertSearchResults( |
| 2950 |
"Unexpected all type names", |
2951 |
"Unexpected all type names", |
| 2951 |
"java.lang.CloneNotSupportedException\n" + |
2952 |
"java.lang.CloneNotSupportedException\n" + |
| 2952 |
"java.lang.Exception\n" + |
2953 |
"java.lang.Exception\n" + |
| 2953 |
"java.lang.IllegalMonitorStateException\n" + |
2954 |
"java.lang.IllegalMonitorStateException\n" + |
| 2954 |
"java.lang.InterruptedException\n" + |
2955 |
"java.lang.InterruptedException\n" + |
| 2955 |
"java.lang.RuntimeException\n" + |
2956 |
"java.lang.RuntimeException\n" + |
| 2956 |
"java.lang.annotation.Annotation\n" + |
2957 |
"java.lang.annotation.Annotation\n" + |
| 2957 |
"java.lang.annotation.Retention", |
2958 |
"java.lang.annotation.Retention", |
| 2958 |
requestor); |
2959 |
requestor); |
| 2959 |
} |
2960 |
} |
|
Lines 2972-2987
Link Here
|
| 2972 |
); |
2973 |
); |
| 2973 |
assertSearchResults( |
2974 |
assertSearchResults( |
| 2974 |
"Unexpected all type names", |
2975 |
"Unexpected all type names", |
| 2975 |
"Test$Inner\n" + |
2976 |
"Test$Inner\n" + |
| 2976 |
"b123679.test.Test\n" + |
2977 |
"b123679.test.Test\n" + |
| 2977 |
"b123679.test.Test$StaticClass\n" + |
2978 |
"b123679.test.Test$StaticClass\n" + |
| 2978 |
"b123679.test.Test$StaticClass$Member\n" + |
2979 |
"b123679.test.Test$StaticClass$Member\n" + |
| 2979 |
"b124645.test.A_124645\n" + |
2980 |
"b124645.test.A_124645\n" + |
| 2980 |
"b124645.test.X_124645\n" + |
2981 |
"b124645.test.X_124645\n" + |
| 2981 |
"b127628.Test127628$Member127628\n" + |
2982 |
"b127628.Test127628$Member127628\n" + |
| 2982 |
"b95794.Test$Color\n" + |
2983 |
"b95794.Test$Color\n" + |
| 2983 |
"pack.age.Test$Member\n" + |
2984 |
"pack.age.Test$Member\n" + |
| 2984 |
"test.Test$StaticClass\n" + |
2985 |
"test.Test$StaticClass\n" + |
| 2985 |
"test.Test$StaticClass$Member", |
2986 |
"test.Test$StaticClass$Member", |
| 2986 |
requestor); |
2987 |
requestor); |
| 2987 |
} |
2988 |
} |
|
Lines 3000-3006
Link Here
|
| 3000 |
); |
3001 |
); |
| 3001 |
assertSearchResults( |
3002 |
assertSearchResults( |
| 3002 |
"Unexpected all type names", |
3003 |
"Unexpected all type names", |
| 3003 |
"b124645.test.X_124645\n" + |
3004 |
"b124645.test.X_124645\n" + |
| 3004 |
"b124645.xy.X_124645", |
3005 |
"b124645.xy.X_124645", |
| 3005 |
requestor); |
3006 |
requestor); |
| 3006 |
} |
3007 |
} |
|
Lines 3013-3022
Link Here
|
| 3013 |
resultCollector.showRule = true; |
3014 |
resultCollector.showRule = true; |
| 3014 |
workingCopies = new ICompilationUnit[1]; |
3015 |
workingCopies = new ICompilationUnit[1]; |
| 3015 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b92944/Test.java", |
3016 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b92944/Test.java", |
| 3016 |
"package b92944;\n" + |
3017 |
"package b92944;\n" + |
| 3017 |
"interface B92944_I {}\n" + |
3018 |
"interface B92944_I {}\n" + |
| 3018 |
"enum B92944_E {}\n" + |
3019 |
"enum B92944_E {}\n" + |
| 3019 |
"@interface B92944_A {}\n" + |
3020 |
"@interface B92944_A {}\n" + |
| 3020 |
"public class B92944 {}\n" |
3021 |
"public class B92944 {}\n" |
| 3021 |
); |
3022 |
); |
| 3022 |
} |
3023 |
} |
|
Lines 3037-3045
Link Here
|
| 3037 |
); |
3038 |
); |
| 3038 |
assertSearchResults( |
3039 |
assertSearchResults( |
| 3039 |
"Unexpected all type names", |
3040 |
"Unexpected all type names", |
| 3040 |
"b92944.B92944\n" + |
3041 |
"b92944.B92944\n" + |
| 3041 |
"b92944.B92944_A\n" + |
3042 |
"b92944.B92944_A\n" + |
| 3042 |
"b92944.B92944_E\n" + |
3043 |
"b92944.B92944_E\n" + |
| 3043 |
"b92944.B92944_I", |
3044 |
"b92944.B92944_I", |
| 3044 |
requestor); |
3045 |
requestor); |
| 3045 |
} |
3046 |
} |
|
Lines 3082-3088
Link Here
|
| 3082 |
// Remove enum and annotation |
3083 |
// Remove enum and annotation |
| 3083 |
assertSearchResults( |
3084 |
assertSearchResults( |
| 3084 |
"Unexpected all type names", |
3085 |
"Unexpected all type names", |
| 3085 |
"b92944.B92944\n" + |
3086 |
"b92944.B92944\n" + |
| 3086 |
"b92944.B92944_I", // Annotation is an interface in java.lang |
3087 |
"b92944.B92944_I", // Annotation is an interface in java.lang |
| 3087 |
requestor); |
3088 |
requestor); |
| 3088 |
} |
3089 |
} |
|
Lines 3104-3110
Link Here
|
| 3104 |
// Remove interface and annotation |
3105 |
// Remove interface and annotation |
| 3105 |
assertSearchResults( |
3106 |
assertSearchResults( |
| 3106 |
"Unexpected all type names", |
3107 |
"Unexpected all type names", |
| 3107 |
"b92944.B92944\n" + |
3108 |
"b92944.B92944\n" + |
| 3108 |
"b92944.B92944_E", |
3109 |
"b92944.B92944_E", |
| 3109 |
requestor); |
3110 |
requestor); |
| 3110 |
} |
3111 |
} |
|
Lines 3172-3178
Link Here
|
| 3172 |
/** |
3173 |
/** |
| 3173 |
* Bug 93392: [1.5][search][annot] search for annotation elements does not seem to be implemented yet |
3174 |
* Bug 93392: [1.5][search][annot] search for annotation elements does not seem to be implemented yet |
| 3174 |
* @see "https://bugs.eclipse.org/bugs/show_bug.cgi?id=93392" |
3175 |
* @see "https://bugs.eclipse.org/bugs/show_bug.cgi?id=93392" |
| 3175 |
* |
3176 |
* |
| 3176 |
* Note that this test valid also: |
3177 |
* Note that this test valid also: |
| 3177 |
* Bug 94062: [1.5][search][annot] search for annotation elements incorrect match range |
3178 |
* Bug 94062: [1.5][search][annot] search for annotation elements incorrect match range |
| 3178 |
* @see "https://bugs.eclipse.org/bugs/show_bug.cgi?id=94062" |
3179 |
* @see "https://bugs.eclipse.org/bugs/show_bug.cgi?id=94062" |
|
Lines 3182-3205
Link Here
|
| 3182 |
collector.showAccuracy = true; |
3183 |
collector.showAccuracy = true; |
| 3183 |
workingCopies = new ICompilationUnit[1]; |
3184 |
workingCopies = new ICompilationUnit[1]; |
| 3184 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b93392/Test.java", |
3185 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b93392/Test.java", |
| 3185 |
"package b93392;\n" + |
3186 |
"package b93392;\n" + |
| 3186 |
"@interface Annot {\n" + |
3187 |
"@interface Annot {\n" + |
| 3187 |
" int value();\n" + |
3188 |
" int value();\n" + |
| 3188 |
"}\n" + |
3189 |
"}\n" + |
| 3189 |
"@Annot(41)\n" + |
3190 |
"@Annot(41)\n" + |
| 3190 |
"public class Test {\n" + |
3191 |
"public class Test {\n" + |
| 3191 |
" @Annot(21)\n" + |
3192 |
" @Annot(21)\n" + |
| 3192 |
" int bar;\n" + |
3193 |
" int bar;\n" + |
| 3193 |
" @Annot(10)\n" + |
3194 |
" @Annot(10)\n" + |
| 3194 |
" public void foo() {}\n" + |
3195 |
" public void foo() {}\n" + |
| 3195 |
"}\n" |
3196 |
"}\n" |
| 3196 |
); |
3197 |
); |
| 3197 |
IType type = selectType(workingCopies[0], "Annot"); |
3198 |
IType type = selectType(workingCopies[0], "Annot"); |
| 3198 |
IMethod method = type.getMethod("value", new String[0]); |
3199 |
IMethod method = type.getMethod("value", new String[0]); |
| 3199 |
search(method, REFERENCES, getJavaSearchScopeBugs(), collector); |
3200 |
search(method, REFERENCES, getJavaSearchScopeBugs(), collector); |
| 3200 |
assertSearchResults( |
3201 |
assertSearchResults( |
| 3201 |
"src/b93392/Test.java b93392.Test [41] EXACT_MATCH\n" + |
3202 |
"src/b93392/Test.java b93392.Test [41] EXACT_MATCH\n" + |
| 3202 |
"src/b93392/Test.java b93392.Test.bar [21] EXACT_MATCH\n" + |
3203 |
"src/b93392/Test.java b93392.Test.bar [21] EXACT_MATCH\n" + |
| 3203 |
"src/b93392/Test.java void b93392.Test.foo() [10] EXACT_MATCH", |
3204 |
"src/b93392/Test.java void b93392.Test.foo() [10] EXACT_MATCH", |
| 3204 |
collector |
3205 |
collector |
| 3205 |
); |
3206 |
); |
|
Lines 3228-3246
Link Here
|
| 3228 |
public void testBug94160() throws CoreException { |
3229 |
public void testBug94160() throws CoreException { |
| 3229 |
workingCopies = new ICompilationUnit[1]; |
3230 |
workingCopies = new ICompilationUnit[1]; |
| 3230 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b94160/Test.java", |
3231 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b94160/Test.java", |
| 3231 |
"package b94160;\n" + |
3232 |
"package b94160;\n" + |
| 3232 |
"public class Test {\n" + |
3233 |
"public class Test {\n" + |
| 3233 |
" <T> List<T> generateList(Class<T> clazz) {\n" + |
3234 |
" <T> List<T> generateList(Class<T> clazz) {\n" + |
| 3234 |
" return new ArrayList<T>();\n" + |
3235 |
" return new ArrayList<T>();\n" + |
| 3235 |
" }\n" + |
3236 |
" }\n" + |
| 3236 |
"}\n" + |
3237 |
"}\n" + |
| 3237 |
"class CTest extends Test {\n" + |
3238 |
"class CTest extends Test {\n" + |
| 3238 |
" private List<String> myList = generateList(String.class);\n" + |
3239 |
" private List<String> myList = generateList(String.class);\n" + |
| 3239 |
" CTest() {\n" + |
3240 |
" CTest() {\n" + |
| 3240 |
" myList = new ArrayList<String>();\n" + |
3241 |
" myList = new ArrayList<String>();\n" + |
| 3241 |
" }\n" + |
3242 |
" }\n" + |
| 3242 |
"}\n" + |
3243 |
"}\n" + |
| 3243 |
"interface List<E> {}\n" + |
3244 |
"interface List<E> {}\n" + |
| 3244 |
"class ArrayList<E> implements List<E> {}" |
3245 |
"class ArrayList<E> implements List<E> {}" |
| 3245 |
); |
3246 |
); |
| 3246 |
IType type = workingCopies[0].getType("CTest"); |
3247 |
IType type = workingCopies[0].getType("CTest"); |
|
Lines 3258-3269
Link Here
|
| 3258 |
public void testBug94389() throws CoreException { |
3259 |
public void testBug94389() throws CoreException { |
| 3259 |
workingCopies = new ICompilationUnit[1]; |
3260 |
workingCopies = new ICompilationUnit[1]; |
| 3260 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b94389/Test.java", |
3261 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b94389/Test.java", |
| 3261 |
"package b94389;\n" + |
3262 |
"package b94389;\n" + |
| 3262 |
"public class Test {\n" + |
3263 |
"public class Test {\n" + |
| 3263 |
" public void foo() {}\n" + |
3264 |
" public void foo() {}\n" + |
| 3264 |
" public void foo() {}\n" + |
3265 |
" public void foo() {}\n" + |
| 3265 |
" public void foo() {}\n" + |
3266 |
" public void foo() {}\n" + |
| 3266 |
" public void foo() {}\n" + |
3267 |
" public void foo() {}\n" + |
| 3267 |
"}\n" |
3268 |
"}\n" |
| 3268 |
); |
3269 |
); |
| 3269 |
IType type = workingCopies[0].getType("Test"); |
3270 |
IType type = workingCopies[0].getType("Test"); |
|
Lines 3273-3290
Link Here
|
| 3273 |
// Perform search on each duplicate method |
3274 |
// Perform search on each duplicate method |
| 3274 |
IJavaSearchScope scope = getJavaSearchScopeBugs(); |
3275 |
IJavaSearchScope scope = getJavaSearchScopeBugs(); |
| 3275 |
for (int m=0; m<methodsLength; m++) { |
3276 |
for (int m=0; m<methodsLength; m++) { |
| 3276 |
|
3277 |
|
| 3277 |
// Search method declaration |
3278 |
// Search method declaration |
| 3278 |
TestCollector collector = new TestCollector(); |
3279 |
TestCollector collector = new TestCollector(); |
| 3279 |
search(methods[m], DECLARATIONS, scope, collector); |
3280 |
search(methods[m], DECLARATIONS, scope, collector); |
| 3280 |
assertSearchResults( |
3281 |
assertSearchResults( |
| 3281 |
"src/b94389/Test.java void b94389.Test.foo() [foo]\n" + |
3282 |
"src/b94389/Test.java void b94389.Test.foo() [foo]\n" + |
| 3282 |
"src/b94389/Test.java void b94389.Test.foo() [foo]\n" + |
3283 |
"src/b94389/Test.java void b94389.Test.foo() [foo]\n" + |
| 3283 |
"src/b94389/Test.java void b94389.Test.foo() [foo]\n" + |
3284 |
"src/b94389/Test.java void b94389.Test.foo() [foo]\n" + |
| 3284 |
"src/b94389/Test.java void b94389.Test.foo() [foo]", |
3285 |
"src/b94389/Test.java void b94389.Test.foo() [foo]", |
| 3285 |
collector |
3286 |
collector |
| 3286 |
); |
3287 |
); |
| 3287 |
|
3288 |
|
| 3288 |
// Verify that all matches have correct occurence count |
3289 |
// Verify that all matches have correct occurence count |
| 3289 |
int size = collector.matches.size(); |
3290 |
int size = collector.matches.size(); |
| 3290 |
for (int i=0; i<size; i++) { |
3291 |
for (int i=0; i<size; i++) { |
|
Lines 3300-3314
Link Here
|
| 3300 |
public void testBug94718() throws CoreException { |
3301 |
public void testBug94718() throws CoreException { |
| 3301 |
workingCopies = new ICompilationUnit[2]; |
3302 |
workingCopies = new ICompilationUnit[2]; |
| 3302 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b94718/SetUp.java", |
3303 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b94718/SetUp.java", |
| 3303 |
"package b94718;\n" + |
3304 |
"package b94718;\n" + |
| 3304 |
"public @interface SetUp {\n" + |
3305 |
"public @interface SetUp {\n" + |
| 3305 |
" String value() {}\n" + |
3306 |
" String value() {}\n" + |
| 3306 |
"}\n" |
3307 |
"}\n" |
| 3307 |
); |
3308 |
); |
| 3308 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b94718/Test.java", |
3309 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b94718/Test.java", |
| 3309 |
"package b94718;\n" + |
3310 |
"package b94718;\n" + |
| 3310 |
"@SetUp(\"howdy\")\n" + |
3311 |
"@SetUp(\"howdy\")\n" + |
| 3311 |
"public class Test {\n" + |
3312 |
"public class Test {\n" + |
| 3312 |
"}\n" |
3313 |
"}\n" |
| 3313 |
); |
3314 |
); |
| 3314 |
IType type = workingCopies[1].getType("SetUp"); |
3315 |
IType type = workingCopies[1].getType("SetUp"); |
|
Lines 3330-3336
Link Here
|
| 3330 |
// search constructor second level member |
3331 |
// search constructor second level member |
| 3331 |
search(type.getMethods()[0], REFERENCES); |
3332 |
search(type.getMethods()[0], REFERENCES); |
| 3332 |
assertSearchResults( |
3333 |
assertSearchResults( |
| 3333 |
"lib/b95152.jar b95152.T1() EXACT_MATCH\n" + |
3334 |
"lib/b95152.jar b95152.T1() EXACT_MATCH\n" + |
| 3334 |
"lib/b95152.jar b95152.T1() EXACT_MATCH" |
3335 |
"lib/b95152.jar b95152.T1() EXACT_MATCH" |
| 3335 |
); |
3336 |
); |
| 3336 |
} |
3337 |
} |
|
Lines 3342-3348
Link Here
|
| 3342 |
// search constructor second level member |
3343 |
// search constructor second level member |
| 3343 |
search(type.getMethods()[0], REFERENCES); |
3344 |
search(type.getMethods()[0], REFERENCES); |
| 3344 |
assertSearchResults( |
3345 |
assertSearchResults( |
| 3345 |
"lib/b95152.jar b95152.T2(int) EXACT_MATCH\n" + |
3346 |
"lib/b95152.jar b95152.T2(int) EXACT_MATCH\n" + |
| 3346 |
"lib/b95152.jar b95152.T2(int) EXACT_MATCH" |
3347 |
"lib/b95152.jar b95152.T2(int) EXACT_MATCH" |
| 3347 |
); |
3348 |
); |
| 3348 |
} |
3349 |
} |
|
Lines 3354-3360
Link Here
|
| 3354 |
// search constructor second level member |
3355 |
// search constructor second level member |
| 3355 |
search(type.getMethods()[0], REFERENCES); |
3356 |
search(type.getMethods()[0], REFERENCES); |
| 3356 |
assertSearchResults( |
3357 |
assertSearchResults( |
| 3357 |
"lib/b95152.jar b95152.T3(b95152.T3) EXACT_MATCH\n" + |
3358 |
"lib/b95152.jar b95152.T3(b95152.T3) EXACT_MATCH\n" + |
| 3358 |
"lib/b95152.jar b95152.T3(b95152.T3) EXACT_MATCH" |
3359 |
"lib/b95152.jar b95152.T3(b95152.T3) EXACT_MATCH" |
| 3359 |
); |
3360 |
); |
| 3360 |
} |
3361 |
} |
|
Lines 3366-3392
Link Here
|
| 3366 |
// search constructor second level member |
3367 |
// search constructor second level member |
| 3367 |
search(type.getMethods()[0], REFERENCES); |
3368 |
search(type.getMethods()[0], REFERENCES); |
| 3368 |
assertSearchResults( |
3369 |
assertSearchResults( |
| 3369 |
"lib/b95152.jar b95152.T4(b95152.T4, java.lang.String) EXACT_MATCH\n" + |
3370 |
"lib/b95152.jar b95152.T4(b95152.T4, java.lang.String) EXACT_MATCH\n" + |
| 3370 |
"lib/b95152.jar b95152.T4(b95152.T4, java.lang.String) EXACT_MATCH" |
3371 |
"lib/b95152.jar b95152.T4(b95152.T4, java.lang.String) EXACT_MATCH" |
| 3371 |
); |
3372 |
); |
| 3372 |
} |
3373 |
} |
| 3373 |
public void testBug95152_wc01() throws CoreException { |
3374 |
public void testBug95152_wc01() throws CoreException { |
| 3374 |
workingCopies = new ICompilationUnit[1]; |
3375 |
workingCopies = new ICompilationUnit[1]; |
| 3375 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b95152/T.java", |
3376 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b95152/T.java", |
| 3376 |
"package b95152;\n" + |
3377 |
"package b95152;\n" + |
| 3377 |
"public class T {\n" + |
3378 |
"public class T {\n" + |
| 3378 |
" T2 c2;\n" + |
3379 |
" T2 c2;\n" + |
| 3379 |
" T2.T3 c3;\n" + |
3380 |
" T2.T3 c3;\n" + |
| 3380 |
" T() {\n" + |
3381 |
" T() {\n" + |
| 3381 |
" c2 = new T2();\n" + |
3382 |
" c2 = new T2();\n" + |
| 3382 |
" c3 = c2.new T3();\n" + |
3383 |
" c3 = c2.new T3();\n" + |
| 3383 |
" }\n" + |
3384 |
" }\n" + |
| 3384 |
" class T2 {\n" + |
3385 |
" class T2 {\n" + |
| 3385 |
" T2() {}\n" + |
3386 |
" T2() {}\n" + |
| 3386 |
" class T3 {\n" + |
3387 |
" class T3 {\n" + |
| 3387 |
" T3() {}\n" + |
3388 |
" T3() {}\n" + |
| 3388 |
" }\n" + |
3389 |
" }\n" + |
| 3389 |
" }\n" + |
3390 |
" }\n" + |
| 3390 |
"}\n" |
3391 |
"}\n" |
| 3391 |
); |
3392 |
); |
| 3392 |
// search constructor first level member |
3393 |
// search constructor first level member |
|
Lines 3404-3423
Link Here
|
| 3404 |
public void testBug95152_wc02() throws CoreException { |
3405 |
public void testBug95152_wc02() throws CoreException { |
| 3405 |
workingCopies = new ICompilationUnit[1]; |
3406 |
workingCopies = new ICompilationUnit[1]; |
| 3406 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b95152/T.java", |
3407 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b95152/T.java", |
| 3407 |
"package b95152;\n" + |
3408 |
"package b95152;\n" + |
| 3408 |
"public class T {\n" + |
3409 |
"public class T {\n" + |
| 3409 |
" T2 c2;\n" + |
3410 |
" T2 c2;\n" + |
| 3410 |
" T2.T3 c3;\n" + |
3411 |
" T2.T3 c3;\n" + |
| 3411 |
" T(int c) {\n" + |
3412 |
" T(int c) {\n" + |
| 3412 |
" c2 = new T2(c);\n" + |
3413 |
" c2 = new T2(c);\n" + |
| 3413 |
" c3 = c2.new T3(c);\n" + |
3414 |
" c3 = c2.new T3(c);\n" + |
| 3414 |
" }\n" + |
3415 |
" }\n" + |
| 3415 |
" class T2 {\n" + |
3416 |
" class T2 {\n" + |
| 3416 |
" T2(int x) {}\n" + |
3417 |
" T2(int x) {}\n" + |
| 3417 |
" class T3 {\n" + |
3418 |
" class T3 {\n" + |
| 3418 |
" T3(int x) {}\n" + |
3419 |
" T3(int x) {}\n" + |
| 3419 |
" }\n" + |
3420 |
" }\n" + |
| 3420 |
" }\n" + |
3421 |
" }\n" + |
| 3421 |
"}\n" |
3422 |
"}\n" |
| 3422 |
); |
3423 |
); |
| 3423 |
// search constructor first level member |
3424 |
// search constructor first level member |
|
Lines 3435-3454
Link Here
|
| 3435 |
public void testBug95152_wc03() throws CoreException { |
3436 |
public void testBug95152_wc03() throws CoreException { |
| 3436 |
workingCopies = new ICompilationUnit[1]; |
3437 |
workingCopies = new ICompilationUnit[1]; |
| 3437 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b95152/T.java", |
3438 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b95152/T.java", |
| 3438 |
"package b95152;\n" + |
3439 |
"package b95152;\n" + |
| 3439 |
"public class T {\n" + |
3440 |
"public class T {\n" + |
| 3440 |
" T2 c2;\n" + |
3441 |
" T2 c2;\n" + |
| 3441 |
" T2.T3 c3;\n" + |
3442 |
" T2.T3 c3;\n" + |
| 3442 |
" T(T c) {\n" + |
3443 |
" T(T c) {\n" + |
| 3443 |
" c2 = new T2(c);\n" + |
3444 |
" c2 = new T2(c);\n" + |
| 3444 |
" c3 = c2.new T3(c2);\n" + |
3445 |
" c3 = c2.new T3(c2);\n" + |
| 3445 |
" }\n" + |
3446 |
" }\n" + |
| 3446 |
" class T2 {\n" + |
3447 |
" class T2 {\n" + |
| 3447 |
" T2(T c) {}\n" + |
3448 |
" T2(T c) {}\n" + |
| 3448 |
" class T3 {\n" + |
3449 |
" class T3 {\n" + |
| 3449 |
" T3(T2 c) {}\n" + |
3450 |
" T3(T2 c) {}\n" + |
| 3450 |
" }\n" + |
3451 |
" }\n" + |
| 3451 |
" }\n" + |
3452 |
" }\n" + |
| 3452 |
"}\n" |
3453 |
"}\n" |
| 3453 |
); |
3454 |
); |
| 3454 |
// search constructor first level member |
3455 |
// search constructor first level member |
|
Lines 3466-3485
Link Here
|
| 3466 |
public void testBug95152_wc04() throws CoreException { |
3467 |
public void testBug95152_wc04() throws CoreException { |
| 3467 |
workingCopies = new ICompilationUnit[1]; |
3468 |
workingCopies = new ICompilationUnit[1]; |
| 3468 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b95152/T.java", |
3469 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b95152/T.java", |
| 3469 |
"package b95152;\n" + |
3470 |
"package b95152;\n" + |
| 3470 |
"public class T {\n" + |
3471 |
"public class T {\n" + |
| 3471 |
" T2 c2;\n" + |
3472 |
" T2 c2;\n" + |
| 3472 |
" T2.T3 c3;\n" + |
3473 |
" T2.T3 c3;\n" + |
| 3473 |
" T(T c, String str) {\n" + |
3474 |
" T(T c, String str) {\n" + |
| 3474 |
" c2 = new T2(c, str);\n" + |
3475 |
" c2 = new T2(c, str);\n" + |
| 3475 |
" c3 = c2.new T3(c2, str);\n" + |
3476 |
" c3 = c2.new T3(c2, str);\n" + |
| 3476 |
" }\n" + |
3477 |
" }\n" + |
| 3477 |
" class T2 {\n" + |
3478 |
" class T2 {\n" + |
| 3478 |
" T2(T c, String str) {}\n" + |
3479 |
" T2(T c, String str) {}\n" + |
| 3479 |
" class T3 {\n" + |
3480 |
" class T3 {\n" + |
| 3480 |
" T3(T2 c, String str) {}\n" + |
3481 |
" T3(T2 c, String str) {}\n" + |
| 3481 |
" }\n" + |
3482 |
" }\n" + |
| 3482 |
" }\n" + |
3483 |
" }\n" + |
| 3483 |
"}\n" |
3484 |
"}\n" |
| 3484 |
); |
3485 |
); |
| 3485 |
// search constructor first level member |
3486 |
// search constructor first level member |
|
Lines 3490-3496
Link Here
|
| 3490 |
search(type.getMethods()[0], REFERENCES); |
3491 |
search(type.getMethods()[0], REFERENCES); |
| 3491 |
// verify searches results |
3492 |
// verify searches results |
| 3492 |
assertSearchResults( |
3493 |
assertSearchResults( |
| 3493 |
"src/b95152/T.java b95152.T(T, String) [new T2(c, str)] EXACT_MATCH\n" + |
3494 |
"src/b95152/T.java b95152.T(T, String) [new T2(c, str)] EXACT_MATCH\n" + |
| 3494 |
"src/b95152/T.java b95152.T(T, String) [c2.new T3(c2, str)] EXACT_MATCH" |
3495 |
"src/b95152/T.java b95152.T(T, String) [c2.new T3(c2, str)] EXACT_MATCH" |
| 3495 |
); |
3496 |
); |
| 3496 |
} |
3497 |
} |
|
Lines 3502-3520
Link Here
|
| 3502 |
public void testBug95794() throws CoreException { |
3503 |
public void testBug95794() throws CoreException { |
| 3503 |
ICompilationUnit unit = getCompilationUnit("JavaSearchBugs", "src", "b95794", "Test.java"); |
3504 |
ICompilationUnit unit = getCompilationUnit("JavaSearchBugs", "src", "b95794", "Test.java"); |
| 3504 |
IType type = unit.getType("Test"); |
3505 |
IType type = unit.getType("Test"); |
| 3505 |
|
3506 |
|
| 3506 |
// Verify matches |
3507 |
// Verify matches |
| 3507 |
TestCollector occurencesCollector = new TestCollector(); |
3508 |
TestCollector occurencesCollector = new TestCollector(); |
| 3508 |
occurencesCollector.showAccuracy = true; |
3509 |
occurencesCollector.showAccuracy = true; |
| 3509 |
search(type, ALL_OCCURRENCES, getJavaSearchScopeBugs(), occurencesCollector); |
3510 |
search(type, ALL_OCCURRENCES, getJavaSearchScopeBugs(), occurencesCollector); |
| 3510 |
assertSearchResults( |
3511 |
assertSearchResults( |
| 3511 |
"src/b95794/Test.java [b95794.Test] EXACT_MATCH\n" + |
3512 |
"src/b95794/Test.java [b95794.Test] EXACT_MATCH\n" + |
| 3512 |
"src/b95794/Test.java [b95794.Test] EXACT_MATCH\n" + |
3513 |
"src/b95794/Test.java [b95794.Test] EXACT_MATCH\n" + |
| 3513 |
"src/b95794/Test.java b95794.Test [Test] EXACT_MATCH\n" + |
3514 |
"src/b95794/Test.java b95794.Test [Test] EXACT_MATCH\n" + |
| 3514 |
"src/b95794/Test.java b95794.Test.there [Test] EXACT_MATCH", |
3515 |
"src/b95794/Test.java b95794.Test.there [Test] EXACT_MATCH", |
| 3515 |
occurencesCollector |
3516 |
occurencesCollector |
| 3516 |
); |
3517 |
); |
| 3517 |
|
3518 |
|
| 3518 |
// Verify with references matches |
3519 |
// Verify with references matches |
| 3519 |
TestCollector referencesCollector = new TestCollector(); |
3520 |
TestCollector referencesCollector = new TestCollector(); |
| 3520 |
search(type, REFERENCES, getJavaSearchScopeBugs(), referencesCollector); |
3521 |
search(type, REFERENCES, getJavaSearchScopeBugs(), referencesCollector); |
|
Lines 3524-3542
Link Here
|
| 3524 |
resultCollector.showRule = true; |
3525 |
resultCollector.showRule = true; |
| 3525 |
ICompilationUnit unit = getCompilationUnit("JavaSearchBugs", "src", "b95794", "Test.java"); |
3526 |
ICompilationUnit unit = getCompilationUnit("JavaSearchBugs", "src", "b95794", "Test.java"); |
| 3526 |
IType type = unit.getType("Test").getType("Color"); |
3527 |
IType type = unit.getType("Test").getType("Color"); |
| 3527 |
|
3528 |
|
| 3528 |
// Verify matches |
3529 |
// Verify matches |
| 3529 |
TestCollector occurencesCollector = new TestCollector(); |
3530 |
TestCollector occurencesCollector = new TestCollector(); |
| 3530 |
occurencesCollector.showAccuracy = true; |
3531 |
occurencesCollector.showAccuracy = true; |
| 3531 |
search(type, ALL_OCCURRENCES, getJavaSearchScopeBugs(), occurencesCollector); |
3532 |
search(type, ALL_OCCURRENCES, getJavaSearchScopeBugs(), occurencesCollector); |
| 3532 |
assertSearchResults( |
3533 |
assertSearchResults( |
| 3533 |
"src/b95794/Test.java [b95794.Test.Color] EXACT_MATCH\n" + |
3534 |
"src/b95794/Test.java [b95794.Test.Color] EXACT_MATCH\n" + |
| 3534 |
"src/b95794/Test.java [b95794.Test.Color] EXACT_MATCH\n" + |
3535 |
"src/b95794/Test.java [b95794.Test.Color] EXACT_MATCH\n" + |
| 3535 |
"src/b95794/Test.java void b95794.Test.main(String[]) [Color] EXACT_MATCH\n" + |
3536 |
"src/b95794/Test.java void b95794.Test.main(String[]) [Color] EXACT_MATCH\n" + |
| 3536 |
"src/b95794/Test.java b95794.Test$Color [Color] EXACT_MATCH", |
3537 |
"src/b95794/Test.java b95794.Test$Color [Color] EXACT_MATCH", |
| 3537 |
occurencesCollector |
3538 |
occurencesCollector |
| 3538 |
); |
3539 |
); |
| 3539 |
|
3540 |
|
| 3540 |
// Verify with references matches |
3541 |
// Verify with references matches |
| 3541 |
TestCollector referencesCollector = new TestCollector(); |
3542 |
TestCollector referencesCollector = new TestCollector(); |
| 3542 |
search(type, REFERENCES, getJavaSearchScopeBugs(), referencesCollector); |
3543 |
search(type, REFERENCES, getJavaSearchScopeBugs(), referencesCollector); |
|
Lines 3546-3563
Link Here
|
| 3546 |
resultCollector.showRule = true; |
3547 |
resultCollector.showRule = true; |
| 3547 |
ICompilationUnit unit = getCompilationUnit("JavaSearchBugs", "src", "b95794", "Test.java"); |
3548 |
ICompilationUnit unit = getCompilationUnit("JavaSearchBugs", "src", "b95794", "Test.java"); |
| 3548 |
IField field = unit.getType("Test").getType("Color").getField("WHITE"); |
3549 |
IField field = unit.getType("Test").getType("Color").getField("WHITE"); |
| 3549 |
|
3550 |
|
| 3550 |
// Verify matches |
3551 |
// Verify matches |
| 3551 |
TestCollector occurencesCollector = new TestCollector(); |
3552 |
TestCollector occurencesCollector = new TestCollector(); |
| 3552 |
occurencesCollector.showAccuracy = true; |
3553 |
occurencesCollector.showAccuracy = true; |
| 3553 |
search(field, ALL_OCCURRENCES, getJavaSearchScopeBugs(), occurencesCollector); |
3554 |
search(field, ALL_OCCURRENCES, getJavaSearchScopeBugs(), occurencesCollector); |
| 3554 |
assertSearchResults( |
3555 |
assertSearchResults( |
| 3555 |
"src/b95794/Test.java [WHITE] EXACT_MATCH\n" + |
3556 |
"src/b95794/Test.java [WHITE] EXACT_MATCH\n" + |
| 3556 |
"src/b95794/Test.java void b95794.Test.main(String[]) [WHITE] EXACT_MATCH\n" + |
3557 |
"src/b95794/Test.java void b95794.Test.main(String[]) [WHITE] EXACT_MATCH\n" + |
| 3557 |
"src/b95794/Test.java b95794.Test$Color.WHITE [WHITE] EXACT_MATCH", |
3558 |
"src/b95794/Test.java b95794.Test$Color.WHITE [WHITE] EXACT_MATCH", |
| 3558 |
occurencesCollector |
3559 |
occurencesCollector |
| 3559 |
); |
3560 |
); |
| 3560 |
|
3561 |
|
| 3561 |
// Verify with references matches |
3562 |
// Verify with references matches |
| 3562 |
TestCollector referencesCollector = new TestCollector(); |
3563 |
TestCollector referencesCollector = new TestCollector(); |
| 3563 |
search(field, REFERENCES, getJavaSearchScopeBugs(), referencesCollector); |
3564 |
search(field, REFERENCES, getJavaSearchScopeBugs(), referencesCollector); |
|
Lines 3571-3586
Link Here
|
| 3571 |
public void testBug96761() throws CoreException { |
3572 |
public void testBug96761() throws CoreException { |
| 3572 |
workingCopies = new ICompilationUnit[1]; |
3573 |
workingCopies = new ICompilationUnit[1]; |
| 3573 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b96761/Generic.java", |
3574 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b96761/Generic.java", |
| 3574 |
"package b96761;\n" + |
3575 |
"package b96761;\n" + |
| 3575 |
"public class Generic<G> {\n" + |
3576 |
"public class Generic<G> {\n" + |
| 3576 |
" void take(G g) {\n" + |
3577 |
" void take(G g) {\n" + |
| 3577 |
" }\n" + |
3578 |
" }\n" + |
| 3578 |
"}\n" + |
3579 |
"}\n" + |
| 3579 |
"class Impl extends Generic<RuntimeException> {\n" + |
3580 |
"class Impl extends Generic<RuntimeException> {\n" + |
| 3580 |
" void take(InterruptedException g) {\n" + |
3581 |
" void take(InterruptedException g) {\n" + |
| 3581 |
" }\n" + |
3582 |
" }\n" + |
| 3582 |
" void take(RuntimeException g) {\n" + |
3583 |
" void take(RuntimeException g) {\n" + |
| 3583 |
" }\n" + |
3584 |
" }\n" + |
| 3584 |
"}" |
3585 |
"}" |
| 3585 |
); |
3586 |
); |
| 3586 |
IType type = workingCopies[0].getType("Generic"); |
3587 |
IType type = workingCopies[0].getType("Generic"); |
|
Lines 3596-3653
Link Here
|
| 3596 |
public void testBug96763() throws CoreException { |
3597 |
public void testBug96763() throws CoreException { |
| 3597 |
workingCopies = new ICompilationUnit[1]; |
3598 |
workingCopies = new ICompilationUnit[1]; |
| 3598 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b96763/Test.java", |
3599 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b96763/Test.java", |
| 3599 |
"package b96763;\n" + |
3600 |
"package b96763;\n" + |
| 3600 |
"class Test<T> {\n" + |
3601 |
"class Test<T> {\n" + |
| 3601 |
" public void first(Exception num) {}\n" + |
3602 |
" public void first(Exception num) {}\n" + |
| 3602 |
" public void second(T t) {}\n" + |
3603 |
" public void second(T t) {}\n" + |
| 3603 |
"}\n" + |
3604 |
"}\n" + |
| 3604 |
"class Sub extends Test<Exception> {\n" + |
3605 |
"class Sub extends Test<Exception> {\n" + |
| 3605 |
" public void first(Exception num) {}\n" + |
3606 |
" public void first(Exception num) {}\n" + |
| 3606 |
" public void second(Exception t) {}\n" + |
3607 |
" public void second(Exception t) {}\n" + |
| 3607 |
"}\n" |
3608 |
"}\n" |
| 3608 |
); |
3609 |
); |
| 3609 |
IMethod method = workingCopies[0].getType("Sub").getMethods()[0]; |
3610 |
IMethod method = workingCopies[0].getType("Sub").getMethods()[0]; |
| 3610 |
search(method, DECLARATIONS|IGNORE_DECLARING_TYPE|IGNORE_RETURN_TYPE); |
3611 |
search(method, DECLARATIONS|IGNORE_DECLARING_TYPE|IGNORE_RETURN_TYPE); |
| 3611 |
assertSearchResults( |
3612 |
assertSearchResults( |
| 3612 |
"src/b96763/Test.java void b96763.Test.first(Exception) [first] EXACT_MATCH\n" + |
3613 |
"src/b96763/Test.java void b96763.Test.first(Exception) [first] EXACT_MATCH\n" + |
| 3613 |
"src/b96763/Test.java void b96763.Sub.first(Exception) [first] EXACT_MATCH" |
3614 |
"src/b96763/Test.java void b96763.Sub.first(Exception) [first] EXACT_MATCH" |
| 3614 |
); |
3615 |
); |
| 3615 |
} |
3616 |
} |
| 3616 |
public void testBug96763b() throws CoreException { |
3617 |
public void testBug96763b() throws CoreException { |
| 3617 |
workingCopies = new ICompilationUnit[1]; |
3618 |
workingCopies = new ICompilationUnit[1]; |
| 3618 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b96763/Test.java", |
3619 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b96763/Test.java", |
| 3619 |
"package b96763;\n" + |
3620 |
"package b96763;\n" + |
| 3620 |
"class Test<T> {\n" + |
3621 |
"class Test<T> {\n" + |
| 3621 |
" public void first(Exception num) {}\n" + |
3622 |
" public void first(Exception num) {}\n" + |
| 3622 |
" public void second(T t) {}\n" + |
3623 |
" public void second(T t) {}\n" + |
| 3623 |
"}\n" + |
3624 |
"}\n" + |
| 3624 |
"class Sub extends Test<Exception> {\n" + |
3625 |
"class Sub extends Test<Exception> {\n" + |
| 3625 |
" public void first(Exception num) {}\n" + |
3626 |
" public void first(Exception num) {}\n" + |
| 3626 |
" public void second(Exception t) {}\n" + |
3627 |
" public void second(Exception t) {}\n" + |
| 3627 |
"}\n" |
3628 |
"}\n" |
| 3628 |
); |
3629 |
); |
| 3629 |
IMethod method = workingCopies[0].getType("Sub").getMethods()[1]; |
3630 |
IMethod method = workingCopies[0].getType("Sub").getMethods()[1]; |
| 3630 |
search(method, DECLARATIONS|IGNORE_DECLARING_TYPE|IGNORE_RETURN_TYPE); |
3631 |
search(method, DECLARATIONS|IGNORE_DECLARING_TYPE|IGNORE_RETURN_TYPE); |
| 3631 |
assertSearchResults( |
3632 |
assertSearchResults( |
| 3632 |
"src/b96763/Test.java void b96763.Test.second(T) [second] EXACT_MATCH\n" + |
3633 |
"src/b96763/Test.java void b96763.Test.second(T) [second] EXACT_MATCH\n" + |
| 3633 |
"src/b96763/Test.java void b96763.Sub.second(Exception) [second] EXACT_MATCH" |
3634 |
"src/b96763/Test.java void b96763.Sub.second(Exception) [second] EXACT_MATCH" |
| 3634 |
); |
3635 |
); |
| 3635 |
} |
3636 |
} |
| 3636 |
public void testBug96763c() throws CoreException { |
3637 |
public void testBug96763c() throws CoreException { |
| 3637 |
workingCopies = new ICompilationUnit[1]; |
3638 |
workingCopies = new ICompilationUnit[1]; |
| 3638 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b96763/Test.java", |
3639 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b96763/Test.java", |
| 3639 |
"package b96763;\n" + |
3640 |
"package b96763;\n" + |
| 3640 |
"public class Test<T> {\n" + |
3641 |
"public class Test<T> {\n" + |
| 3641 |
" void methodT(T t) {}\n" + |
3642 |
" void methodT(T t) {}\n" + |
| 3642 |
"}\n" + |
3643 |
"}\n" + |
| 3643 |
"class Sub<X> extends Test<X> {\n" + |
3644 |
"class Sub<X> extends Test<X> {\n" + |
| 3644 |
" void methodT(X x) {} // overrides Super#methodT(T)\n" + |
3645 |
" void methodT(X x) {} // overrides Super#methodT(T)\n" + |
| 3645 |
"}\n" |
3646 |
"}\n" |
| 3646 |
); |
3647 |
); |
| 3647 |
IMethod method = workingCopies[0].getType("Sub").getMethods()[0]; |
3648 |
IMethod method = workingCopies[0].getType("Sub").getMethods()[0]; |
| 3648 |
search(method, DECLARATIONS|IGNORE_DECLARING_TYPE|IGNORE_RETURN_TYPE); |
3649 |
search(method, DECLARATIONS|IGNORE_DECLARING_TYPE|IGNORE_RETURN_TYPE); |
| 3649 |
assertSearchResults( |
3650 |
assertSearchResults( |
| 3650 |
"src/b96763/Test.java void b96763.Test.methodT(T) [methodT] EXACT_MATCH\n" + |
3651 |
"src/b96763/Test.java void b96763.Test.methodT(T) [methodT] EXACT_MATCH\n" + |
| 3651 |
"src/b96763/Test.java void b96763.Sub.methodT(X) [methodT] EXACT_MATCH" |
3652 |
"src/b96763/Test.java void b96763.Sub.methodT(X) [methodT] EXACT_MATCH" |
| 3652 |
); |
3653 |
); |
| 3653 |
} |
3654 |
} |
|
Lines 3660-3687
Link Here
|
| 3660 |
workingCopies = new ICompilationUnit[1]; |
3661 |
workingCopies = new ICompilationUnit[1]; |
| 3661 |
this.resultCollector.showRule = true; |
3662 |
this.resultCollector.showRule = true; |
| 3662 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b97087/Bug.java", |
3663 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b97087/Bug.java", |
| 3663 |
"package b97087;\n" + |
3664 |
"package b97087;\n" + |
| 3664 |
"public class Bug<Type> {\n" + |
3665 |
"public class Bug<Type> {\n" + |
| 3665 |
" Bug(){}\n" + |
3666 |
" Bug(){}\n" + |
| 3666 |
"}\n" + |
|
|
| 3667 |
"class Foo extends Bug<String>{\n" + |
| 3668 |
" Foo(){}\n" + |
| 3669 |
"}\n" + |
3667 |
"}\n" + |
| 3670 |
"class Bar extends Bug<Exception>{\n" + |
3668 |
"class Foo extends Bug<String>{\n" + |
| 3671 |
" Bar(){super();}\n" + |
3669 |
" Foo(){}\n" + |
|
|
3670 |
"}\n" + |
| 3671 |
"class Bar extends Bug<Exception>{\n" + |
| 3672 |
" Bar(){super();}\n" + |
| 3672 |
"}" |
3673 |
"}" |
| 3673 |
); |
3674 |
); |
| 3674 |
IType type = workingCopies[0].getType("Bug"); |
3675 |
IType type = workingCopies[0].getType("Bug"); |
| 3675 |
IMethod method= type.getMethods()[0]; |
3676 |
IMethod method= type.getMethods()[0]; |
| 3676 |
search(method, REFERENCES, SearchPattern.R_ERASURE_MATCH); |
3677 |
search(method, REFERENCES, SearchPattern.R_ERASURE_MATCH); |
| 3677 |
assertSearchResults( |
3678 |
assertSearchResults( |
| 3678 |
"src/b97087/Bug.java b97087.Foo() [Foo] EXACT_MATCH\n" + |
3679 |
"src/b97087/Bug.java b97087.Foo() [Foo] EXACT_MATCH\n" + |
| 3679 |
"src/b97087/Bug.java b97087.Bar() [super();] ERASURE_MATCH" |
3680 |
"src/b97087/Bug.java b97087.Bar() [super();] ERASURE_MATCH" |
| 3680 |
); |
3681 |
); |
| 3681 |
} |
3682 |
} |
| 3682 |
|
3683 |
|
| 3683 |
/** |
3684 |
/** |
| 3684 |
* Bug 97120: |
3685 |
* Bug 97120: |
| 3685 |
* @see "https://bugs.eclipse.org/bugs/show_bug.cgi?id=97120" |
3686 |
* @see "https://bugs.eclipse.org/bugs/show_bug.cgi?id=97120" |
| 3686 |
*/ |
3687 |
*/ |
| 3687 |
public void testBug97120() throws CoreException { |
3688 |
public void testBug97120() throws CoreException { |
|
Lines 3701-3707
Link Here
|
| 3701 |
); |
3702 |
); |
| 3702 |
assertSearchResults( |
3703 |
assertSearchResults( |
| 3703 |
"Unexpected all type names", |
3704 |
"Unexpected all type names", |
| 3704 |
"java.lang.Error\n" + |
3705 |
"java.lang.Error\n" + |
| 3705 |
"java.lang.Exception", |
3706 |
"java.lang.Exception", |
| 3706 |
requestor |
3707 |
requestor |
| 3707 |
); |
3708 |
); |
|
Lines 3714-3725
Link Here
|
| 3714 |
public void testBug97322() throws CoreException { |
3715 |
public void testBug97322() throws CoreException { |
| 3715 |
workingCopies = new ICompilationUnit[1]; |
3716 |
workingCopies = new ICompilationUnit[1]; |
| 3716 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b97322/Test.java", |
3717 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b97322/Test.java", |
| 3717 |
"package b97322;\n" + |
3718 |
"package b97322;\n" + |
| 3718 |
"class Test {\n" + |
3719 |
"class Test {\n" + |
| 3719 |
" static void myMethod(int a, String b) {}\n" + |
3720 |
" static void myMethod(int a, String b) {}\n" + |
| 3720 |
" void call() {\n" + |
3721 |
" void call() {\n" + |
| 3721 |
" myMethod(12);\n" + |
3722 |
" myMethod(12);\n" + |
| 3722 |
" }\n" + |
3723 |
" }\n" + |
| 3723 |
"}" |
3724 |
"}" |
| 3724 |
); |
3725 |
); |
| 3725 |
IType type = workingCopies[0].getType("Test"); |
3726 |
IType type = workingCopies[0].getType("Test"); |
|
Lines 3735-3750
Link Here
|
| 3735 |
public void testBug97547() throws CoreException { |
3736 |
public void testBug97547() throws CoreException { |
| 3736 |
workingCopies = new ICompilationUnit[2]; |
3737 |
workingCopies = new ICompilationUnit[2]; |
| 3737 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b97547/IX.java", |
3738 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b97547/IX.java", |
| 3738 |
"package b97547;\n" + |
3739 |
"package b97547;\n" + |
| 3739 |
"public interface IX {\n" + |
3740 |
"public interface IX {\n" + |
| 3740 |
" public interface IX1 {}\n" + |
3741 |
" public interface IX1 {}\n" + |
| 3741 |
"}" |
3742 |
"}" |
| 3742 |
); |
3743 |
); |
| 3743 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b97547/X.java", |
3744 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b97547/X.java", |
| 3744 |
"package b97547;\n" + |
3745 |
"package b97547;\n" + |
| 3745 |
"import b97547.IX.*;\n" + |
3746 |
"import b97547.IX.*;\n" + |
| 3746 |
"class X {\n" + |
3747 |
"class X {\n" + |
| 3747 |
" IX x;\n" + |
3748 |
" IX x;\n" + |
| 3748 |
"}" |
3749 |
"}" |
| 3749 |
); |
3750 |
); |
| 3750 |
IPackageDeclaration[] packages = workingCopies[0].getPackageDeclarations(); |
3751 |
IPackageDeclaration[] packages = workingCopies[0].getPackageDeclarations(); |
|
Lines 3762-3791
Link Here
|
| 3762 |
public void testBug97606() throws CoreException { |
3763 |
public void testBug97606() throws CoreException { |
| 3763 |
workingCopies = new ICompilationUnit[4]; |
3764 |
workingCopies = new ICompilationUnit[4]; |
| 3764 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b97606/pack/def/L.java", |
3765 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b97606/pack/def/L.java", |
| 3765 |
"package b97606.pack.def;\n" + |
3766 |
"package b97606.pack.def;\n" + |
| 3766 |
"public interface L<E> {}\n" |
3767 |
"public interface L<E> {}\n" |
| 3767 |
); |
3768 |
); |
| 3768 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b97606/pack/def/LL.java", |
3769 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b97606/pack/def/LL.java", |
| 3769 |
"package b97606.pack.def;\n" + |
3770 |
"package b97606.pack.def;\n" + |
| 3770 |
"public class LL<E> implements L<E> {\n" + |
3771 |
"public class LL<E> implements L<E> {\n" + |
| 3771 |
" public Object clone() {\n" + |
3772 |
" public Object clone() {\n" + |
| 3772 |
" return null;\n" + |
3773 |
" return null;\n" + |
| 3773 |
" }\n" + |
3774 |
" }\n" + |
| 3774 |
"}\n" |
3775 |
"}\n" |
| 3775 |
); |
3776 |
); |
| 3776 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b97606/pack/ref/K.java", |
3777 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b97606/pack/ref/K.java", |
| 3777 |
"package b97606.pack.ref;\n" + |
3778 |
"package b97606.pack.ref;\n" + |
| 3778 |
"public interface K {}\n" |
3779 |
"public interface K {}\n" |
| 3779 |
); |
3780 |
); |
| 3780 |
workingCopies[3] = getWorkingCopy("/JavaSearchBugs/src/b97606/pack/ref/X.java", |
3781 |
workingCopies[3] = getWorkingCopy("/JavaSearchBugs/src/b97606/pack/ref/X.java", |
| 3781 |
"package b97606.pack.ref;\n" + |
3782 |
"package b97606.pack.ref;\n" + |
| 3782 |
"public class X implements K {\n" + |
3783 |
"public class X implements K {\n" + |
| 3783 |
" private b97606.pack.def.LL sg;\n" + |
3784 |
" private b97606.pack.def.LL sg;\n" + |
| 3784 |
" protected synchronized b97606.pack.def.L<K> getSG() {\n" + |
3785 |
" protected synchronized b97606.pack.def.L<K> getSG() {\n" + |
| 3785 |
" return (sg != null) \n" + |
3786 |
" return (sg != null) \n" + |
| 3786 |
" ? (b97606.pack.def.L) sg.clone()\n" + |
3787 |
" ? (b97606.pack.def.L) sg.clone()\n" + |
| 3787 |
" : null;\n" + |
3788 |
" : null;\n" + |
| 3788 |
" }\n" + |
3789 |
" }\n" + |
| 3789 |
"}\n" |
3790 |
"}\n" |
| 3790 |
); |
3791 |
); |
| 3791 |
IPath rootPath = new Path("/JavaSearchBugs/src/b97606"); |
3792 |
IPath rootPath = new Path("/JavaSearchBugs/src/b97606"); |
|
Lines 3802-3809
Link Here
|
| 3802 |
IType type = workingCopies[0].getType("L"); |
3803 |
IType type = workingCopies[0].getType("L"); |
| 3803 |
search(type, REFERENCES, SearchPattern.R_ERASURE_MATCH); |
3804 |
search(type, REFERENCES, SearchPattern.R_ERASURE_MATCH); |
| 3804 |
assertSearchResults( |
3805 |
assertSearchResults( |
| 3805 |
"src/b97606/pack/def/LL.java b97606.pack.def.LL [L] ERASURE_MATCH\n" + |
3806 |
"src/b97606/pack/def/LL.java b97606.pack.def.LL [L] ERASURE_MATCH\n" + |
| 3806 |
"src/b97606/pack/ref/X.java b97606.pack.def.L<K> b97606.pack.ref.X.getSG() [b97606.pack.def.L] ERASURE_MATCH\n" + |
3807 |
"src/b97606/pack/ref/X.java b97606.pack.def.L<K> b97606.pack.ref.X.getSG() [b97606.pack.def.L] ERASURE_MATCH\n" + |
| 3807 |
"src/b97606/pack/ref/X.java b97606.pack.def.L<K> b97606.pack.ref.X.getSG() [b97606.pack.def.L] ERASURE_RAW_MATCH" |
3808 |
"src/b97606/pack/ref/X.java b97606.pack.def.L<K> b97606.pack.ref.X.getSG() [b97606.pack.def.L] ERASURE_RAW_MATCH" |
| 3808 |
); |
3809 |
); |
| 3809 |
} |
3810 |
} |
|
Lines 3814-3844
Link Here
|
| 3814 |
public void testBug97606b() throws CoreException { |
3815 |
public void testBug97606b() throws CoreException { |
| 3815 |
workingCopies = new ICompilationUnit[4]; |
3816 |
workingCopies = new ICompilationUnit[4]; |
| 3816 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b97606/pack/def/L.java", |
3817 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b97606/pack/def/L.java", |
| 3817 |
"package b97606.pack.def;\n" + |
3818 |
"package b97606.pack.def;\n" + |
| 3818 |
"public interface L<E> {}\n" |
3819 |
"public interface L<E> {}\n" |
| 3819 |
); |
3820 |
); |
| 3820 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b97606/pack/def/LL.java", |
3821 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b97606/pack/def/LL.java", |
| 3821 |
"package b97606.pack.def;\n" + |
3822 |
"package b97606.pack.def;\n" + |
| 3822 |
"public class LL<E> implements L<E> {\n" + |
3823 |
"public class LL<E> implements L<E> {\n" + |
| 3823 |
" public Object clone() {\n" + |
3824 |
" public Object clone() {\n" + |
| 3824 |
" return null;\n" + |
3825 |
" return null;\n" + |
| 3825 |
" }\n" + |
3826 |
" }\n" + |
| 3826 |
"}\n" |
3827 |
"}\n" |
| 3827 |
); |
3828 |
); |
| 3828 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b97606/pack/ref/K.java", |
3829 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b97606/pack/ref/K.java", |
| 3829 |
"package b97606.pack.ref;\n" + |
3830 |
"package b97606.pack.ref;\n" + |
| 3830 |
"public interface K {}\n" |
3831 |
"public interface K {}\n" |
| 3831 |
); |
3832 |
); |
| 3832 |
workingCopies[3] = getWorkingCopy("/JavaSearchBugs/src/b97606/pack/ref/X.java", |
3833 |
workingCopies[3] = getWorkingCopy("/JavaSearchBugs/src/b97606/pack/ref/X.java", |
| 3833 |
"package b97606.pack.ref;\n" + |
3834 |
"package b97606.pack.ref;\n" + |
| 3834 |
"import b97606.pack.def.*;\n" + |
3835 |
"import b97606.pack.def.*;\n" + |
| 3835 |
"public class X implements K {\n" + |
3836 |
"public class X implements K {\n" + |
| 3836 |
" private LL sg;\n" + |
3837 |
" private LL sg;\n" + |
| 3837 |
" protected synchronized L<K> getSG() {\n" + |
3838 |
" protected synchronized L<K> getSG() {\n" + |
| 3838 |
" return (sg != null) \n" + |
3839 |
" return (sg != null) \n" + |
| 3839 |
" ? (L) sg.clone()\n" + |
3840 |
" ? (L) sg.clone()\n" + |
| 3840 |
" : null;\n" + |
3841 |
" : null;\n" + |
| 3841 |
" }\n" + |
3842 |
" }\n" + |
| 3842 |
"}\n" |
3843 |
"}\n" |
| 3843 |
); |
3844 |
); |
| 3844 |
IPath rootPath = new Path("/JavaSearchBugs/src/b97606"); |
3845 |
IPath rootPath = new Path("/JavaSearchBugs/src/b97606"); |
|
Lines 3855-3862
Link Here
|
| 3855 |
IType type = workingCopies[0].getType("L"); |
3856 |
IType type = workingCopies[0].getType("L"); |
| 3856 |
search(type, REFERENCES, SearchPattern.R_ERASURE_MATCH); |
3857 |
search(type, REFERENCES, SearchPattern.R_ERASURE_MATCH); |
| 3857 |
assertSearchResults( |
3858 |
assertSearchResults( |
| 3858 |
"src/b97606/pack/def/LL.java b97606.pack.def.LL [L] ERASURE_MATCH\n" + |
3859 |
"src/b97606/pack/def/LL.java b97606.pack.def.LL [L] ERASURE_MATCH\n" + |
| 3859 |
"src/b97606/pack/ref/X.java L<K> b97606.pack.ref.X.getSG() [L] ERASURE_MATCH\n" + |
3860 |
"src/b97606/pack/ref/X.java L<K> b97606.pack.ref.X.getSG() [L] ERASURE_MATCH\n" + |
| 3860 |
"src/b97606/pack/ref/X.java L<K> b97606.pack.ref.X.getSG() [L] ERASURE_RAW_MATCH" |
3861 |
"src/b97606/pack/ref/X.java L<K> b97606.pack.ref.X.getSG() [L] ERASURE_RAW_MATCH" |
| 3861 |
); |
3862 |
); |
| 3862 |
} |
3863 |
} |
|
Lines 3872-3905
Link Here
|
| 3872 |
public void testBug97614() throws CoreException { |
3873 |
public void testBug97614() throws CoreException { |
| 3873 |
workingCopies = new ICompilationUnit[3]; |
3874 |
workingCopies = new ICompilationUnit[3]; |
| 3874 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b97614/W.java", |
3875 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b97614/W.java", |
| 3875 |
"package b97614;\n" + |
3876 |
"package b97614;\n" + |
| 3876 |
"public class W {\n" + |
3877 |
"public class W {\n" + |
| 3877 |
" private final Map<String, Y<?, ? extends b97614.X.XX<?, ?>, ? >> m1 = null; // (a)\n" + |
3878 |
" private final Map<String, Y<?, ? extends b97614.X.XX<?, ?>, ? >> m1 = null; // (a)\n" + |
| 3878 |
" public void getStore(final Object o) {\n" + |
3879 |
" public void getStore(final Object o) {\n" + |
| 3879 |
" m1.get(o); // (b)\n" + |
3880 |
" m1.get(o); // (b)\n" + |
| 3880 |
" }\n" + |
3881 |
" }\n" + |
| 3881 |
"}\n" + |
3882 |
"}\n" + |
| 3882 |
"interface Map<K, V> {\n" + |
3883 |
"interface Map<K, V> {\n" + |
| 3883 |
" V get(Object k);\n" + |
3884 |
" V get(Object k);\n" + |
| 3884 |
"}" |
3885 |
"}" |
| 3885 |
); |
3886 |
); |
| 3886 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b97614/X.java", |
3887 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b97614/X.java", |
| 3887 |
"package b97614;\n" + |
3888 |
"package b97614;\n" + |
| 3888 |
"import java.io.Serializable;\n" + |
3889 |
"import java.io.Serializable;\n" + |
| 3889 |
"public interface X<T extends X<T, U, V>, \n" + |
3890 |
"public interface X<T extends X<T, U, V>, \n" + |
| 3890 |
" U extends X.XX<T, V>, \n" + |
3891 |
" U extends X.XX<T, V>, \n" + |
| 3891 |
" V extends X.XY> {\n" + |
3892 |
" V extends X.XY> {\n" + |
| 3892 |
" public interface XX<TT extends X<TT, ?, UU>, \n" + |
3893 |
" public interface XX<TT extends X<TT, ?, UU>, \n" + |
| 3893 |
" UU extends X.XY> \n" + |
3894 |
" UU extends X.XY> \n" + |
| 3894 |
" extends Serializable {\n" + |
3895 |
" extends Serializable {\n" + |
| 3895 |
" }\n" + |
3896 |
" }\n" + |
| 3896 |
" public interface XY extends Serializable {\n" + |
3897 |
" public interface XY extends Serializable {\n" + |
| 3897 |
" }\n" + |
3898 |
" }\n" + |
| 3898 |
"}" |
3899 |
"}" |
| 3899 |
); |
3900 |
); |
| 3900 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b97614/Y.java", |
3901 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b97614/Y.java", |
| 3901 |
"package b97614;\n" + |
3902 |
"package b97614;\n" + |
| 3902 |
"public class Y<T extends X<T, U, V>, U extends X.XX<T, V>, V extends X.XY> {\n" + |
3903 |
"public class Y<T extends X<T, U, V>, U extends X.XX<T, V>, V extends X.XY> {\n" + |
| 3903 |
"}\n" |
3904 |
"}\n" |
| 3904 |
); |
3905 |
); |
| 3905 |
IField field = workingCopies[0].getType("W").getField("m1"); |
3906 |
IField field = workingCopies[0].getType("W").getField("m1"); |
|
Lines 3916-3934
Link Here
|
| 3916 |
public void testBug98378() throws CoreException { |
3917 |
public void testBug98378() throws CoreException { |
| 3917 |
workingCopies = new ICompilationUnit[2]; |
3918 |
workingCopies = new ICompilationUnit[2]; |
| 3918 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b98378/X.java", |
3919 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b98378/X.java", |
| 3919 |
"package b98378;\n" + |
3920 |
"package b98378;\n" + |
| 3920 |
"public class X implements java.lang.CharSequence {\n" + |
3921 |
"public class X implements java.lang.CharSequence {\n" + |
| 3921 |
" public int length() {\n" + |
3922 |
" public int length() {\n" + |
| 3922 |
" return 1;\n" + |
3923 |
" return 1;\n" + |
| 3923 |
" }\n" + |
3924 |
" }\n" + |
| 3924 |
"}" |
3925 |
"}" |
| 3925 |
); |
3926 |
); |
| 3926 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b98378/Y.java", |
3927 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b98378/Y.java", |
| 3927 |
"package b98378;\n" + |
3928 |
"package b98378;\n" + |
| 3928 |
"public class Y {\n" + |
3929 |
"public class Y {\n" + |
| 3929 |
" public int length() {\n" + |
3930 |
" public int length() {\n" + |
| 3930 |
" return -1;\n" + |
3931 |
" return -1;\n" + |
| 3931 |
" }\n" + |
3932 |
" }\n" + |
| 3932 |
"}\n" |
3933 |
"}\n" |
| 3933 |
); |
3934 |
); |
| 3934 |
String jclPath = getExternalJCLPathString("1.5"); |
3935 |
String jclPath = getExternalJCLPathString("1.5"); |
|
Lines 3936-3961
Link Here
|
| 3936 |
IMethod method = type.getMethod("length", new String[] {}); |
3937 |
IMethod method = type.getMethod("length", new String[] {}); |
| 3937 |
search(method, DECLARATIONS, SearchEngine.createHierarchyScope(type, this.wcOwner)); |
3938 |
search(method, DECLARATIONS, SearchEngine.createHierarchyScope(type, this.wcOwner)); |
| 3938 |
assertSearchResults( |
3939 |
assertSearchResults( |
| 3939 |
jclPath + " int java.lang.CharSequence.length() EXACT_MATCH\n" + |
3940 |
jclPath + " int java.lang.CharSequence.length() EXACT_MATCH\n" + |
| 3940 |
jclPath + " int java.lang.String.length() EXACT_MATCH" |
3941 |
jclPath + " int java.lang.String.length() EXACT_MATCH" |
| 3941 |
); |
3942 |
); |
| 3942 |
} |
3943 |
} |
| 3943 |
public void testBug98378b() throws CoreException { |
3944 |
public void testBug98378b() throws CoreException { |
| 3944 |
workingCopies = new ICompilationUnit[2]; |
3945 |
workingCopies = new ICompilationUnit[2]; |
| 3945 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b98378/X.java", |
3946 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b98378/X.java", |
| 3946 |
"package b98378;\n" + |
3947 |
"package b98378;\n" + |
| 3947 |
"public class X implements java.lang.CharSequence {\n" + |
3948 |
"public class X implements java.lang.CharSequence {\n" + |
| 3948 |
" public int length() {\n" + |
3949 |
" public int length() {\n" + |
| 3949 |
" return 1;\n" + |
3950 |
" return 1;\n" + |
| 3950 |
" }\n" + |
3951 |
" }\n" + |
| 3951 |
"}" |
3952 |
"}" |
| 3952 |
); |
3953 |
); |
| 3953 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b98378/Y.java", |
3954 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b98378/Y.java", |
| 3954 |
"package b98378;\n" + |
3955 |
"package b98378;\n" + |
| 3955 |
"public class Y {\n" + |
3956 |
"public class Y {\n" + |
| 3956 |
" public int length() {\n" + |
3957 |
" public int length() {\n" + |
| 3957 |
" return -1;\n" + |
3958 |
" return -1;\n" + |
| 3958 |
" }\n" + |
3959 |
" }\n" + |
| 3959 |
"}\n" |
3960 |
"}\n" |
| 3960 |
); |
3961 |
); |
| 3961 |
String jclPath = getExternalJCLPathString("1.5"); |
3962 |
String jclPath = getExternalJCLPathString("1.5"); |
|
Lines 3963-3970
Link Here
|
| 3963 |
IMethod method = type.getMethod("length", new String[] {}); |
3964 |
IMethod method = type.getMethod("length", new String[] {}); |
| 3964 |
search(method, DECLARATIONS|IGNORE_DECLARING_TYPE|IGNORE_RETURN_TYPE, SearchEngine.createHierarchyScope(type, this.wcOwner)); |
3965 |
search(method, DECLARATIONS|IGNORE_DECLARING_TYPE|IGNORE_RETURN_TYPE, SearchEngine.createHierarchyScope(type, this.wcOwner)); |
| 3965 |
assertSearchResults( |
3966 |
assertSearchResults( |
| 3966 |
"src/b98378/X.java int b98378.X.length() [length] EXACT_MATCH\n" + |
3967 |
"src/b98378/X.java int b98378.X.length() [length] EXACT_MATCH\n" + |
| 3967 |
jclPath + " int java.lang.CharSequence.length() EXACT_MATCH\n" + |
3968 |
jclPath + " int java.lang.CharSequence.length() EXACT_MATCH\n" + |
| 3968 |
jclPath + " int java.lang.String.length() EXACT_MATCH" |
3969 |
jclPath + " int java.lang.String.length() EXACT_MATCH" |
| 3969 |
); |
3970 |
); |
| 3970 |
} |
3971 |
} |
|
Lines 3976-3992
Link Here
|
| 3976 |
public void testBug99600() throws CoreException { |
3977 |
public void testBug99600() throws CoreException { |
| 3977 |
workingCopies = new ICompilationUnit[1]; |
3978 |
workingCopies = new ICompilationUnit[1]; |
| 3978 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b99600/Test.java", |
3979 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b99600/Test.java", |
| 3979 |
"package b99600;\n" + |
3980 |
"package b99600;\n" + |
| 3980 |
"public class Test {\n" + |
3981 |
"public class Test {\n" + |
| 3981 |
" public class C1 {}\n" + |
3982 |
" public class C1 {}\n" + |
| 3982 |
" public class C2 {\n" + |
3983 |
" public class C2 {\n" + |
| 3983 |
" class C3 {\n" + |
3984 |
" class C3 {\n" + |
| 3984 |
" int foo(C1 c) { return 0; }\n" + |
3985 |
" int foo(C1 c) { return 0; }\n" + |
| 3985 |
" }\n" + |
3986 |
" }\n" + |
| 3986 |
" public void foo(C1 c, int i) {\n" + |
3987 |
" public void foo(C1 c, int i) {\n" + |
| 3987 |
" new C3().foo(c);\n" + |
3988 |
" new C3().foo(c);\n" + |
| 3988 |
" }\n" + |
3989 |
" }\n" + |
| 3989 |
" }\n" + |
3990 |
" }\n" + |
| 3990 |
"}\n" |
3991 |
"}\n" |
| 3991 |
); |
3992 |
); |
| 3992 |
IType type = workingCopies[0].getType("Test").getType("C2"); |
3993 |
IType type = workingCopies[0].getType("Test").getType("C2"); |
|
Lines 4003-4022
Link Here
|
| 4003 |
public void testBug99903_annotation() throws CoreException { |
4004 |
public void testBug99903_annotation() throws CoreException { |
| 4004 |
workingCopies = new ICompilationUnit[3]; |
4005 |
workingCopies = new ICompilationUnit[3]; |
| 4005 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b99903/package-info.java", |
4006 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b99903/package-info.java", |
| 4006 |
"/**\n" + |
4007 |
"/**\n" + |
| 4007 |
" * @see Test\n" + |
4008 |
" * @see Test\n" + |
| 4008 |
" */\n" + |
4009 |
" */\n" + |
| 4009 |
"@Annot\n" + |
4010 |
"@Annot\n" + |
| 4010 |
"package b99903;\n" |
4011 |
"package b99903;\n" |
| 4011 |
); |
4012 |
); |
| 4012 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b99903/Test.java", |
4013 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b99903/Test.java", |
| 4013 |
"package b99903;\n" + |
4014 |
"package b99903;\n" + |
| 4014 |
"public class Test {\n" + |
4015 |
"public class Test {\n" + |
| 4015 |
"}\n" |
4016 |
"}\n" |
| 4016 |
); |
4017 |
); |
| 4017 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b99903/Annot.java", |
4018 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b99903/Annot.java", |
| 4018 |
"package b99903;\n" + |
4019 |
"package b99903;\n" + |
| 4019 |
"public @interface Annot {\n" + |
4020 |
"public @interface Annot {\n" + |
| 4020 |
"}\n" |
4021 |
"}\n" |
| 4021 |
); |
4022 |
); |
| 4022 |
IType type = workingCopies[2].getType("Annot"); |
4023 |
IType type = workingCopies[2].getType("Annot"); |
|
Lines 4028-4047
Link Here
|
| 4028 |
public void testBug99903_javadoc() throws CoreException { |
4029 |
public void testBug99903_javadoc() throws CoreException { |
| 4029 |
workingCopies = new ICompilationUnit[3]; |
4030 |
workingCopies = new ICompilationUnit[3]; |
| 4030 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b99903/package-info.java", |
4031 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b99903/package-info.java", |
| 4031 |
"/**\n" + |
4032 |
"/**\n" + |
| 4032 |
" * @see Test\n" + |
4033 |
" * @see Test\n" + |
| 4033 |
" */\n" + |
4034 |
" */\n" + |
| 4034 |
"@Annot\n" + |
4035 |
"@Annot\n" + |
| 4035 |
"package b99903;\n" |
4036 |
"package b99903;\n" |
| 4036 |
); |
4037 |
); |
| 4037 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b99903/Test.java", |
4038 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b99903/Test.java", |
| 4038 |
"package b99903;\n" + |
4039 |
"package b99903;\n" + |
| 4039 |
"public class Test {\n" + |
4040 |
"public class Test {\n" + |
| 4040 |
"}\n" |
4041 |
"}\n" |
| 4041 |
); |
4042 |
); |
| 4042 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b99903/Annot.java", |
4043 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b99903/Annot.java", |
| 4043 |
"package b99903;\n" + |
4044 |
"package b99903;\n" + |
| 4044 |
"public @interface Annot {\n" + |
4045 |
"public @interface Annot {\n" + |
| 4045 |
"}\n" |
4046 |
"}\n" |
| 4046 |
); |
4047 |
); |
| 4047 |
resultCollector.showInsideDoc = true; |
4048 |
resultCollector.showInsideDoc = true; |
|
Lines 4059-4197
Link Here
|
| 4059 |
public void testBug100695() throws CoreException { |
4060 |
public void testBug100695() throws CoreException { |
| 4060 |
workingCopies = new ICompilationUnit[1]; |
4061 |
workingCopies = new ICompilationUnit[1]; |
| 4061 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b100695/Test.java", |
4062 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b100695/Test.java", |
| 4062 |
"package b100695;\n" + |
4063 |
"package b100695;\n" + |
| 4063 |
"public class Test {\n" + |
4064 |
"public class Test {\n" + |
| 4064 |
" Class<Class>[] foo;\n" + |
4065 |
" Class<Class>[] foo;\n" + |
| 4065 |
" Class<Class>[] bar = foo;\n" + |
4066 |
" Class<Class>[] bar = foo;\n" + |
| 4066 |
" Test() {\n" + |
4067 |
" Test() {\n" + |
| 4067 |
" foo = null;\n" + |
4068 |
" foo = null;\n" + |
| 4068 |
" }\n" + |
4069 |
" }\n" + |
| 4069 |
"}\n" |
4070 |
"}\n" |
| 4070 |
); |
4071 |
); |
| 4071 |
IField field = workingCopies[0].getType("Test").getField("foo"); |
4072 |
IField field = workingCopies[0].getType("Test").getField("foo"); |
| 4072 |
search(field, REFERENCES); |
4073 |
search(field, REFERENCES); |
| 4073 |
assertSearchResults( |
4074 |
assertSearchResults( |
| 4074 |
"src/b100695/Test.java b100695.Test.bar [foo] EXACT_MATCH\n" + |
4075 |
"src/b100695/Test.java b100695.Test.bar [foo] EXACT_MATCH\n" + |
| 4075 |
"src/b100695/Test.java b100695.Test() [foo] EXACT_MATCH" |
4076 |
"src/b100695/Test.java b100695.Test() [foo] EXACT_MATCH" |
| 4076 |
); |
4077 |
); |
| 4077 |
} |
4078 |
} |
| 4078 |
public void testBug100695a() throws CoreException { |
4079 |
public void testBug100695a() throws CoreException { |
| 4079 |
workingCopies = new ICompilationUnit[1]; |
4080 |
workingCopies = new ICompilationUnit[1]; |
| 4080 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b100695/Test.java", |
4081 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b100695/Test.java", |
| 4081 |
"package b100695;\n" + |
4082 |
"package b100695;\n" + |
| 4082 |
"public class Test {\n" + |
4083 |
"public class Test {\n" + |
| 4083 |
" Class<Class>[] foo;\n" + |
4084 |
" Class<Class>[] foo;\n" + |
| 4084 |
" Class<Class>[] bar = foo;\n" + |
4085 |
" Class<Class>[] bar = foo;\n" + |
| 4085 |
" Test() {\n" + |
4086 |
" Test() {\n" + |
| 4086 |
" foo = null;\n" + |
4087 |
" foo = null;\n" + |
| 4087 |
" }\n" + |
4088 |
" }\n" + |
| 4088 |
"}\n" |
4089 |
"}\n" |
| 4089 |
); |
4090 |
); |
| 4090 |
IField field = workingCopies[0].getType("Test").getField("foo"); |
4091 |
IField field = workingCopies[0].getType("Test").getField("foo"); |
| 4091 |
search(field, ALL_OCCURRENCES); |
4092 |
search(field, ALL_OCCURRENCES); |
| 4092 |
assertSearchResults( |
4093 |
assertSearchResults( |
| 4093 |
"src/b100695/Test.java b100695.Test.foo [foo] EXACT_MATCH\n" + |
4094 |
"src/b100695/Test.java b100695.Test.foo [foo] EXACT_MATCH\n" + |
| 4094 |
"src/b100695/Test.java b100695.Test.bar [foo] EXACT_MATCH\n" + |
4095 |
"src/b100695/Test.java b100695.Test.bar [foo] EXACT_MATCH\n" + |
| 4095 |
"src/b100695/Test.java b100695.Test() [foo] EXACT_MATCH" |
4096 |
"src/b100695/Test.java b100695.Test() [foo] EXACT_MATCH" |
| 4096 |
); |
4097 |
); |
| 4097 |
} |
4098 |
} |
| 4098 |
public void testBug100695b() throws CoreException { |
4099 |
public void testBug100695b() throws CoreException { |
| 4099 |
workingCopies = new ICompilationUnit[1]; |
4100 |
workingCopies = new ICompilationUnit[1]; |
| 4100 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b100695/Test.java", |
4101 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b100695/Test.java", |
| 4101 |
"package b100695;\n" + |
4102 |
"package b100695;\n" + |
| 4102 |
"public class Test {\n" + |
4103 |
"public class Test {\n" + |
| 4103 |
" Class<Class> foo;\n" + |
4104 |
" Class<Class> foo;\n" + |
| 4104 |
" Class<Class> bar = foo;\n" + |
4105 |
" Class<Class> bar = foo;\n" + |
| 4105 |
" Test() {\n" + |
4106 |
" Test() {\n" + |
| 4106 |
" foo = null;\n" + |
4107 |
" foo = null;\n" + |
| 4107 |
" }\n" + |
4108 |
" }\n" + |
| 4108 |
"}\n" |
4109 |
"}\n" |
| 4109 |
); |
4110 |
); |
| 4110 |
IField field = workingCopies[0].getType("Test").getField("foo"); |
4111 |
IField field = workingCopies[0].getType("Test").getField("foo"); |
| 4111 |
search(field, ALL_OCCURRENCES); |
4112 |
search(field, ALL_OCCURRENCES); |
| 4112 |
assertSearchResults( |
4113 |
assertSearchResults( |
| 4113 |
"src/b100695/Test.java b100695.Test.foo [foo] EXACT_MATCH\n" + |
4114 |
"src/b100695/Test.java b100695.Test.foo [foo] EXACT_MATCH\n" + |
| 4114 |
"src/b100695/Test.java b100695.Test.bar [foo] EXACT_MATCH\n" + |
4115 |
"src/b100695/Test.java b100695.Test.bar [foo] EXACT_MATCH\n" + |
| 4115 |
"src/b100695/Test.java b100695.Test() [foo] EXACT_MATCH" |
4116 |
"src/b100695/Test.java b100695.Test() [foo] EXACT_MATCH" |
| 4116 |
); |
4117 |
); |
| 4117 |
} |
4118 |
} |
| 4118 |
public void testBug100695c() throws CoreException { |
4119 |
public void testBug100695c() throws CoreException { |
| 4119 |
workingCopies = new ICompilationUnit[1]; |
4120 |
workingCopies = new ICompilationUnit[1]; |
| 4120 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b100695/Test.java", |
4121 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b100695/Test.java", |
| 4121 |
"package b100695;\n" + |
4122 |
"package b100695;\n" + |
| 4122 |
"public class Test {\n" + |
4123 |
"public class Test {\n" + |
| 4123 |
" Class[] foo;\n" + |
4124 |
" Class[] foo;\n" + |
| 4124 |
" Class[] bar = foo;\n" + |
4125 |
" Class[] bar = foo;\n" + |
| 4125 |
" Test() {\n" + |
4126 |
" Test() {\n" + |
| 4126 |
" foo = null;\n" + |
4127 |
" foo = null;\n" + |
| 4127 |
" }\n" + |
4128 |
" }\n" + |
| 4128 |
"}\n" |
4129 |
"}\n" |
| 4129 |
); |
4130 |
); |
| 4130 |
IField field = workingCopies[0].getType("Test").getField("foo"); |
4131 |
IField field = workingCopies[0].getType("Test").getField("foo"); |
| 4131 |
search(field, ALL_OCCURRENCES); |
4132 |
search(field, ALL_OCCURRENCES); |
| 4132 |
assertSearchResults( |
4133 |
assertSearchResults( |
| 4133 |
"src/b100695/Test.java b100695.Test.foo [foo] EXACT_MATCH\n" + |
4134 |
"src/b100695/Test.java b100695.Test.foo [foo] EXACT_MATCH\n" + |
| 4134 |
"src/b100695/Test.java b100695.Test.bar [foo] EXACT_MATCH\n" + |
4135 |
"src/b100695/Test.java b100695.Test.bar [foo] EXACT_MATCH\n" + |
| 4135 |
"src/b100695/Test.java b100695.Test() [foo] EXACT_MATCH" |
4136 |
"src/b100695/Test.java b100695.Test() [foo] EXACT_MATCH" |
| 4136 |
); |
4137 |
); |
| 4137 |
} |
4138 |
} |
| 4138 |
public void testBug100695d() throws CoreException { |
4139 |
public void testBug100695d() throws CoreException { |
| 4139 |
workingCopies = new ICompilationUnit[1]; |
4140 |
workingCopies = new ICompilationUnit[1]; |
| 4140 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b100695/Test.java", |
4141 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b100695/Test.java", |
| 4141 |
"package b100695;\n" + |
4142 |
"package b100695;\n" + |
| 4142 |
"public class Test {\n" + |
4143 |
"public class Test {\n" + |
| 4143 |
" public Class<Class>[] foo(Class<Class>[] a) {\n" + |
4144 |
" public Class<Class>[] foo(Class<Class>[] a) {\n" + |
| 4144 |
" return a;\n" + |
4145 |
" return a;\n" + |
| 4145 |
" }\n" + |
4146 |
" }\n" + |
| 4146 |
" void bar() {\n" + |
4147 |
" void bar() {\n" + |
| 4147 |
" foo(new Class[0]);\n" + |
4148 |
" foo(new Class[0]);\n" + |
| 4148 |
" }\n" + |
4149 |
" }\n" + |
| 4149 |
"}\n" |
4150 |
"}\n" |
| 4150 |
); |
4151 |
); |
| 4151 |
IMethod method = workingCopies[0].getType("Test").getMethods()[0]; |
4152 |
IMethod method = workingCopies[0].getType("Test").getMethods()[0]; |
| 4152 |
search(method, ALL_OCCURRENCES); |
4153 |
search(method, ALL_OCCURRENCES); |
| 4153 |
assertSearchResults( |
4154 |
assertSearchResults( |
| 4154 |
"src/b100695/Test.java Class<Class>[] b100695.Test.foo(Class<Class>[]) [foo] EXACT_MATCH\n" + |
4155 |
"src/b100695/Test.java Class<Class>[] b100695.Test.foo(Class<Class>[]) [foo] EXACT_MATCH\n" + |
| 4155 |
"src/b100695/Test.java void b100695.Test.bar() [foo(new Class[0])] EXACT_MATCH" |
4156 |
"src/b100695/Test.java void b100695.Test.bar() [foo(new Class[0])] EXACT_MATCH" |
| 4156 |
); |
4157 |
); |
| 4157 |
} |
4158 |
} |
| 4158 |
public void testBug100695e() throws CoreException { |
4159 |
public void testBug100695e() throws CoreException { |
| 4159 |
workingCopies = new ICompilationUnit[1]; |
4160 |
workingCopies = new ICompilationUnit[1]; |
| 4160 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b100695/Test.java", |
4161 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b100695/Test.java", |
| 4161 |
"package b100695;\n" + |
4162 |
"package b100695;\n" + |
| 4162 |
"public class Test {\n" + |
4163 |
"public class Test {\n" + |
| 4163 |
" public Class<Class> foo(Class<Class> a) {\n" + |
4164 |
" public Class<Class> foo(Class<Class> a) {\n" + |
| 4164 |
" return a;\n" + |
4165 |
" return a;\n" + |
| 4165 |
" }\n" + |
4166 |
" }\n" + |
| 4166 |
" void bar() {\n" + |
4167 |
" void bar() {\n" + |
| 4167 |
" foo(null);\n" + |
4168 |
" foo(null);\n" + |
| 4168 |
" }\n" + |
4169 |
" }\n" + |
| 4169 |
"}\n" |
4170 |
"}\n" |
| 4170 |
); |
4171 |
); |
| 4171 |
IMethod method = workingCopies[0].getType("Test").getMethods()[0]; |
4172 |
IMethod method = workingCopies[0].getType("Test").getMethods()[0]; |
| 4172 |
search(method, ALL_OCCURRENCES); |
4173 |
search(method, ALL_OCCURRENCES); |
| 4173 |
assertSearchResults( |
4174 |
assertSearchResults( |
| 4174 |
"src/b100695/Test.java Class<Class> b100695.Test.foo(Class<Class>) [foo] EXACT_MATCH\n" + |
4175 |
"src/b100695/Test.java Class<Class> b100695.Test.foo(Class<Class>) [foo] EXACT_MATCH\n" + |
| 4175 |
"src/b100695/Test.java void b100695.Test.bar() [foo(null)] EXACT_MATCH" |
4176 |
"src/b100695/Test.java void b100695.Test.bar() [foo(null)] EXACT_MATCH" |
| 4176 |
); |
4177 |
); |
| 4177 |
} |
4178 |
} |
| 4178 |
public void testBug100695f() throws CoreException { |
4179 |
public void testBug100695f() throws CoreException { |
| 4179 |
workingCopies = new ICompilationUnit[1]; |
4180 |
workingCopies = new ICompilationUnit[1]; |
| 4180 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b100695/Test.java", |
4181 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b100695/Test.java", |
| 4181 |
"package b100695;\n" + |
4182 |
"package b100695;\n" + |
| 4182 |
"public class Test {\n" + |
4183 |
"public class Test {\n" + |
| 4183 |
" public Class[] foo(Class[] a) {\n" + |
4184 |
" public Class[] foo(Class[] a) {\n" + |
| 4184 |
" return a;\n" + |
4185 |
" return a;\n" + |
| 4185 |
" }\n" + |
4186 |
" }\n" + |
| 4186 |
" void bar() {\n" + |
4187 |
" void bar() {\n" + |
| 4187 |
" foo(new Class[0]);\n" + |
4188 |
" foo(new Class[0]);\n" + |
| 4188 |
" }\n" + |
4189 |
" }\n" + |
| 4189 |
"}\n" |
4190 |
"}\n" |
| 4190 |
); |
4191 |
); |
| 4191 |
IMethod method = workingCopies[0].getType("Test").getMethods()[0]; |
4192 |
IMethod method = workingCopies[0].getType("Test").getMethods()[0]; |
| 4192 |
search(method, ALL_OCCURRENCES); |
4193 |
search(method, ALL_OCCURRENCES); |
| 4193 |
assertSearchResults( |
4194 |
assertSearchResults( |
| 4194 |
"src/b100695/Test.java Class[] b100695.Test.foo(Class[]) [foo] EXACT_MATCH\n" + |
4195 |
"src/b100695/Test.java Class[] b100695.Test.foo(Class[]) [foo] EXACT_MATCH\n" + |
| 4195 |
"src/b100695/Test.java void b100695.Test.bar() [foo(new Class[0])] EXACT_MATCH" |
4196 |
"src/b100695/Test.java void b100695.Test.bar() [foo(new Class[0])] EXACT_MATCH" |
| 4196 |
); |
4197 |
); |
| 4197 |
} |
4198 |
} |
|
Lines 4203-4216
Link Here
|
| 4203 |
private void setUpBug100772_HierarchyScope_ClassAndSubclass() throws CoreException { |
4204 |
private void setUpBug100772_HierarchyScope_ClassAndSubclass() throws CoreException { |
| 4204 |
workingCopies = new ICompilationUnit[1]; |
4205 |
workingCopies = new ICompilationUnit[1]; |
| 4205 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b100772/Test.java", |
4206 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b100772/Test.java", |
| 4206 |
"package b100772;\n" + |
4207 |
"package b100772;\n" + |
| 4207 |
"class Test<T> {\n" + |
4208 |
"class Test<T> {\n" + |
| 4208 |
" public void foo(T t) {}\n" + |
4209 |
" public void foo(T t) {}\n" + |
| 4209 |
" public void foo(Class c) {}\n" + |
4210 |
" public void foo(Class c) {}\n" + |
| 4210 |
"}\n" + |
4211 |
"}\n" + |
| 4211 |
"class Sub extends Test<String> {\n" + |
4212 |
"class Sub extends Test<String> {\n" + |
| 4212 |
" public void foo(String str) {}\n" + |
4213 |
" public void foo(String str) {}\n" + |
| 4213 |
" public void foo(Exception e) {}\n" + |
4214 |
" public void foo(Exception e) {}\n" + |
| 4214 |
"}\n" |
4215 |
"}\n" |
| 4215 |
); |
4216 |
); |
| 4216 |
} |
4217 |
} |
|
Lines 4220-4226
Link Here
|
| 4220 |
IMethod method = type.getMethod("foo", new String[] { "QT;" }); |
4221 |
IMethod method = type.getMethod("foo", new String[] { "QT;" }); |
| 4221 |
search(method, UI_DECLARATIONS, SearchEngine.createHierarchyScope(type)); |
4222 |
search(method, UI_DECLARATIONS, SearchEngine.createHierarchyScope(type)); |
| 4222 |
assertSearchResults( |
4223 |
assertSearchResults( |
| 4223 |
"src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + |
4224 |
"src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + |
| 4224 |
"src/b100772/Test.java void b100772.Sub.foo(String) [foo] EXACT_MATCH" |
4225 |
"src/b100772/Test.java void b100772.Sub.foo(String) [foo] EXACT_MATCH" |
| 4225 |
); |
4226 |
); |
| 4226 |
} |
4227 |
} |
|
Lines 4230-4236
Link Here
|
| 4230 |
IMethod method = type.getMethod("foo", new String[] { "QT;" }); |
4231 |
IMethod method = type.getMethod("foo", new String[] { "QT;" }); |
| 4231 |
search(method, DECLARATIONS, SearchEngine.createHierarchyScope(type)); |
4232 |
search(method, DECLARATIONS, SearchEngine.createHierarchyScope(type)); |
| 4232 |
assertSearchResults( |
4233 |
assertSearchResults( |
| 4233 |
"src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + |
4234 |
"src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + |
| 4234 |
"src/b100772/Test.java void b100772.Sub.foo(String) [foo] EXACT_MATCH" |
4235 |
"src/b100772/Test.java void b100772.Sub.foo(String) [foo] EXACT_MATCH" |
| 4235 |
); |
4236 |
); |
| 4236 |
} |
4237 |
} |
|
Lines 4249-4255
Link Here
|
| 4249 |
IMethod method = type.getMethod("foo", new String[] { "QString;" }); |
4250 |
IMethod method = type.getMethod("foo", new String[] { "QString;" }); |
| 4250 |
search(method, UI_DECLARATIONS, SearchEngine.createHierarchyScope(type)); |
4251 |
search(method, UI_DECLARATIONS, SearchEngine.createHierarchyScope(type)); |
| 4251 |
assertSearchResults( |
4252 |
assertSearchResults( |
| 4252 |
"src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + |
4253 |
"src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + |
| 4253 |
"src/b100772/Test.java void b100772.Sub.foo(String) [foo] EXACT_MATCH" |
4254 |
"src/b100772/Test.java void b100772.Sub.foo(String) [foo] EXACT_MATCH" |
| 4254 |
); |
4255 |
); |
| 4255 |
} |
4256 |
} |
|
Lines 4265-4283
Link Here
|
| 4265 |
private void setUpBug100772_HierarchyScope_InterfacesAndClass() throws CoreException { |
4266 |
private void setUpBug100772_HierarchyScope_InterfacesAndClass() throws CoreException { |
| 4266 |
workingCopies = new ICompilationUnit[1]; |
4267 |
workingCopies = new ICompilationUnit[1]; |
| 4267 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b100772/Test.java", |
4268 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b100772/Test.java", |
| 4268 |
"package b100772;\n" + |
4269 |
"package b100772;\n" + |
| 4269 |
"interface Test<T> {\n" + |
4270 |
"interface Test<T> {\n" + |
| 4270 |
" public void foo(T t);\n" + |
4271 |
" public void foo(T t);\n" + |
| 4271 |
" public void foo(Class c);\n" + |
4272 |
" public void foo(Class c);\n" + |
| 4272 |
"}\n" + |
4273 |
"}\n" + |
| 4273 |
"interface Sub extends Test<String> {\n" + |
4274 |
"interface Sub extends Test<String> {\n" + |
| 4274 |
" public void foo(String str);\n" + |
4275 |
" public void foo(String str);\n" + |
| 4275 |
" public void foo(Exception e);\n" + |
4276 |
" public void foo(Exception e);\n" + |
| 4276 |
"}\n" + |
4277 |
"}\n" + |
| 4277 |
"class X implements Test<String> {\n" + |
4278 |
"class X implements Test<String> {\n" + |
| 4278 |
" public void foo(String str) {}\n" + |
4279 |
" public void foo(String str) {}\n" + |
| 4279 |
" public void foo(Class c) {}\n" + |
4280 |
" public void foo(Class c) {}\n" + |
| 4280 |
" public void foo(Exception e) {}\n" + |
4281 |
" public void foo(Exception e) {}\n" + |
| 4281 |
"}\n" |
4282 |
"}\n" |
| 4282 |
); |
4283 |
); |
| 4283 |
} |
4284 |
} |
|
Lines 4287-4294
Link Here
|
| 4287 |
IMethod method = type.getMethod("foo", new String[] { "QT;" }); |
4288 |
IMethod method = type.getMethod("foo", new String[] { "QT;" }); |
| 4288 |
search(method, UI_DECLARATIONS, SearchEngine.createHierarchyScope(type)); |
4289 |
search(method, UI_DECLARATIONS, SearchEngine.createHierarchyScope(type)); |
| 4289 |
assertSearchResults( |
4290 |
assertSearchResults( |
| 4290 |
"src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + |
4291 |
"src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + |
| 4291 |
"src/b100772/Test.java void b100772.Sub.foo(String) [foo] EXACT_MATCH\n" + |
4292 |
"src/b100772/Test.java void b100772.Sub.foo(String) [foo] EXACT_MATCH\n" + |
| 4292 |
"src/b100772/Test.java void b100772.X.foo(String) [foo] EXACT_MATCH" |
4293 |
"src/b100772/Test.java void b100772.X.foo(String) [foo] EXACT_MATCH" |
| 4293 |
); |
4294 |
); |
| 4294 |
} |
4295 |
} |
|
Lines 4298-4305
Link Here
|
| 4298 |
IMethod method = type.getMethod("foo", new String[] { "QT;" }); |
4299 |
IMethod method = type.getMethod("foo", new String[] { "QT;" }); |
| 4299 |
search(method, DECLARATIONS, SearchEngine.createHierarchyScope(type)); |
4300 |
search(method, DECLARATIONS, SearchEngine.createHierarchyScope(type)); |
| 4300 |
assertSearchResults( |
4301 |
assertSearchResults( |
| 4301 |
"src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + |
4302 |
"src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + |
| 4302 |
"src/b100772/Test.java void b100772.Sub.foo(String) [foo] EXACT_MATCH\n" + |
4303 |
"src/b100772/Test.java void b100772.Sub.foo(String) [foo] EXACT_MATCH\n" + |
| 4303 |
"src/b100772/Test.java void b100772.X.foo(String) [foo] EXACT_MATCH" |
4304 |
"src/b100772/Test.java void b100772.X.foo(String) [foo] EXACT_MATCH" |
| 4304 |
); |
4305 |
); |
| 4305 |
} |
4306 |
} |
|
Lines 4309-4315
Link Here
|
| 4309 |
IMethod method = type.getMethod("foo", new String[] { "QClass;" }); |
4310 |
IMethod method = type.getMethod("foo", new String[] { "QClass;" }); |
| 4310 |
search(method, UI_DECLARATIONS, SearchEngine.createHierarchyScope(type)); |
4311 |
search(method, UI_DECLARATIONS, SearchEngine.createHierarchyScope(type)); |
| 4311 |
assertSearchResults( |
4312 |
assertSearchResults( |
| 4312 |
"src/b100772/Test.java void b100772.Test.foo(Class) [foo] EXACT_MATCH\n" + |
4313 |
"src/b100772/Test.java void b100772.Test.foo(Class) [foo] EXACT_MATCH\n" + |
| 4313 |
"src/b100772/Test.java void b100772.X.foo(Class) [foo] EXACT_MATCH" |
4314 |
"src/b100772/Test.java void b100772.X.foo(Class) [foo] EXACT_MATCH" |
| 4314 |
); |
4315 |
); |
| 4315 |
} |
4316 |
} |
|
Lines 4319-4325
Link Here
|
| 4319 |
IMethod method = type.getMethod("foo", new String[] { "QString;" }); |
4320 |
IMethod method = type.getMethod("foo", new String[] { "QString;" }); |
| 4320 |
search(method, UI_DECLARATIONS, SearchEngine.createHierarchyScope(type)); |
4321 |
search(method, UI_DECLARATIONS, SearchEngine.createHierarchyScope(type)); |
| 4321 |
assertSearchResults( |
4322 |
assertSearchResults( |
| 4322 |
"src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + |
4323 |
"src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + |
| 4323 |
"src/b100772/Test.java void b100772.Sub.foo(String) [foo] EXACT_MATCH" |
4324 |
"src/b100772/Test.java void b100772.Sub.foo(String) [foo] EXACT_MATCH" |
| 4324 |
); |
4325 |
); |
| 4325 |
} |
4326 |
} |
|
Lines 4338-4344
Link Here
|
| 4338 |
IMethod method = type.getMethod("foo", new String[] { "QString;" }); |
4339 |
IMethod method = type.getMethod("foo", new String[] { "QString;" }); |
| 4339 |
search(method, UI_DECLARATIONS, SearchEngine.createHierarchyScope(type)); |
4340 |
search(method, UI_DECLARATIONS, SearchEngine.createHierarchyScope(type)); |
| 4340 |
assertSearchResults( |
4341 |
assertSearchResults( |
| 4341 |
"src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + |
4342 |
"src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + |
| 4342 |
"src/b100772/Test.java void b100772.X.foo(String) [foo] EXACT_MATCH" |
4343 |
"src/b100772/Test.java void b100772.X.foo(String) [foo] EXACT_MATCH" |
| 4343 |
); |
4344 |
); |
| 4344 |
} |
4345 |
} |
|
Lines 4348-4354
Link Here
|
| 4348 |
IMethod method = type.getMethod("foo", new String[] { "QClass;" }); |
4349 |
IMethod method = type.getMethod("foo", new String[] { "QClass;" }); |
| 4349 |
search(method, UI_DECLARATIONS, SearchEngine.createHierarchyScope(type)); |
4350 |
search(method, UI_DECLARATIONS, SearchEngine.createHierarchyScope(type)); |
| 4350 |
assertSearchResults( |
4351 |
assertSearchResults( |
| 4351 |
"src/b100772/Test.java void b100772.Test.foo(Class) [foo] EXACT_MATCH\n" + |
4352 |
"src/b100772/Test.java void b100772.Test.foo(Class) [foo] EXACT_MATCH\n" + |
| 4352 |
"src/b100772/Test.java void b100772.X.foo(Class) [foo] EXACT_MATCH" |
4353 |
"src/b100772/Test.java void b100772.X.foo(Class) [foo] EXACT_MATCH" |
| 4353 |
); |
4354 |
); |
| 4354 |
} |
4355 |
} |
|
Lines 4364-4390
Link Here
|
| 4364 |
private void setUpBug100772_HierarchyScope_Complex() throws CoreException { |
4365 |
private void setUpBug100772_HierarchyScope_Complex() throws CoreException { |
| 4365 |
workingCopies = new ICompilationUnit[1]; |
4366 |
workingCopies = new ICompilationUnit[1]; |
| 4366 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b100772/Test.java", |
4367 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b100772/Test.java", |
| 4367 |
"package b100772;\n" + |
4368 |
"package b100772;\n" + |
| 4368 |
"public class X<T> implements IX<T> {\n" + |
4369 |
"public class X<T> implements IX<T> {\n" + |
| 4369 |
" public void foo(T t) {}\n" + |
4370 |
" public void foo(T t) {}\n" + |
| 4370 |
"}\n" + |
4371 |
"}\n" + |
| 4371 |
"class XX extends X<String> {\n" + |
4372 |
"class XX extends X<String> {\n" + |
| 4372 |
" public void foo(String s) {}\n" + |
4373 |
" public void foo(String s) {}\n" + |
| 4373 |
" public void foo(Exception e) {}\n" + |
4374 |
" public void foo(Exception e) {}\n" + |
| 4374 |
"}\n" + |
4375 |
"}\n" + |
| 4375 |
"interface IX<U> {\n" + |
4376 |
"interface IX<U> {\n" + |
| 4376 |
" public void foo(U u);\n" + |
4377 |
" public void foo(U u);\n" + |
| 4377 |
"}\n" + |
4378 |
"}\n" + |
| 4378 |
"class Y implements IX<String> {\n" + |
4379 |
"class Y implements IX<String> {\n" + |
| 4379 |
" public void foo(String s) {}\n" + |
4380 |
" public void foo(String s) {}\n" + |
| 4380 |
" public void foo(Exception e) {}\n" + |
4381 |
" public void foo(Exception e) {}\n" + |
| 4381 |
"}\n" + |
4382 |
"}\n" + |
| 4382 |
"interface IXX<V extends Exception> {\n" + |
4383 |
"interface IXX<V extends Exception> {\n" + |
| 4383 |
" public void foo(V v);\n" + |
4384 |
" public void foo(V v);\n" + |
| 4384 |
"}\n" + |
4385 |
"}\n" + |
| 4385 |
"class Z extends Y implements IXX<Exception> {\n" + |
4386 |
"class Z extends Y implements IXX<Exception> {\n" + |
| 4386 |
" public void foo(String s) {}\n" + |
4387 |
" public void foo(String s) {}\n" + |
| 4387 |
" public void foo(Exception e) {}\n" + |
4388 |
" public void foo(Exception e) {}\n" + |
| 4388 |
"}\n" |
4389 |
"}\n" |
| 4389 |
); |
4390 |
); |
| 4390 |
} |
4391 |
} |
|
Lines 4394-4403
Link Here
|
| 4394 |
IMethod method = type.getMethod("foo", new String[] { "QU;" }); |
4395 |
IMethod method = type.getMethod("foo", new String[] { "QU;" }); |
| 4395 |
search(method, DECLARATIONS, SearchEngine.createHierarchyScope(type)); |
4396 |
search(method, DECLARATIONS, SearchEngine.createHierarchyScope(type)); |
| 4396 |
assertSearchResults( |
4397 |
assertSearchResults( |
| 4397 |
"src/b100772/Test.java void b100772.X.foo(T) [foo] EXACT_MATCH\n" + |
4398 |
"src/b100772/Test.java void b100772.X.foo(T) [foo] EXACT_MATCH\n" + |
| 4398 |
"src/b100772/Test.java void b100772.XX.foo(String) [foo] EXACT_MATCH\n" + |
4399 |
"src/b100772/Test.java void b100772.XX.foo(String) [foo] EXACT_MATCH\n" + |
| 4399 |
"src/b100772/Test.java void b100772.IX.foo(U) [foo] EXACT_MATCH\n" + |
4400 |
"src/b100772/Test.java void b100772.IX.foo(U) [foo] EXACT_MATCH\n" + |
| 4400 |
"src/b100772/Test.java void b100772.Y.foo(String) [foo] EXACT_MATCH\n" + |
4401 |
"src/b100772/Test.java void b100772.Y.foo(String) [foo] EXACT_MATCH\n" + |
| 4401 |
"src/b100772/Test.java void b100772.Z.foo(String) [foo] EXACT_MATCH" |
4402 |
"src/b100772/Test.java void b100772.Z.foo(String) [foo] EXACT_MATCH" |
| 4402 |
); |
4403 |
); |
| 4403 |
} |
4404 |
} |
|
Lines 4407-4414
Link Here
|
| 4407 |
IMethod method = type.getMethod("foo", new String[] { "QString;" }); |
4408 |
IMethod method = type.getMethod("foo", new String[] { "QString;" }); |
| 4408 |
search(method, UI_DECLARATIONS, SearchEngine.createHierarchyScope(type)); |
4409 |
search(method, UI_DECLARATIONS, SearchEngine.createHierarchyScope(type)); |
| 4409 |
assertSearchResults( |
4410 |
assertSearchResults( |
| 4410 |
"src/b100772/Test.java void b100772.IX.foo(U) [foo] EXACT_MATCH\n" + |
4411 |
"src/b100772/Test.java void b100772.IX.foo(U) [foo] EXACT_MATCH\n" + |
| 4411 |
"src/b100772/Test.java void b100772.Y.foo(String) [foo] EXACT_MATCH\n" + |
4412 |
"src/b100772/Test.java void b100772.Y.foo(String) [foo] EXACT_MATCH\n" + |
| 4412 |
"src/b100772/Test.java void b100772.Z.foo(String) [foo] EXACT_MATCH" |
4413 |
"src/b100772/Test.java void b100772.Z.foo(String) [foo] EXACT_MATCH" |
| 4413 |
); |
4414 |
); |
| 4414 |
} |
4415 |
} |
|
Lines 4418-4425
Link Here
|
| 4418 |
IMethod method = type.getMethod("foo", new String[] { "QException;" }); |
4419 |
IMethod method = type.getMethod("foo", new String[] { "QException;" }); |
| 4419 |
search(method, UI_DECLARATIONS, SearchEngine.createHierarchyScope(type)); |
4420 |
search(method, UI_DECLARATIONS, SearchEngine.createHierarchyScope(type)); |
| 4420 |
assertSearchResults( |
4421 |
assertSearchResults( |
| 4421 |
"src/b100772/Test.java void b100772.Y.foo(Exception) [foo] EXACT_MATCH\n" + |
4422 |
"src/b100772/Test.java void b100772.Y.foo(Exception) [foo] EXACT_MATCH\n" + |
| 4422 |
"src/b100772/Test.java void b100772.IXX.foo(V) [foo] EXACT_MATCH\n" + |
4423 |
"src/b100772/Test.java void b100772.IXX.foo(V) [foo] EXACT_MATCH\n" + |
| 4423 |
"src/b100772/Test.java void b100772.Z.foo(Exception) [foo] EXACT_MATCH" |
4424 |
"src/b100772/Test.java void b100772.Z.foo(Exception) [foo] EXACT_MATCH" |
| 4424 |
); |
4425 |
); |
| 4425 |
} |
4426 |
} |
|
Lines 4429-4453
Link Here
|
| 4429 |
IMethod method = type.getMethod("foo", new String[] { "QT;" }); |
4430 |
IMethod method = type.getMethod("foo", new String[] { "QT;" }); |
| 4430 |
search(method, UI_DECLARATIONS, SearchEngine.createHierarchyScope(type)); |
4431 |
search(method, UI_DECLARATIONS, SearchEngine.createHierarchyScope(type)); |
| 4431 |
assertSearchResults( |
4432 |
assertSearchResults( |
| 4432 |
"src/b100772/Test.java void b100772.X.foo(T) [foo] EXACT_MATCH\n" + |
4433 |
"src/b100772/Test.java void b100772.X.foo(T) [foo] EXACT_MATCH\n" + |
| 4433 |
"src/b100772/Test.java void b100772.XX.foo(String) [foo] EXACT_MATCH\n" + |
4434 |
"src/b100772/Test.java void b100772.XX.foo(String) [foo] EXACT_MATCH\n" + |
| 4434 |
"src/b100772/Test.java void b100772.IX.foo(U) [foo] EXACT_MATCH" |
4435 |
"src/b100772/Test.java void b100772.IX.foo(U) [foo] EXACT_MATCH" |
| 4435 |
); |
4436 |
); |
| 4436 |
} |
4437 |
} |
| 4437 |
private void setUpBug100772_ProjectScope_ClassAndSubclass() throws CoreException { |
4438 |
private void setUpBug100772_ProjectScope_ClassAndSubclass() throws CoreException { |
| 4438 |
workingCopies = new ICompilationUnit[2]; |
4439 |
workingCopies = new ICompilationUnit[2]; |
| 4439 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b100772/Test.java", |
4440 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b100772/Test.java", |
| 4440 |
"package b100772;\n" + |
4441 |
"package b100772;\n" + |
| 4441 |
"class Test<T> {\n" + |
4442 |
"class Test<T> {\n" + |
| 4442 |
" public void foo(T t) {}\n" + |
4443 |
" public void foo(T t) {}\n" + |
| 4443 |
" public void foo(Class c) {}\n" + |
4444 |
" public void foo(Class c) {}\n" + |
| 4444 |
"}\n" |
4445 |
"}\n" |
| 4445 |
); |
4446 |
); |
| 4446 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b100772/Sub.java", |
4447 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b100772/Sub.java", |
| 4447 |
"package b100772;\n" + |
4448 |
"package b100772;\n" + |
| 4448 |
"class Sub extends Test<String> {\n" + |
4449 |
"class Sub extends Test<String> {\n" + |
| 4449 |
" public void foo(String str) {}\n" + |
4450 |
" public void foo(String str) {}\n" + |
| 4450 |
" public void foo(Exception e) {}\n" + |
4451 |
" public void foo(Exception e) {}\n" + |
| 4451 |
"}\n" |
4452 |
"}\n" |
| 4452 |
); |
4453 |
); |
| 4453 |
} |
4454 |
} |
|
Lines 4457-4463
Link Here
|
| 4457 |
IMethod method = type.getMethod("foo", new String[] { "QT;" }); |
4458 |
IMethod method = type.getMethod("foo", new String[] { "QT;" }); |
| 4458 |
search(method, UI_DECLARATIONS); |
4459 |
search(method, UI_DECLARATIONS); |
| 4459 |
assertSearchResults( |
4460 |
assertSearchResults( |
| 4460 |
"src/b100772/Sub.java void b100772.Sub.foo(String) [foo] EXACT_MATCH\n" + |
4461 |
"src/b100772/Sub.java void b100772.Sub.foo(String) [foo] EXACT_MATCH\n" + |
| 4461 |
"src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH" |
4462 |
"src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH" |
| 4462 |
); |
4463 |
); |
| 4463 |
} |
4464 |
} |
|
Lines 4467-4473
Link Here
|
| 4467 |
IMethod method = type.getMethod("foo", new String[] { "QT;" }); |
4468 |
IMethod method = type.getMethod("foo", new String[] { "QT;" }); |
| 4468 |
search(method, DECLARATIONS); |
4469 |
search(method, DECLARATIONS); |
| 4469 |
assertSearchResults( |
4470 |
assertSearchResults( |
| 4470 |
"src/b100772/Sub.java void b100772.Sub.foo(String) [foo] EXACT_MATCH\n" + |
4471 |
"src/b100772/Sub.java void b100772.Sub.foo(String) [foo] EXACT_MATCH\n" + |
| 4471 |
"src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH" |
4472 |
"src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH" |
| 4472 |
); |
4473 |
); |
| 4473 |
} |
4474 |
} |
|
Lines 4486-4492
Link Here
|
| 4486 |
IMethod method = type.getMethod("foo", new String[] { "QString;" }); |
4487 |
IMethod method = type.getMethod("foo", new String[] { "QString;" }); |
| 4487 |
search(method, UI_DECLARATIONS); |
4488 |
search(method, UI_DECLARATIONS); |
| 4488 |
assertSearchResults( |
4489 |
assertSearchResults( |
| 4489 |
"src/b100772/Sub.java void b100772.Sub.foo(String) [foo] EXACT_MATCH\n" + |
4490 |
"src/b100772/Sub.java void b100772.Sub.foo(String) [foo] EXACT_MATCH\n" + |
| 4490 |
"src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH" |
4491 |
"src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH" |
| 4491 |
); |
4492 |
); |
| 4492 |
} |
4493 |
} |
|
Lines 4502-4526
Link Here
|
| 4502 |
private void setUpBug100772_ProjectScope_InterfacesAndClass() throws CoreException { |
4503 |
private void setUpBug100772_ProjectScope_InterfacesAndClass() throws CoreException { |
| 4503 |
workingCopies = new ICompilationUnit[3]; |
4504 |
workingCopies = new ICompilationUnit[3]; |
| 4504 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b100772/Test.java", |
4505 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b100772/Test.java", |
| 4505 |
"package b100772;\n" + |
4506 |
"package b100772;\n" + |
| 4506 |
"interface Test<T> {\n" + |
4507 |
"interface Test<T> {\n" + |
| 4507 |
" public void foo(T t);\n" + |
4508 |
" public void foo(T t);\n" + |
| 4508 |
" public void foo(Class c);\n" + |
4509 |
" public void foo(Class c);\n" + |
| 4509 |
"}\n" |
4510 |
"}\n" |
| 4510 |
); |
4511 |
); |
| 4511 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b100772/Sub.java", |
4512 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b100772/Sub.java", |
| 4512 |
"package b100772;\n" + |
4513 |
"package b100772;\n" + |
| 4513 |
"interface Sub extends Test<String> {\n" + |
4514 |
"interface Sub extends Test<String> {\n" + |
| 4514 |
" public void foo(String str);\n" + |
4515 |
" public void foo(String str);\n" + |
| 4515 |
" public void foo(Exception e);\n" + |
4516 |
" public void foo(Exception e);\n" + |
| 4516 |
"}\n" |
4517 |
"}\n" |
| 4517 |
); |
4518 |
); |
| 4518 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b100772/X.java", |
4519 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b100772/X.java", |
| 4519 |
"package b100772;\n" + |
4520 |
"package b100772;\n" + |
| 4520 |
"class X implements Test<String> {\n" + |
4521 |
"class X implements Test<String> {\n" + |
| 4521 |
" public void foo(String str) {}\n" + |
4522 |
" public void foo(String str) {}\n" + |
| 4522 |
" public void foo(Class c) {}\n" + |
4523 |
" public void foo(Class c) {}\n" + |
| 4523 |
" public void foo(Exception e) {}\n" + |
4524 |
" public void foo(Exception e) {}\n" + |
| 4524 |
"}\n" |
4525 |
"}\n" |
| 4525 |
); |
4526 |
); |
| 4526 |
} |
4527 |
} |
|
Lines 4530-4537
Link Here
|
| 4530 |
IMethod method = type.getMethod("foo", new String[] { "QT;" }); |
4531 |
IMethod method = type.getMethod("foo", new String[] { "QT;" }); |
| 4531 |
search(method, UI_DECLARATIONS); |
4532 |
search(method, UI_DECLARATIONS); |
| 4532 |
assertSearchResults( |
4533 |
assertSearchResults( |
| 4533 |
"src/b100772/Sub.java void b100772.Sub.foo(String) [foo] EXACT_MATCH\n" + |
4534 |
"src/b100772/Sub.java void b100772.Sub.foo(String) [foo] EXACT_MATCH\n" + |
| 4534 |
"src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + |
4535 |
"src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + |
| 4535 |
"src/b100772/X.java void b100772.X.foo(String) [foo] EXACT_MATCH" |
4536 |
"src/b100772/X.java void b100772.X.foo(String) [foo] EXACT_MATCH" |
| 4536 |
); |
4537 |
); |
| 4537 |
} |
4538 |
} |
|
Lines 4541-4548
Link Here
|
| 4541 |
IMethod method = type.getMethod("foo", new String[] { "QT;" }); |
4542 |
IMethod method = type.getMethod("foo", new String[] { "QT;" }); |
| 4542 |
search(method, DECLARATIONS); |
4543 |
search(method, DECLARATIONS); |
| 4543 |
assertSearchResults( |
4544 |
assertSearchResults( |
| 4544 |
"src/b100772/Sub.java void b100772.Sub.foo(String) [foo] EXACT_MATCH\n" + |
4545 |
"src/b100772/Sub.java void b100772.Sub.foo(String) [foo] EXACT_MATCH\n" + |
| 4545 |
"src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + |
4546 |
"src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + |
| 4546 |
"src/b100772/X.java void b100772.X.foo(String) [foo] EXACT_MATCH" |
4547 |
"src/b100772/X.java void b100772.X.foo(String) [foo] EXACT_MATCH" |
| 4547 |
); |
4548 |
); |
| 4548 |
} |
4549 |
} |
|
Lines 4552-4558
Link Here
|
| 4552 |
IMethod method = type.getMethod("foo", new String[] { "QClass;" }); |
4553 |
IMethod method = type.getMethod("foo", new String[] { "QClass;" }); |
| 4553 |
search(method, UI_DECLARATIONS); |
4554 |
search(method, UI_DECLARATIONS); |
| 4554 |
assertSearchResults( |
4555 |
assertSearchResults( |
| 4555 |
"src/b100772/Test.java void b100772.Test.foo(Class) [foo] EXACT_MATCH\n" + |
4556 |
"src/b100772/Test.java void b100772.Test.foo(Class) [foo] EXACT_MATCH\n" + |
| 4556 |
"src/b100772/X.java void b100772.X.foo(Class) [foo] EXACT_MATCH" |
4557 |
"src/b100772/X.java void b100772.X.foo(Class) [foo] EXACT_MATCH" |
| 4557 |
); |
4558 |
); |
| 4558 |
} |
4559 |
} |
|
Lines 4562-4569
Link Here
|
| 4562 |
IMethod method = type.getMethod("foo", new String[] { "QString;" }); |
4563 |
IMethod method = type.getMethod("foo", new String[] { "QString;" }); |
| 4563 |
search(method, UI_DECLARATIONS); |
4564 |
search(method, UI_DECLARATIONS); |
| 4564 |
assertSearchResults( |
4565 |
assertSearchResults( |
| 4565 |
"src/b100772/Sub.java void b100772.Sub.foo(String) [foo] EXACT_MATCH\n" + |
4566 |
"src/b100772/Sub.java void b100772.Sub.foo(String) [foo] EXACT_MATCH\n" + |
| 4566 |
"src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + |
4567 |
"src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + |
| 4567 |
"src/b100772/X.java void b100772.X.foo(String) [foo] EXACT_MATCH" |
4568 |
"src/b100772/X.java void b100772.X.foo(String) [foo] EXACT_MATCH" |
| 4568 |
); |
4569 |
); |
| 4569 |
} |
4570 |
} |
|
Lines 4573-4579
Link Here
|
| 4573 |
IMethod method = type.getMethod("foo", new String[] { "QException;" }); |
4574 |
IMethod method = type.getMethod("foo", new String[] { "QException;" }); |
| 4574 |
search(method, UI_DECLARATIONS); |
4575 |
search(method, UI_DECLARATIONS); |
| 4575 |
assertSearchResults( |
4576 |
assertSearchResults( |
| 4576 |
"src/b100772/Sub.java void b100772.Sub.foo(Exception) [foo] EXACT_MATCH\n" + |
4577 |
"src/b100772/Sub.java void b100772.Sub.foo(Exception) [foo] EXACT_MATCH\n" + |
| 4577 |
"src/b100772/X.java void b100772.X.foo(Exception) [foo] EXACT_MATCH" |
4578 |
"src/b100772/X.java void b100772.X.foo(Exception) [foo] EXACT_MATCH" |
| 4578 |
); |
4579 |
); |
| 4579 |
} |
4580 |
} |
|
Lines 4583-4590
Link Here
|
| 4583 |
IMethod method = type.getMethod("foo", new String[] { "QString;" }); |
4584 |
IMethod method = type.getMethod("foo", new String[] { "QString;" }); |
| 4584 |
search(method, UI_DECLARATIONS); |
4585 |
search(method, UI_DECLARATIONS); |
| 4585 |
assertSearchResults( |
4586 |
assertSearchResults( |
| 4586 |
"src/b100772/Sub.java void b100772.Sub.foo(String) [foo] EXACT_MATCH\n" + |
4587 |
"src/b100772/Sub.java void b100772.Sub.foo(String) [foo] EXACT_MATCH\n" + |
| 4587 |
"src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + |
4588 |
"src/b100772/Test.java void b100772.Test.foo(T) [foo] EXACT_MATCH\n" + |
| 4588 |
"src/b100772/X.java void b100772.X.foo(String) [foo] EXACT_MATCH" |
4589 |
"src/b100772/X.java void b100772.X.foo(String) [foo] EXACT_MATCH" |
| 4589 |
); |
4590 |
); |
| 4590 |
} |
4591 |
} |
|
Lines 4594-4600
Link Here
|
| 4594 |
IMethod method = type.getMethod("foo", new String[] { "QClass;" }); |
4595 |
IMethod method = type.getMethod("foo", new String[] { "QClass;" }); |
| 4595 |
search(method, UI_DECLARATIONS); |
4596 |
search(method, UI_DECLARATIONS); |
| 4596 |
assertSearchResults( |
4597 |
assertSearchResults( |
| 4597 |
"src/b100772/Test.java void b100772.Test.foo(Class) [foo] EXACT_MATCH\n" + |
4598 |
"src/b100772/Test.java void b100772.Test.foo(Class) [foo] EXACT_MATCH\n" + |
| 4598 |
"src/b100772/X.java void b100772.X.foo(Class) [foo] EXACT_MATCH" |
4599 |
"src/b100772/X.java void b100772.X.foo(Class) [foo] EXACT_MATCH" |
| 4599 |
); |
4600 |
); |
| 4600 |
} |
4601 |
} |
|
Lines 4604-4652
Link Here
|
| 4604 |
IMethod method = type.getMethod("foo", new String[] { "QException;" }); |
4605 |
IMethod method = type.getMethod("foo", new String[] { "QException;" }); |
| 4605 |
search(method, UI_DECLARATIONS); |
4606 |
search(method, UI_DECLARATIONS); |
| 4606 |
assertSearchResults( |
4607 |
assertSearchResults( |
| 4607 |
"src/b100772/Sub.java void b100772.Sub.foo(Exception) [foo] EXACT_MATCH\n" + |
4608 |
"src/b100772/Sub.java void b100772.Sub.foo(Exception) [foo] EXACT_MATCH\n" + |
| 4608 |
"src/b100772/X.java void b100772.X.foo(Exception) [foo] EXACT_MATCH" |
4609 |
"src/b100772/X.java void b100772.X.foo(Exception) [foo] EXACT_MATCH" |
| 4609 |
); |
4610 |
); |
| 4610 |
} |
4611 |
} |
| 4611 |
private void setUpBug100772_ProjectScope_Complex() throws CoreException { |
4612 |
private void setUpBug100772_ProjectScope_Complex() throws CoreException { |
| 4612 |
workingCopies = new ICompilationUnit[6]; |
4613 |
workingCopies = new ICompilationUnit[6]; |
| 4613 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b100772/X.java", |
4614 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b100772/X.java", |
| 4614 |
"package b100772;\n" + |
4615 |
"package b100772;\n" + |
| 4615 |
"public class X<T> implements IX<T> {\n" + |
4616 |
"public class X<T> implements IX<T> {\n" + |
| 4616 |
" public void foo(T t) {}\n" + |
4617 |
" public void foo(T t) {}\n" + |
| 4617 |
"}\n" |
4618 |
"}\n" |
| 4618 |
); |
4619 |
); |
| 4619 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b100772/XX.java", |
4620 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b100772/XX.java", |
| 4620 |
"package b100772;\n" + |
4621 |
"package b100772;\n" + |
| 4621 |
"class XX extends X<String> {\n" + |
4622 |
"class XX extends X<String> {\n" + |
| 4622 |
" public void foo(String s) {}\n" + |
4623 |
" public void foo(String s) {}\n" + |
| 4623 |
" public void foo(Exception e) {}\n" + |
4624 |
" public void foo(Exception e) {}\n" + |
| 4624 |
"}\n" |
4625 |
"}\n" |
| 4625 |
); |
4626 |
); |
| 4626 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b100772/IX.java", |
4627 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b100772/IX.java", |
| 4627 |
"package b100772;\n" + |
4628 |
"package b100772;\n" + |
| 4628 |
"interface IX<U> {\n" + |
4629 |
"interface IX<U> {\n" + |
| 4629 |
" public void foo(U u);\n" + |
4630 |
" public void foo(U u);\n" + |
| 4630 |
"}\n" |
4631 |
"}\n" |
| 4631 |
); |
4632 |
); |
| 4632 |
workingCopies[3] = getWorkingCopy("/JavaSearchBugs/src/b100772/Y.java", |
4633 |
workingCopies[3] = getWorkingCopy("/JavaSearchBugs/src/b100772/Y.java", |
| 4633 |
"package b100772;\n" + |
4634 |
"package b100772;\n" + |
| 4634 |
"class Y implements IX<String> {\n" + |
4635 |
"class Y implements IX<String> {\n" + |
| 4635 |
" public void foo(String s) {}\n" + |
4636 |
" public void foo(String s) {}\n" + |
| 4636 |
" public void foo(Exception e) {}\n" + |
4637 |
" public void foo(Exception e) {}\n" + |
| 4637 |
"}\n" |
4638 |
"}\n" |
| 4638 |
); |
4639 |
); |
| 4639 |
workingCopies[4] = getWorkingCopy("/JavaSearchBugs/src/b100772/IXX.java", |
4640 |
workingCopies[4] = getWorkingCopy("/JavaSearchBugs/src/b100772/IXX.java", |
| 4640 |
"package b100772;\n" + |
4641 |
"package b100772;\n" + |
| 4641 |
"interface IXX<V extends Exception> {\n" + |
4642 |
"interface IXX<V extends Exception> {\n" + |
| 4642 |
" public void foo(V v);\n" + |
4643 |
" public void foo(V v);\n" + |
| 4643 |
"}\n" |
4644 |
"}\n" |
| 4644 |
); |
4645 |
); |
| 4645 |
workingCopies[5] = getWorkingCopy("/JavaSearchBugs/src/b100772/Z.java", |
4646 |
workingCopies[5] = getWorkingCopy("/JavaSearchBugs/src/b100772/Z.java", |
| 4646 |
"package b100772;\n" + |
4647 |
"package b100772;\n" + |
| 4647 |
"class Z extends Y implements IXX<Exception> {\n" + |
4648 |
"class Z extends Y implements IXX<Exception> {\n" + |
| 4648 |
" public void foo(String s) {}\n" + |
4649 |
" public void foo(String s) {}\n" + |
| 4649 |
" public void foo(Exception e) {}\n" + |
4650 |
" public void foo(Exception e) {}\n" + |
| 4650 |
"}\n" |
4651 |
"}\n" |
| 4651 |
); |
4652 |
); |
| 4652 |
} |
4653 |
} |
|
Lines 4656-4665
Link Here
|
| 4656 |
IMethod method = type.getMethod("foo", new String[] { "QU;" }); |
4657 |
IMethod method = type.getMethod("foo", new String[] { "QU;" }); |
| 4657 |
search(method, DECLARATIONS); |
4658 |
search(method, DECLARATIONS); |
| 4658 |
assertSearchResults( |
4659 |
assertSearchResults( |
| 4659 |
"src/b100772/IX.java void b100772.IX.foo(U) [foo] EXACT_MATCH\n" + |
4660 |
"src/b100772/IX.java void b100772.IX.foo(U) [foo] EXACT_MATCH\n" + |
| 4660 |
"src/b100772/X.java void b100772.X.foo(T) [foo] EXACT_MATCH\n" + |
4661 |
"src/b100772/X.java void b100772.X.foo(T) [foo] EXACT_MATCH\n" + |
| 4661 |
"src/b100772/XX.java void b100772.XX.foo(String) [foo] EXACT_MATCH\n" + |
4662 |
"src/b100772/XX.java void b100772.XX.foo(String) [foo] EXACT_MATCH\n" + |
| 4662 |
"src/b100772/Y.java void b100772.Y.foo(String) [foo] EXACT_MATCH\n" + |
4663 |
"src/b100772/Y.java void b100772.Y.foo(String) [foo] EXACT_MATCH\n" + |
| 4663 |
"src/b100772/Z.java void b100772.Z.foo(String) [foo] EXACT_MATCH" |
4664 |
"src/b100772/Z.java void b100772.Z.foo(String) [foo] EXACT_MATCH" |
| 4664 |
); |
4665 |
); |
| 4665 |
} |
4666 |
} |
|
Lines 4669-4677
Link Here
|
| 4669 |
IMethod method = type.getMethod("foo", new String[] { "QString;" }); |
4670 |
IMethod method = type.getMethod("foo", new String[] { "QString;" }); |
| 4670 |
search(method, UI_DECLARATIONS); |
4671 |
search(method, UI_DECLARATIONS); |
| 4671 |
assertSearchResults( |
4672 |
assertSearchResults( |
| 4672 |
"src/b100772/IX.java void b100772.IX.foo(U) [foo] EXACT_MATCH\n" + |
4673 |
"src/b100772/IX.java void b100772.IX.foo(U) [foo] EXACT_MATCH\n" + |
| 4673 |
"src/b100772/XX.java void b100772.XX.foo(String) [foo] EXACT_MATCH\n" + |
4674 |
"src/b100772/XX.java void b100772.XX.foo(String) [foo] EXACT_MATCH\n" + |
| 4674 |
"src/b100772/Y.java void b100772.Y.foo(String) [foo] EXACT_MATCH\n" + |
4675 |
"src/b100772/Y.java void b100772.Y.foo(String) [foo] EXACT_MATCH\n" + |
| 4675 |
"src/b100772/Z.java void b100772.Z.foo(String) [foo] EXACT_MATCH" |
4676 |
"src/b100772/Z.java void b100772.Z.foo(String) [foo] EXACT_MATCH" |
| 4676 |
); |
4677 |
); |
| 4677 |
} |
4678 |
} |
|
Lines 4681-4689
Link Here
|
| 4681 |
IMethod method = type.getMethod("foo", new String[] { "QException;" }); |
4682 |
IMethod method = type.getMethod("foo", new String[] { "QException;" }); |
| 4682 |
search(method, UI_DECLARATIONS); |
4683 |
search(method, UI_DECLARATIONS); |
| 4683 |
assertSearchResults( |
4684 |
assertSearchResults( |
| 4684 |
"src/b100772/IXX.java void b100772.IXX.foo(V) [foo] EXACT_MATCH\n" + |
4685 |
"src/b100772/IXX.java void b100772.IXX.foo(V) [foo] EXACT_MATCH\n" + |
| 4685 |
"src/b100772/XX.java void b100772.XX.foo(Exception) [foo] EXACT_MATCH\n" + |
4686 |
"src/b100772/XX.java void b100772.XX.foo(Exception) [foo] EXACT_MATCH\n" + |
| 4686 |
"src/b100772/Y.java void b100772.Y.foo(Exception) [foo] EXACT_MATCH\n" + |
4687 |
"src/b100772/Y.java void b100772.Y.foo(Exception) [foo] EXACT_MATCH\n" + |
| 4687 |
"src/b100772/Z.java void b100772.Z.foo(Exception) [foo] EXACT_MATCH" |
4688 |
"src/b100772/Z.java void b100772.Z.foo(Exception) [foo] EXACT_MATCH" |
| 4688 |
); |
4689 |
); |
| 4689 |
} |
4690 |
} |
|
Lines 4693-4700
Link Here
|
| 4693 |
IMethod method = type.getMethod("foo", new String[] { "QT;" }); |
4694 |
IMethod method = type.getMethod("foo", new String[] { "QT;" }); |
| 4694 |
search(method, UI_DECLARATIONS); |
4695 |
search(method, UI_DECLARATIONS); |
| 4695 |
assertSearchResults( |
4696 |
assertSearchResults( |
| 4696 |
"src/b100772/X.java void b100772.X.foo(T) [foo] EXACT_MATCH\n" + |
4697 |
"src/b100772/X.java void b100772.X.foo(T) [foo] EXACT_MATCH\n" + |
| 4697 |
"src/b100772/IX.java void b100772.IX.foo(U) [foo] EXACT_MATCH\n" + |
4698 |
"src/b100772/IX.java void b100772.IX.foo(U) [foo] EXACT_MATCH\n" + |
| 4698 |
"src/b100772/XX.java void b100772.XX.foo(String) [foo] EXACT_MATCH" |
4699 |
"src/b100772/XX.java void b100772.XX.foo(String) [foo] EXACT_MATCH" |
| 4699 |
); |
4700 |
); |
| 4700 |
} |
4701 |
} |
|
Lines 4726-4757
Link Here
|
| 4726 |
private void setUpBug110060_TypePattern() throws CoreException { |
4727 |
private void setUpBug110060_TypePattern() throws CoreException { |
| 4727 |
workingCopies = new ICompilationUnit[5]; |
4728 |
workingCopies = new ICompilationUnit[5]; |
| 4728 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b110060/AA.java", |
4729 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b110060/AA.java", |
| 4729 |
"package b110060;\n" + |
4730 |
"package b110060;\n" + |
| 4730 |
"public class AA {\n" + |
4731 |
"public class AA {\n" + |
| 4731 |
"}\n" |
4732 |
"}\n" |
| 4732 |
); |
4733 |
); |
| 4733 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b110060/AAxx.java", |
4734 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b110060/AAxx.java", |
| 4734 |
"package b110060;\n" + |
4735 |
"package b110060;\n" + |
| 4735 |
"public class AAxx {\n" + |
4736 |
"public class AAxx {\n" + |
| 4736 |
"}\n" |
4737 |
"}\n" |
| 4737 |
); |
4738 |
); |
| 4738 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b110060/AxxAyy.java", |
4739 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b110060/AxxAyy.java", |
| 4739 |
"package b110060;\n" + |
4740 |
"package b110060;\n" + |
| 4740 |
"public class AxxAyy {\n" + |
4741 |
"public class AxxAyy {\n" + |
| 4741 |
"}\n" |
4742 |
"}\n" |
| 4742 |
); |
4743 |
); |
| 4743 |
workingCopies[3] = getWorkingCopy("/JavaSearchBugs/src/b110060/AxA.java", |
4744 |
workingCopies[3] = getWorkingCopy("/JavaSearchBugs/src/b110060/AxA.java", |
| 4744 |
"package b110060;\n" + |
4745 |
"package b110060;\n" + |
| 4745 |
"public class AxA {\n" + |
4746 |
"public class AxA {\n" + |
| 4746 |
"}\n" |
4747 |
"}\n" |
| 4747 |
); |
4748 |
); |
| 4748 |
workingCopies[4] = getWorkingCopy("/JavaSearchBugs/src/b110060/Test.java", |
4749 |
workingCopies[4] = getWorkingCopy("/JavaSearchBugs/src/b110060/Test.java", |
| 4749 |
"package b110060;\n" + |
4750 |
"package b110060;\n" + |
| 4750 |
"public class Test {\n" + |
4751 |
"public class Test {\n" + |
| 4751 |
" AA aa;\n" + |
4752 |
" AA aa;\n" + |
| 4752 |
" AAxx aaxx;\n" + |
4753 |
" AAxx aaxx;\n" + |
| 4753 |
" AxA axa;\n" + |
4754 |
" AxA axa;\n" + |
| 4754 |
" AxxAyy axxayy;\n" + |
4755 |
" AxxAyy axxayy;\n" + |
| 4755 |
"}\n" |
4756 |
"}\n" |
| 4756 |
); |
4757 |
); |
| 4757 |
} |
4758 |
} |
|
Lines 4759-4767
Link Here
|
| 4759 |
setUpBug110060_TypePattern(); |
4760 |
setUpBug110060_TypePattern(); |
| 4760 |
search("AA", TYPE, REFERENCES, SearchPattern.R_CAMELCASE_MATCH); |
4761 |
search("AA", TYPE, REFERENCES, SearchPattern.R_CAMELCASE_MATCH); |
| 4761 |
assertSearchResults( |
4762 |
assertSearchResults( |
| 4762 |
"src/b110060/Test.java b110060.Test.aa [AA] EXACT_MATCH\n" + |
4763 |
"src/b110060/Test.java b110060.Test.aa [AA] EXACT_MATCH\n" + |
| 4763 |
"src/b110060/Test.java b110060.Test.aaxx [AAxx] EXACT_MATCH\n" + |
4764 |
"src/b110060/Test.java b110060.Test.aaxx [AAxx] EXACT_MATCH\n" + |
| 4764 |
"src/b110060/Test.java b110060.Test.axa [AxA] EXACT_MATCH\n" + |
4765 |
"src/b110060/Test.java b110060.Test.axa [AxA] EXACT_MATCH\n" + |
| 4765 |
"src/b110060/Test.java b110060.Test.axxayy [AxxAyy] EXACT_MATCH" |
4766 |
"src/b110060/Test.java b110060.Test.axxayy [AxxAyy] EXACT_MATCH" |
| 4766 |
); |
4767 |
); |
| 4767 |
} |
4768 |
} |
|
Lines 4770-4782
Link Here
|
| 4770 |
setUpBug110060_TypePattern(); |
4771 |
setUpBug110060_TypePattern(); |
| 4771 |
search("AA", TYPE, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
4772 |
search("AA", TYPE, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
| 4772 |
assertSearchResults( |
4773 |
assertSearchResults( |
| 4773 |
"src/b110060/AA.java b110060.AA [AA] EXACT_MATCH\n" + |
4774 |
"src/b110060/AA.java b110060.AA [AA] EXACT_MATCH\n" + |
| 4774 |
"src/b110060/AAxx.java b110060.AAxx [AAxx] EXACT_MATCH\n" + |
4775 |
"src/b110060/AAxx.java b110060.AAxx [AAxx] EXACT_MATCH\n" + |
| 4775 |
"src/b110060/AxA.java b110060.AxA [AxA] EXACT_MATCH\n" + |
4776 |
"src/b110060/AxA.java b110060.AxA [AxA] EXACT_MATCH\n" + |
| 4776 |
"src/b110060/AxxAyy.java b110060.AxxAyy [AxxAyy] EXACT_MATCH\n" + |
4777 |
"src/b110060/AxxAyy.java b110060.AxxAyy [AxxAyy] EXACT_MATCH\n" + |
| 4777 |
"src/b110060/Test.java b110060.Test.aa [AA] EXACT_MATCH\n" + |
4778 |
"src/b110060/Test.java b110060.Test.aa [AA] EXACT_MATCH\n" + |
| 4778 |
"src/b110060/Test.java b110060.Test.aaxx [AAxx] EXACT_MATCH\n" + |
4779 |
"src/b110060/Test.java b110060.Test.aaxx [AAxx] EXACT_MATCH\n" + |
| 4779 |
"src/b110060/Test.java b110060.Test.axa [AxA] EXACT_MATCH\n" + |
4780 |
"src/b110060/Test.java b110060.Test.axa [AxA] EXACT_MATCH\n" + |
| 4780 |
"src/b110060/Test.java b110060.Test.axxayy [AxxAyy] EXACT_MATCH" |
4781 |
"src/b110060/Test.java b110060.Test.axxayy [AxxAyy] EXACT_MATCH" |
| 4781 |
); |
4782 |
); |
| 4782 |
} |
4783 |
} |
|
Lines 4785-4791
Link Here
|
| 4785 |
setUpBug110060_TypePattern(); |
4786 |
setUpBug110060_TypePattern(); |
| 4786 |
search("AAx", TYPE, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
4787 |
search("AAx", TYPE, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
| 4787 |
assertSearchResults( |
4788 |
assertSearchResults( |
| 4788 |
"src/b110060/AAxx.java b110060.AAxx [AAxx] EXACT_MATCH\n" + |
4789 |
"src/b110060/AAxx.java b110060.AAxx [AAxx] EXACT_MATCH\n" + |
| 4789 |
"src/b110060/Test.java b110060.Test.aaxx [AAxx] EXACT_MATCH" |
4790 |
"src/b110060/Test.java b110060.Test.aaxx [AAxx] EXACT_MATCH" |
| 4790 |
); |
4791 |
); |
| 4791 |
} |
4792 |
} |
|
Lines 4794-4800
Link Here
|
| 4794 |
setUpBug110060_TypePattern(); |
4795 |
setUpBug110060_TypePattern(); |
| 4795 |
search("Axx", TYPE, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
4796 |
search("Axx", TYPE, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
| 4796 |
assertSearchResults( |
4797 |
assertSearchResults( |
| 4797 |
"src/b110060/AxxAyy.java b110060.AxxAyy [AxxAyy] EXACT_MATCH\n" + |
4798 |
"src/b110060/AxxAyy.java b110060.AxxAyy [AxxAyy] EXACT_MATCH\n" + |
| 4798 |
"src/b110060/Test.java b110060.Test.axxayy [AxxAyy] EXACT_MATCH" |
4799 |
"src/b110060/Test.java b110060.Test.axxayy [AxxAyy] EXACT_MATCH" |
| 4799 |
); |
4800 |
); |
| 4800 |
} |
4801 |
} |
|
Lines 4803-4811
Link Here
|
| 4803 |
setUpBug110060_TypePattern(); |
4804 |
setUpBug110060_TypePattern(); |
| 4804 |
search("Ax", TYPE, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
4805 |
search("Ax", TYPE, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
| 4805 |
assertSearchResults( |
4806 |
assertSearchResults( |
| 4806 |
"src/b110060/AxA.java b110060.AxA [AxA] EXACT_MATCH\n" + |
4807 |
"src/b110060/AxA.java b110060.AxA [AxA] EXACT_MATCH\n" + |
| 4807 |
"src/b110060/AxxAyy.java b110060.AxxAyy [AxxAyy] EXACT_MATCH\n" + |
4808 |
"src/b110060/AxxAyy.java b110060.AxxAyy [AxxAyy] EXACT_MATCH\n" + |
| 4808 |
"src/b110060/Test.java b110060.Test.axa [AxA] EXACT_MATCH\n" + |
4809 |
"src/b110060/Test.java b110060.Test.axa [AxA] EXACT_MATCH\n" + |
| 4809 |
"src/b110060/Test.java b110060.Test.axxayy [AxxAyy] EXACT_MATCH" |
4810 |
"src/b110060/Test.java b110060.Test.axxayy [AxxAyy] EXACT_MATCH" |
| 4810 |
); |
4811 |
); |
| 4811 |
} |
4812 |
} |
|
Lines 4814-4827
Link Here
|
| 4814 |
setUpBug110060_TypePattern(); |
4815 |
setUpBug110060_TypePattern(); |
| 4815 |
search("A*A*", TYPE, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
4816 |
search("A*A*", TYPE, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
| 4816 |
assertSearchResults( |
4817 |
assertSearchResults( |
| 4817 |
"src/b110060/AA.java b110060.AA [AA] EXACT_MATCH\n" + |
4818 |
"src/b110060/AA.java b110060.AA [AA] EXACT_MATCH\n" + |
| 4818 |
"src/b110060/AAxx.java b110060.AAxx [AAxx] EXACT_MATCH\n" + |
4819 |
"src/b110060/AAxx.java b110060.AAxx [AAxx] EXACT_MATCH\n" + |
| 4819 |
"src/b110060/AxA.java b110060.AxA [AxA] EXACT_MATCH\n" + |
4820 |
"src/b110060/AxA.java b110060.AxA [AxA] EXACT_MATCH\n" + |
| 4820 |
"src/b110060/AxxAyy.java b110060.AxxAyy [AxxAyy] EXACT_MATCH\n" + |
4821 |
"src/b110060/AxxAyy.java b110060.AxxAyy [AxxAyy] EXACT_MATCH\n" + |
| 4821 |
"src/b110060/Test.java b110060.Test.aa [AA] EXACT_MATCH\n" + |
4822 |
"src/b110060/Test.java b110060.Test.aa [AA] EXACT_MATCH\n" + |
| 4822 |
"src/b110060/Test.java b110060.Test.aaxx [AAxx] EXACT_MATCH\n" + |
4823 |
"src/b110060/Test.java b110060.Test.aaxx [AAxx] EXACT_MATCH\n" + |
| 4823 |
"src/b110060/Test.java b110060.Test.axa [AxA] EXACT_MATCH\n" + |
4824 |
"src/b110060/Test.java b110060.Test.axa [AxA] EXACT_MATCH\n" + |
| 4824 |
"src/b110060/Test.java b110060.Test.axxayy [AxxAyy] EXACT_MATCH\n" + |
4825 |
"src/b110060/Test.java b110060.Test.axxayy [AxxAyy] EXACT_MATCH\n" + |
| 4825 |
""+ getExternalJCLPathString("1.5") + " java.lang.annotation.Annotation EXACT_MATCH" |
4826 |
""+ getExternalJCLPathString("1.5") + " java.lang.annotation.Annotation EXACT_MATCH" |
| 4826 |
); |
4827 |
); |
| 4827 |
} |
4828 |
} |
|
Lines 4836-4844
Link Here
|
| 4836 |
setUpBug110060_TypePattern(); |
4837 |
setUpBug110060_TypePattern(); |
| 4837 |
search("aa", TYPE, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH | SearchPattern.R_PREFIX_MATCH); |
4838 |
search("aa", TYPE, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH | SearchPattern.R_PREFIX_MATCH); |
| 4838 |
assertSearchResults( |
4839 |
assertSearchResults( |
| 4839 |
"src/b110060/AA.java b110060.AA [AA] EXACT_MATCH\n" + |
4840 |
"src/b110060/AA.java b110060.AA [AA] EXACT_MATCH\n" + |
| 4840 |
"src/b110060/AAxx.java b110060.AAxx [AAxx] EXACT_MATCH\n" + |
4841 |
"src/b110060/AAxx.java b110060.AAxx [AAxx] EXACT_MATCH\n" + |
| 4841 |
"src/b110060/Test.java b110060.Test.aa [AA] EXACT_MATCH\n" + |
4842 |
"src/b110060/Test.java b110060.Test.aa [AA] EXACT_MATCH\n" + |
| 4842 |
"src/b110060/Test.java b110060.Test.aaxx [AAxx] EXACT_MATCH" |
4843 |
"src/b110060/Test.java b110060.Test.aaxx [AAxx] EXACT_MATCH" |
| 4843 |
); |
4844 |
); |
| 4844 |
} |
4845 |
} |
|
Lines 4847-4859
Link Here
|
| 4847 |
setUpBug110060_TypePattern(); |
4848 |
setUpBug110060_TypePattern(); |
| 4848 |
search("AA", TYPE, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH | SearchPattern.R_CASE_SENSITIVE); |
4849 |
search("AA", TYPE, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH | SearchPattern.R_CASE_SENSITIVE); |
| 4849 |
assertSearchResults( |
4850 |
assertSearchResults( |
| 4850 |
"src/b110060/AA.java b110060.AA [AA] EXACT_MATCH\n" + |
4851 |
"src/b110060/AA.java b110060.AA [AA] EXACT_MATCH\n" + |
| 4851 |
"src/b110060/AAxx.java b110060.AAxx [AAxx] EXACT_MATCH\n" + |
4852 |
"src/b110060/AAxx.java b110060.AAxx [AAxx] EXACT_MATCH\n" + |
| 4852 |
"src/b110060/AxA.java b110060.AxA [AxA] EXACT_MATCH\n" + |
4853 |
"src/b110060/AxA.java b110060.AxA [AxA] EXACT_MATCH\n" + |
| 4853 |
"src/b110060/AxxAyy.java b110060.AxxAyy [AxxAyy] EXACT_MATCH\n" + |
4854 |
"src/b110060/AxxAyy.java b110060.AxxAyy [AxxAyy] EXACT_MATCH\n" + |
| 4854 |
"src/b110060/Test.java b110060.Test.aa [AA] EXACT_MATCH\n" + |
4855 |
"src/b110060/Test.java b110060.Test.aa [AA] EXACT_MATCH\n" + |
| 4855 |
"src/b110060/Test.java b110060.Test.aaxx [AAxx] EXACT_MATCH\n" + |
4856 |
"src/b110060/Test.java b110060.Test.aaxx [AAxx] EXACT_MATCH\n" + |
| 4856 |
"src/b110060/Test.java b110060.Test.axa [AxA] EXACT_MATCH\n" + |
4857 |
"src/b110060/Test.java b110060.Test.axa [AxA] EXACT_MATCH\n" + |
| 4857 |
"src/b110060/Test.java b110060.Test.axxayy [AxxAyy] EXACT_MATCH" |
4858 |
"src/b110060/Test.java b110060.Test.axxayy [AxxAyy] EXACT_MATCH" |
| 4858 |
); |
4859 |
); |
| 4859 |
} |
4860 |
} |
|
Lines 4868-4874
Link Here
|
| 4868 |
setUpBug110060_TypePattern(); |
4869 |
setUpBug110060_TypePattern(); |
| 4869 |
search("AxxA", TYPE, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
4870 |
search("AxxA", TYPE, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
| 4870 |
assertSearchResults( |
4871 |
assertSearchResults( |
| 4871 |
"src/b110060/AxxAyy.java b110060.AxxAyy [AxxAyy] EXACT_MATCH\n" + |
4872 |
"src/b110060/AxxAyy.java b110060.AxxAyy [AxxAyy] EXACT_MATCH\n" + |
| 4872 |
"src/b110060/Test.java b110060.Test.axxayy [AxxAyy] EXACT_MATCH" |
4873 |
"src/b110060/Test.java b110060.Test.axxayy [AxxAyy] EXACT_MATCH" |
| 4873 |
); |
4874 |
); |
| 4874 |
} |
4875 |
} |
|
Lines 4877-4883
Link Here
|
| 4877 |
setUpBug110060_TypePattern(); |
4878 |
setUpBug110060_TypePattern(); |
| 4878 |
search("AxXA", TYPE, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
4879 |
search("AxXA", TYPE, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
| 4879 |
assertSearchResults( |
4880 |
assertSearchResults( |
| 4880 |
"src/b110060/AxxAyy.java b110060.AxxAyy [AxxAyy] EXACT_MATCH\n" + |
4881 |
"src/b110060/AxxAyy.java b110060.AxxAyy [AxxAyy] EXACT_MATCH\n" + |
| 4881 |
"src/b110060/Test.java b110060.Test.axxayy [AxxAyy] EXACT_MATCH" |
4882 |
"src/b110060/Test.java b110060.Test.axxayy [AxxAyy] EXACT_MATCH" |
| 4882 |
); |
4883 |
); |
| 4883 |
} |
4884 |
} |
|
Lines 4898-4906
Link Here
|
| 4898 |
); |
4899 |
); |
| 4899 |
assertSearchResults( |
4900 |
assertSearchResults( |
| 4900 |
"Unexpected all type names", |
4901 |
"Unexpected all type names", |
| 4901 |
"b110060.AA\n" + |
4902 |
"b110060.AA\n" + |
| 4902 |
"b110060.AAxx\n" + |
4903 |
"b110060.AAxx\n" + |
| 4903 |
"b110060.AxA\n" + |
4904 |
"b110060.AxA\n" + |
| 4904 |
"b110060.AxxAyy", |
4905 |
"b110060.AxxAyy", |
| 4905 |
requestor); |
4906 |
requestor); |
| 4906 |
} |
4907 |
} |
|
Lines 4921-4929
Link Here
|
| 4921 |
); |
4922 |
); |
| 4922 |
assertSearchResults( |
4923 |
assertSearchResults( |
| 4923 |
"Unexpected all type names", |
4924 |
"Unexpected all type names", |
| 4924 |
"b110060.AA\n" + |
4925 |
"b110060.AA\n" + |
| 4925 |
"b110060.AAxx\n" + |
4926 |
"b110060.AAxx\n" + |
| 4926 |
"b110060.AxA\n" + |
4927 |
"b110060.AxA\n" + |
| 4927 |
"b110060.AxxAyy", |
4928 |
"b110060.AxxAyy", |
| 4928 |
requestor); |
4929 |
requestor); |
| 4929 |
} |
4930 |
} |
|
Lines 4944-4952
Link Here
|
| 4944 |
); |
4945 |
); |
| 4945 |
assertSearchResults( |
4946 |
assertSearchResults( |
| 4946 |
"Unexpected all type names", |
4947 |
"Unexpected all type names", |
| 4947 |
"b110060.AA\n" + |
4948 |
"b110060.AA\n" + |
| 4948 |
"b110060.AAxx\n" + |
4949 |
"b110060.AAxx\n" + |
| 4949 |
"b110060.AxA\n" + |
4950 |
"b110060.AxA\n" + |
| 4950 |
"b110060.AxxAyy", |
4951 |
"b110060.AxxAyy", |
| 4951 |
requestor); |
4952 |
requestor); |
| 4952 |
} |
4953 |
} |
|
Lines 4967-4975
Link Here
|
| 4967 |
); |
4968 |
); |
| 4968 |
assertSearchResults( |
4969 |
assertSearchResults( |
| 4969 |
"Unexpected all type names", |
4970 |
"Unexpected all type names", |
| 4970 |
"b110060.AA\n" + |
4971 |
"b110060.AA\n" + |
| 4971 |
"b110060.AAxx\n" + |
4972 |
"b110060.AAxx\n" + |
| 4972 |
"b110060.AxA\n" + |
4973 |
"b110060.AxA\n" + |
| 4973 |
"b110060.AxxAyy", |
4974 |
"b110060.AxxAyy", |
| 4974 |
requestor); |
4975 |
requestor); |
| 4975 |
} |
4976 |
} |
|
Lines 4990-4996
Link Here
|
| 4990 |
); |
4991 |
); |
| 4991 |
assertSearchResults( |
4992 |
assertSearchResults( |
| 4992 |
"Unexpected all type names", |
4993 |
"Unexpected all type names", |
| 4993 |
"b110060.AA\n" + |
4994 |
"b110060.AA\n" + |
| 4994 |
"b110060.AAxx", |
4995 |
"b110060.AAxx", |
| 4995 |
requestor); |
4996 |
requestor); |
| 4996 |
} |
4997 |
} |
|
Lines 5031-5037
Link Here
|
| 5031 |
); |
5032 |
); |
| 5032 |
assertSearchResults( |
5033 |
assertSearchResults( |
| 5033 |
"Unexpected all type names", |
5034 |
"Unexpected all type names", |
| 5034 |
"b110060.AA\n" + |
5035 |
"b110060.AA\n" + |
| 5035 |
"b110060.AAxx", |
5036 |
"b110060.AAxx", |
| 5036 |
requestor); |
5037 |
requestor); |
| 5037 |
} |
5038 |
} |
|
Lines 5052-5058
Link Here
|
| 5052 |
); |
5053 |
); |
| 5053 |
assertSearchResults( |
5054 |
assertSearchResults( |
| 5054 |
"Unexpected all type names", |
5055 |
"Unexpected all type names", |
| 5055 |
"b110060.AA\n" + |
5056 |
"b110060.AA\n" + |
| 5056 |
"b110060.AAxx", |
5057 |
"b110060.AAxx", |
| 5057 |
requestor); |
5058 |
requestor); |
| 5058 |
} |
5059 |
} |
|
Lines 5073-5079
Link Here
|
| 5073 |
); |
5074 |
); |
| 5074 |
assertSearchResults( |
5075 |
assertSearchResults( |
| 5075 |
"Unexpected all type names", |
5076 |
"Unexpected all type names", |
| 5076 |
"b110060.AA\n" + |
5077 |
"b110060.AA\n" + |
| 5077 |
"b110060.AAxx", |
5078 |
"b110060.AAxx", |
| 5078 |
requestor); |
5079 |
requestor); |
| 5079 |
} |
5080 |
} |
|
Lines 5134-5140
Link Here
|
| 5134 |
); |
5135 |
); |
| 5135 |
assertSearchResults( |
5136 |
assertSearchResults( |
| 5136 |
"Unexpected all type names", |
5137 |
"Unexpected all type names", |
| 5137 |
"b110060.AA\n" + |
5138 |
"b110060.AA\n" + |
| 5138 |
"b110060.AAxx", |
5139 |
"b110060.AAxx", |
| 5139 |
requestor); |
5140 |
requestor); |
| 5140 |
} |
5141 |
} |
|
Lines 5183-5218
Link Here
|
| 5183 |
private void setUpBug110060_ConstructorPattern() throws CoreException { |
5184 |
private void setUpBug110060_ConstructorPattern() throws CoreException { |
| 5184 |
workingCopies = new ICompilationUnit[5]; |
5185 |
workingCopies = new ICompilationUnit[5]; |
| 5185 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b110060/AA.java", |
5186 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b110060/AA.java", |
| 5186 |
"package b110060;\n" + |
5187 |
"package b110060;\n" + |
| 5187 |
"public class AA {\n" + |
5188 |
"public class AA {\n" + |
| 5188 |
" AA() {}\n" + |
5189 |
" AA() {}\n" + |
| 5189 |
"}\n" |
5190 |
"}\n" |
| 5190 |
); |
5191 |
); |
| 5191 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b110060/AAxx.java", |
5192 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b110060/AAxx.java", |
| 5192 |
"package b110060;\n" + |
5193 |
"package b110060;\n" + |
| 5193 |
"public class AAxx {\n" + |
5194 |
"public class AAxx {\n" + |
| 5194 |
" AAxx() {}\n" + |
5195 |
" AAxx() {}\n" + |
| 5195 |
"}\n" |
5196 |
"}\n" |
| 5196 |
); |
5197 |
); |
| 5197 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b110060/AxxAyy.java", |
5198 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b110060/AxxAyy.java", |
| 5198 |
"package b110060;\n" + |
5199 |
"package b110060;\n" + |
| 5199 |
"public class AxxAyy {\n" + |
5200 |
"public class AxxAyy {\n" + |
| 5200 |
" AxxAyy() {}\n" + |
5201 |
" AxxAyy() {}\n" + |
| 5201 |
"}\n" |
5202 |
"}\n" |
| 5202 |
); |
5203 |
); |
| 5203 |
workingCopies[3] = getWorkingCopy("/JavaSearchBugs/src/b110060/AxA.java", |
5204 |
workingCopies[3] = getWorkingCopy("/JavaSearchBugs/src/b110060/AxA.java", |
| 5204 |
"package b110060;\n" + |
5205 |
"package b110060;\n" + |
| 5205 |
"public class AxA {\n" + |
5206 |
"public class AxA {\n" + |
| 5206 |
" AxA() {}\n" + |
5207 |
" AxA() {}\n" + |
| 5207 |
"}\n" |
5208 |
"}\n" |
| 5208 |
); |
5209 |
); |
| 5209 |
workingCopies[4] = getWorkingCopy("/JavaSearchBugs/src/b110060/Test.java", |
5210 |
workingCopies[4] = getWorkingCopy("/JavaSearchBugs/src/b110060/Test.java", |
| 5210 |
"package b110060;\n" + |
5211 |
"package b110060;\n" + |
| 5211 |
"public class Test {\n" + |
5212 |
"public class Test {\n" + |
| 5212 |
" AA aa = new AA();\n" + |
5213 |
" AA aa = new AA();\n" + |
| 5213 |
" AAxx aaxx = new AAxx();\n" + |
5214 |
" AAxx aaxx = new AAxx();\n" + |
| 5214 |
" AxA axa = new AxA();\n" + |
5215 |
" AxA axa = new AxA();\n" + |
| 5215 |
" AxxAyy axxayy = new AxxAyy();\n" + |
5216 |
" AxxAyy axxayy = new AxxAyy();\n" + |
| 5216 |
"}\n" |
5217 |
"}\n" |
| 5217 |
); |
5218 |
); |
| 5218 |
} |
5219 |
} |
|
Lines 5220-5228
Link Here
|
| 5220 |
setUpBug110060_ConstructorPattern(); |
5221 |
setUpBug110060_ConstructorPattern(); |
| 5221 |
search("AA", CONSTRUCTOR, REFERENCES, SearchPattern.R_CAMELCASE_MATCH); |
5222 |
search("AA", CONSTRUCTOR, REFERENCES, SearchPattern.R_CAMELCASE_MATCH); |
| 5222 |
assertSearchResults( |
5223 |
assertSearchResults( |
| 5223 |
"src/b110060/Test.java b110060.Test.aa [new AA()] EXACT_MATCH\n" + |
5224 |
"src/b110060/Test.java b110060.Test.aa [new AA()] EXACT_MATCH\n" + |
| 5224 |
"src/b110060/Test.java b110060.Test.aaxx [new AAxx()] EXACT_MATCH\n" + |
5225 |
"src/b110060/Test.java b110060.Test.aaxx [new AAxx()] EXACT_MATCH\n" + |
| 5225 |
"src/b110060/Test.java b110060.Test.axa [new AxA()] EXACT_MATCH\n" + |
5226 |
"src/b110060/Test.java b110060.Test.axa [new AxA()] EXACT_MATCH\n" + |
| 5226 |
"src/b110060/Test.java b110060.Test.axxayy [new AxxAyy()] EXACT_MATCH" |
5227 |
"src/b110060/Test.java b110060.Test.axxayy [new AxxAyy()] EXACT_MATCH" |
| 5227 |
); |
5228 |
); |
| 5228 |
} |
5229 |
} |
|
Lines 5231-5243
Link Here
|
| 5231 |
setUpBug110060_ConstructorPattern(); |
5232 |
setUpBug110060_ConstructorPattern(); |
| 5232 |
search("AA", CONSTRUCTOR, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
5233 |
search("AA", CONSTRUCTOR, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
| 5233 |
assertSearchResults( |
5234 |
assertSearchResults( |
| 5234 |
"src/b110060/AA.java b110060.AA() [AA] EXACT_MATCH\n" + |
5235 |
"src/b110060/AA.java b110060.AA() [AA] EXACT_MATCH\n" + |
| 5235 |
"src/b110060/AAxx.java b110060.AAxx() [AAxx] EXACT_MATCH\n" + |
5236 |
"src/b110060/AAxx.java b110060.AAxx() [AAxx] EXACT_MATCH\n" + |
| 5236 |
"src/b110060/AxA.java b110060.AxA() [AxA] EXACT_MATCH\n" + |
5237 |
"src/b110060/AxA.java b110060.AxA() [AxA] EXACT_MATCH\n" + |
| 5237 |
"src/b110060/AxxAyy.java b110060.AxxAyy() [AxxAyy] EXACT_MATCH\n" + |
5238 |
"src/b110060/AxxAyy.java b110060.AxxAyy() [AxxAyy] EXACT_MATCH\n" + |
| 5238 |
"src/b110060/Test.java b110060.Test.aa [new AA()] EXACT_MATCH\n" + |
5239 |
"src/b110060/Test.java b110060.Test.aa [new AA()] EXACT_MATCH\n" + |
| 5239 |
"src/b110060/Test.java b110060.Test.aaxx [new AAxx()] EXACT_MATCH\n" + |
5240 |
"src/b110060/Test.java b110060.Test.aaxx [new AAxx()] EXACT_MATCH\n" + |
| 5240 |
"src/b110060/Test.java b110060.Test.axa [new AxA()] EXACT_MATCH\n" + |
5241 |
"src/b110060/Test.java b110060.Test.axa [new AxA()] EXACT_MATCH\n" + |
| 5241 |
"src/b110060/Test.java b110060.Test.axxayy [new AxxAyy()] EXACT_MATCH" |
5242 |
"src/b110060/Test.java b110060.Test.axxayy [new AxxAyy()] EXACT_MATCH" |
| 5242 |
); |
5243 |
); |
| 5243 |
} |
5244 |
} |
|
Lines 5246-5252
Link Here
|
| 5246 |
setUpBug110060_ConstructorPattern(); |
5247 |
setUpBug110060_ConstructorPattern(); |
| 5247 |
search("AAx", CONSTRUCTOR, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
5248 |
search("AAx", CONSTRUCTOR, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
| 5248 |
assertSearchResults( |
5249 |
assertSearchResults( |
| 5249 |
"src/b110060/AAxx.java b110060.AAxx() [AAxx] EXACT_MATCH\n" + |
5250 |
"src/b110060/AAxx.java b110060.AAxx() [AAxx] EXACT_MATCH\n" + |
| 5250 |
"src/b110060/Test.java b110060.Test.aaxx [new AAxx()] EXACT_MATCH" |
5251 |
"src/b110060/Test.java b110060.Test.aaxx [new AAxx()] EXACT_MATCH" |
| 5251 |
); |
5252 |
); |
| 5252 |
} |
5253 |
} |
|
Lines 5255-5261
Link Here
|
| 5255 |
setUpBug110060_ConstructorPattern(); |
5256 |
setUpBug110060_ConstructorPattern(); |
| 5256 |
search("Axx", CONSTRUCTOR, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
5257 |
search("Axx", CONSTRUCTOR, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
| 5257 |
assertSearchResults( |
5258 |
assertSearchResults( |
| 5258 |
"src/b110060/AxxAyy.java b110060.AxxAyy() [AxxAyy] EXACT_MATCH\n" + |
5259 |
"src/b110060/AxxAyy.java b110060.AxxAyy() [AxxAyy] EXACT_MATCH\n" + |
| 5259 |
"src/b110060/Test.java b110060.Test.axxayy [new AxxAyy()] EXACT_MATCH" |
5260 |
"src/b110060/Test.java b110060.Test.axxayy [new AxxAyy()] EXACT_MATCH" |
| 5260 |
); |
5261 |
); |
| 5261 |
} |
5262 |
} |
|
Lines 5264-5272
Link Here
|
| 5264 |
setUpBug110060_ConstructorPattern(); |
5265 |
setUpBug110060_ConstructorPattern(); |
| 5265 |
search("Ax", CONSTRUCTOR, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
5266 |
search("Ax", CONSTRUCTOR, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
| 5266 |
assertSearchResults( |
5267 |
assertSearchResults( |
| 5267 |
"src/b110060/AxA.java b110060.AxA() [AxA] EXACT_MATCH\n" + |
5268 |
"src/b110060/AxA.java b110060.AxA() [AxA] EXACT_MATCH\n" + |
| 5268 |
"src/b110060/AxxAyy.java b110060.AxxAyy() [AxxAyy] EXACT_MATCH\n" + |
5269 |
"src/b110060/AxxAyy.java b110060.AxxAyy() [AxxAyy] EXACT_MATCH\n" + |
| 5269 |
"src/b110060/Test.java b110060.Test.axa [new AxA()] EXACT_MATCH\n" + |
5270 |
"src/b110060/Test.java b110060.Test.axa [new AxA()] EXACT_MATCH\n" + |
| 5270 |
"src/b110060/Test.java b110060.Test.axxayy [new AxxAyy()] EXACT_MATCH" |
5271 |
"src/b110060/Test.java b110060.Test.axxayy [new AxxAyy()] EXACT_MATCH" |
| 5271 |
); |
5272 |
); |
| 5272 |
} |
5273 |
} |
|
Lines 5275-5287
Link Here
|
| 5275 |
setUpBug110060_ConstructorPattern(); |
5276 |
setUpBug110060_ConstructorPattern(); |
| 5276 |
search("A*A*", CONSTRUCTOR, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
5277 |
search("A*A*", CONSTRUCTOR, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
| 5277 |
assertSearchResults( |
5278 |
assertSearchResults( |
| 5278 |
"src/b110060/AA.java b110060.AA() [AA] EXACT_MATCH\n" + |
5279 |
"src/b110060/AA.java b110060.AA() [AA] EXACT_MATCH\n" + |
| 5279 |
"src/b110060/AAxx.java b110060.AAxx() [AAxx] EXACT_MATCH\n" + |
5280 |
"src/b110060/AAxx.java b110060.AAxx() [AAxx] EXACT_MATCH\n" + |
| 5280 |
"src/b110060/AxA.java b110060.AxA() [AxA] EXACT_MATCH\n" + |
5281 |
"src/b110060/AxA.java b110060.AxA() [AxA] EXACT_MATCH\n" + |
| 5281 |
"src/b110060/AxxAyy.java b110060.AxxAyy() [AxxAyy] EXACT_MATCH\n" + |
5282 |
"src/b110060/AxxAyy.java b110060.AxxAyy() [AxxAyy] EXACT_MATCH\n" + |
| 5282 |
"src/b110060/Test.java b110060.Test.aa [new AA()] EXACT_MATCH\n" + |
5283 |
"src/b110060/Test.java b110060.Test.aa [new AA()] EXACT_MATCH\n" + |
| 5283 |
"src/b110060/Test.java b110060.Test.aaxx [new AAxx()] EXACT_MATCH\n" + |
5284 |
"src/b110060/Test.java b110060.Test.aaxx [new AAxx()] EXACT_MATCH\n" + |
| 5284 |
"src/b110060/Test.java b110060.Test.axa [new AxA()] EXACT_MATCH\n" + |
5285 |
"src/b110060/Test.java b110060.Test.axa [new AxA()] EXACT_MATCH\n" + |
| 5285 |
"src/b110060/Test.java b110060.Test.axxayy [new AxxAyy()] EXACT_MATCH" |
5286 |
"src/b110060/Test.java b110060.Test.axxayy [new AxxAyy()] EXACT_MATCH" |
| 5286 |
); |
5287 |
); |
| 5287 |
} |
5288 |
} |
|
Lines 5290-5309
Link Here
|
| 5290 |
private void setUpBug110060_MethodPattern() throws CoreException { |
5291 |
private void setUpBug110060_MethodPattern() throws CoreException { |
| 5291 |
workingCopies = new ICompilationUnit[1]; |
5292 |
workingCopies = new ICompilationUnit[1]; |
| 5292 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b110060/Test.java", |
5293 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b110060/Test.java", |
| 5293 |
"package b110060;\n" + |
5294 |
"package b110060;\n" + |
| 5294 |
"public class Test {\n" + |
5295 |
"public class Test {\n" + |
| 5295 |
" void aMethodWithNothingSpecial() {}\n" + |
5296 |
" void aMethodWithNothingSpecial() {}\n" + |
| 5296 |
" void aMethodWith1Digit() {}\n" + |
5297 |
" void aMethodWith1Digit() {}\n" + |
| 5297 |
" void aMethodWith1DigitAnd_AnUnderscore() {}\n" + |
5298 |
" void aMethodWith1DigitAnd_AnUnderscore() {}\n" + |
| 5298 |
" void aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores() {}\n" + |
5299 |
" void aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores() {}\n" + |
| 5299 |
" void otherMethodWhichStartsWithAnotherLetter() {}\n" + |
5300 |
" void otherMethodWhichStartsWithAnotherLetter() {}\n" + |
| 5300 |
" void testReferences() {\n" + |
5301 |
" void testReferences() {\n" + |
| 5301 |
" aMethodWith1Digit();\n" + |
5302 |
" aMethodWith1Digit();\n" + |
| 5302 |
" aMethodWith1DigitAnd_AnUnderscore();\n" + |
5303 |
" aMethodWith1DigitAnd_AnUnderscore();\n" + |
| 5303 |
" aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores();\n" + |
5304 |
" aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores();\n" + |
| 5304 |
" aMethodWithNothingSpecial();\n" + |
5305 |
" aMethodWithNothingSpecial();\n" + |
| 5305 |
" otherMethodWhichStartsWithAnotherLetter();\n" + |
5306 |
" otherMethodWhichStartsWithAnotherLetter();\n" + |
| 5306 |
" }\n" + |
5307 |
" }\n" + |
| 5307 |
"}\n" |
5308 |
"}\n" |
| 5308 |
); |
5309 |
); |
| 5309 |
} |
5310 |
} |
|
Lines 5323-5331
Link Here
|
| 5323 |
setUpBug110060_MethodPattern(); |
5324 |
setUpBug110060_MethodPattern(); |
| 5324 |
search("aMWD", METHOD, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
5325 |
search("aMWD", METHOD, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
| 5325 |
assertSearchResults( |
5326 |
assertSearchResults( |
| 5326 |
"src/b110060/Test.java void b110060.Test.aMethodWith1Digit() [aMethodWith1Digit] EXACT_MATCH\n" + |
5327 |
"src/b110060/Test.java void b110060.Test.aMethodWith1Digit() [aMethodWith1Digit] EXACT_MATCH\n" + |
| 5327 |
"src/b110060/Test.java void b110060.Test.aMethodWith1DigitAnd_AnUnderscore() [aMethodWith1DigitAnd_AnUnderscore] EXACT_MATCH\n" + |
5328 |
"src/b110060/Test.java void b110060.Test.aMethodWith1DigitAnd_AnUnderscore() [aMethodWith1DigitAnd_AnUnderscore] EXACT_MATCH\n" + |
| 5328 |
"src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1Digit()] EXACT_MATCH\n" + |
5329 |
"src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1Digit()] EXACT_MATCH\n" + |
| 5329 |
"src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1DigitAnd_AnUnderscore()] EXACT_MATCH" |
5330 |
"src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1DigitAnd_AnUnderscore()] EXACT_MATCH" |
| 5330 |
); |
5331 |
); |
| 5331 |
} |
5332 |
} |
|
Lines 5334-5346
Link Here
|
| 5334 |
setUpBug110060_MethodPattern(); |
5335 |
setUpBug110060_MethodPattern(); |
| 5335 |
search("aMW", METHOD, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
5336 |
search("aMW", METHOD, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
| 5336 |
assertSearchResults( |
5337 |
assertSearchResults( |
| 5337 |
"src/b110060/Test.java void b110060.Test.aMethodWithNothingSpecial() [aMethodWithNothingSpecial] EXACT_MATCH\n" + |
5338 |
"src/b110060/Test.java void b110060.Test.aMethodWithNothingSpecial() [aMethodWithNothingSpecial] EXACT_MATCH\n" + |
| 5338 |
"src/b110060/Test.java void b110060.Test.aMethodWith1Digit() [aMethodWith1Digit] EXACT_MATCH\n" + |
5339 |
"src/b110060/Test.java void b110060.Test.aMethodWith1Digit() [aMethodWith1Digit] EXACT_MATCH\n" + |
| 5339 |
"src/b110060/Test.java void b110060.Test.aMethodWith1DigitAnd_AnUnderscore() [aMethodWith1DigitAnd_AnUnderscore] EXACT_MATCH\n" + |
5340 |
"src/b110060/Test.java void b110060.Test.aMethodWith1DigitAnd_AnUnderscore() [aMethodWith1DigitAnd_AnUnderscore] EXACT_MATCH\n" + |
| 5340 |
"src/b110060/Test.java void b110060.Test.aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores() [aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores] EXACT_MATCH\n" + |
5341 |
"src/b110060/Test.java void b110060.Test.aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores() [aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores] EXACT_MATCH\n" + |
| 5341 |
"src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1Digit()] EXACT_MATCH\n" + |
5342 |
"src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1Digit()] EXACT_MATCH\n" + |
| 5342 |
"src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1DigitAnd_AnUnderscore()] EXACT_MATCH\n" + |
5343 |
"src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1DigitAnd_AnUnderscore()] EXACT_MATCH\n" + |
| 5343 |
"src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores()] EXACT_MATCH\n" + |
5344 |
"src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores()] EXACT_MATCH\n" + |
| 5344 |
"src/b110060/Test.java void b110060.Test.testReferences() [aMethodWithNothingSpecial()] EXACT_MATCH" |
5345 |
"src/b110060/Test.java void b110060.Test.testReferences() [aMethodWithNothingSpecial()] EXACT_MATCH" |
| 5345 |
); |
5346 |
); |
| 5346 |
} |
5347 |
} |
|
Lines 5349-5361
Link Here
|
| 5349 |
setUpBug110060_MethodPattern(); |
5350 |
setUpBug110060_MethodPattern(); |
| 5350 |
search("aMethod", METHOD, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
5351 |
search("aMethod", METHOD, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
| 5351 |
assertSearchResults( |
5352 |
assertSearchResults( |
| 5352 |
"src/b110060/Test.java void b110060.Test.aMethodWithNothingSpecial() [aMethodWithNothingSpecial] EXACT_MATCH\n" + |
5353 |
"src/b110060/Test.java void b110060.Test.aMethodWithNothingSpecial() [aMethodWithNothingSpecial] EXACT_MATCH\n" + |
| 5353 |
"src/b110060/Test.java void b110060.Test.aMethodWith1Digit() [aMethodWith1Digit] EXACT_MATCH\n" + |
5354 |
"src/b110060/Test.java void b110060.Test.aMethodWith1Digit() [aMethodWith1Digit] EXACT_MATCH\n" + |
| 5354 |
"src/b110060/Test.java void b110060.Test.aMethodWith1DigitAnd_AnUnderscore() [aMethodWith1DigitAnd_AnUnderscore] EXACT_MATCH\n" + |
5355 |
"src/b110060/Test.java void b110060.Test.aMethodWith1DigitAnd_AnUnderscore() [aMethodWith1DigitAnd_AnUnderscore] EXACT_MATCH\n" + |
| 5355 |
"src/b110060/Test.java void b110060.Test.aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores() [aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores] EXACT_MATCH\n" + |
5356 |
"src/b110060/Test.java void b110060.Test.aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores() [aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores] EXACT_MATCH\n" + |
| 5356 |
"src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1Digit()] EXACT_MATCH\n" + |
5357 |
"src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1Digit()] EXACT_MATCH\n" + |
| 5357 |
"src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1DigitAnd_AnUnderscore()] EXACT_MATCH\n" + |
5358 |
"src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1DigitAnd_AnUnderscore()] EXACT_MATCH\n" + |
| 5358 |
"src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores()] EXACT_MATCH\n" + |
5359 |
"src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores()] EXACT_MATCH\n" + |
| 5359 |
"src/b110060/Test.java void b110060.Test.testReferences() [aMethodWithNothingSpecial()] EXACT_MATCH" |
5360 |
"src/b110060/Test.java void b110060.Test.testReferences() [aMethodWithNothingSpecial()] EXACT_MATCH" |
| 5360 |
); |
5361 |
); |
| 5361 |
} |
5362 |
} |
|
Lines 5364-5374
Link Here
|
| 5364 |
setUpBug110060_MethodPattern(); |
5365 |
setUpBug110060_MethodPattern(); |
| 5365 |
search("aMethodWith1", METHOD, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
5366 |
search("aMethodWith1", METHOD, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
| 5366 |
assertSearchResults( |
5367 |
assertSearchResults( |
| 5367 |
"src/b110060/Test.java void b110060.Test.aMethodWith1Digit() [aMethodWith1Digit] EXACT_MATCH\n" + |
5368 |
"src/b110060/Test.java void b110060.Test.aMethodWith1Digit() [aMethodWith1Digit] EXACT_MATCH\n" + |
| 5368 |
"src/b110060/Test.java void b110060.Test.aMethodWith1DigitAnd_AnUnderscore() [aMethodWith1DigitAnd_AnUnderscore] EXACT_MATCH\n" + |
5369 |
"src/b110060/Test.java void b110060.Test.aMethodWith1DigitAnd_AnUnderscore() [aMethodWith1DigitAnd_AnUnderscore] EXACT_MATCH\n" + |
| 5369 |
"src/b110060/Test.java void b110060.Test.aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores() [aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores] EXACT_MATCH\n" + |
5370 |
"src/b110060/Test.java void b110060.Test.aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores() [aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores] EXACT_MATCH\n" + |
| 5370 |
"src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1Digit()] EXACT_MATCH\n" + |
5371 |
"src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1Digit()] EXACT_MATCH\n" + |
| 5371 |
"src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1DigitAnd_AnUnderscore()] EXACT_MATCH\n" + |
5372 |
"src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1DigitAnd_AnUnderscore()] EXACT_MATCH\n" + |
| 5372 |
"src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores()] EXACT_MATCH" |
5373 |
"src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores()] EXACT_MATCH" |
| 5373 |
); |
5374 |
); |
| 5374 |
} |
5375 |
} |
|
Lines 5377-5389
Link Here
|
| 5377 |
setUpBug110060_MethodPattern(); |
5378 |
setUpBug110060_MethodPattern(); |
| 5378 |
search("*Method*With*A*", METHOD, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
5379 |
search("*Method*With*A*", METHOD, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
| 5379 |
assertSearchResults( |
5380 |
assertSearchResults( |
| 5380 |
"src/b110060/Test.java void b110060.Test.aMethodWithNothingSpecial() [aMethodWithNothingSpecial] EXACT_MATCH\n" + |
5381 |
"src/b110060/Test.java void b110060.Test.aMethodWithNothingSpecial() [aMethodWithNothingSpecial] EXACT_MATCH\n" + |
| 5381 |
"src/b110060/Test.java void b110060.Test.aMethodWith1DigitAnd_AnUnderscore() [aMethodWith1DigitAnd_AnUnderscore] EXACT_MATCH\n" + |
5382 |
"src/b110060/Test.java void b110060.Test.aMethodWith1DigitAnd_AnUnderscore() [aMethodWith1DigitAnd_AnUnderscore] EXACT_MATCH\n" + |
| 5382 |
"src/b110060/Test.java void b110060.Test.aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores() [aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores] EXACT_MATCH\n" + |
5383 |
"src/b110060/Test.java void b110060.Test.aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores() [aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores] EXACT_MATCH\n" + |
| 5383 |
"src/b110060/Test.java void b110060.Test.otherMethodWhichStartsWithAnotherLetter() [otherMethodWhichStartsWithAnotherLetter] EXACT_MATCH\n" + |
5384 |
"src/b110060/Test.java void b110060.Test.otherMethodWhichStartsWithAnotherLetter() [otherMethodWhichStartsWithAnotherLetter] EXACT_MATCH\n" + |
| 5384 |
"src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1DigitAnd_AnUnderscore()] EXACT_MATCH\n" + |
5385 |
"src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1DigitAnd_AnUnderscore()] EXACT_MATCH\n" + |
| 5385 |
"src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores()] EXACT_MATCH\n" + |
5386 |
"src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores()] EXACT_MATCH\n" + |
| 5386 |
"src/b110060/Test.java void b110060.Test.testReferences() [aMethodWithNothingSpecial()] EXACT_MATCH\n" + |
5387 |
"src/b110060/Test.java void b110060.Test.testReferences() [aMethodWithNothingSpecial()] EXACT_MATCH\n" + |
| 5387 |
"src/b110060/Test.java void b110060.Test.testReferences() [otherMethodWhichStartsWithAnotherLetter()] EXACT_MATCH" |
5388 |
"src/b110060/Test.java void b110060.Test.testReferences() [otherMethodWhichStartsWithAnotherLetter()] EXACT_MATCH" |
| 5388 |
); |
5389 |
); |
| 5389 |
} |
5390 |
} |
|
Lines 5398-5404
Link Here
|
| 5398 |
setUpBug110060_MethodPattern(); |
5399 |
setUpBug110060_MethodPattern(); |
| 5399 |
search("aMWOOODASU", METHOD, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
5400 |
search("aMWOOODASU", METHOD, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
| 5400 |
assertSearchResults( |
5401 |
assertSearchResults( |
| 5401 |
"src/b110060/Test.java void b110060.Test.aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores() [aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores] EXACT_MATCH\n" + |
5402 |
"src/b110060/Test.java void b110060.Test.aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores() [aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores] EXACT_MATCH\n" + |
| 5402 |
"src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores()] EXACT_MATCH" |
5403 |
"src/b110060/Test.java void b110060.Test.testReferences() [aMethodWith1Or2_Or_3_Or__4__DigitsAnd_Several_Underscores()] EXACT_MATCH" |
| 5403 |
); |
5404 |
); |
| 5404 |
} |
5405 |
} |
|
Lines 5407-5426
Link Here
|
| 5407 |
private void setUpBug110060_FieldPattern() throws CoreException { |
5408 |
private void setUpBug110060_FieldPattern() throws CoreException { |
| 5408 |
workingCopies = new ICompilationUnit[1]; |
5409 |
workingCopies = new ICompilationUnit[1]; |
| 5409 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b110060/Test.java", |
5410 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b110060/Test.java", |
| 5410 |
"package b110060;\n" + |
5411 |
"package b110060;\n" + |
| 5411 |
"public class Test {\n" + |
5412 |
"public class Test {\n" + |
| 5412 |
" Object aFieldWithNothingSpecial;\n" + |
5413 |
" Object aFieldWithNothingSpecial;\n" + |
| 5413 |
" Object aFieldWithS$Dollar;\n" + |
5414 |
" Object aFieldWithS$Dollar;\n" + |
| 5414 |
" Object aFieldWith$Several$DollarslAnd1DigitAnd_1Underscore;\n" + |
5415 |
" Object aFieldWith$Several$DollarslAnd1DigitAnd_1Underscore;\n" + |
| 5415 |
" Object aStrangeFieldWith$$$$$$$$$$$$$$$SeveraContiguousDollars;\n" + |
5416 |
" Object aStrangeFieldWith$$$$$$$$$$$$$$$SeveraContiguousDollars;\n" + |
| 5416 |
" Object otherFieldWhichStartsWithAnotherLetter;\n" + |
5417 |
" Object otherFieldWhichStartsWithAnotherLetter;\n" + |
| 5417 |
" void testReferences() {\n" + |
5418 |
" void testReferences() {\n" + |
| 5418 |
" Object o0 = aFieldWithNothingSpecial;\n" + |
5419 |
" Object o0 = aFieldWithNothingSpecial;\n" + |
| 5419 |
" Object o1 = aFieldWithS$Dollar;\n" + |
5420 |
" Object o1 = aFieldWithS$Dollar;\n" + |
| 5420 |
" Object o2 = aFieldWith$Several$DollarslAnd1DigitAnd_1Underscore;\n" + |
5421 |
" Object o2 = aFieldWith$Several$DollarslAnd1DigitAnd_1Underscore;\n" + |
| 5421 |
" Object o3 = aStrangeFieldWith$$$$$$$$$$$$$$$SeveraContiguousDollars;\n" + |
5422 |
" Object o3 = aStrangeFieldWith$$$$$$$$$$$$$$$SeveraContiguousDollars;\n" + |
| 5422 |
" }\n" + |
5423 |
" }\n" + |
| 5423 |
" Object oF = otherFieldWhichStartsWithAnotherLetter;\n" + |
5424 |
" Object oF = otherFieldWhichStartsWithAnotherLetter;\n" + |
| 5424 |
"}\n" |
5425 |
"}\n" |
| 5425 |
); |
5426 |
); |
| 5426 |
} |
5427 |
} |
|
Lines 5428-5436
Link Here
|
| 5428 |
setUpBug110060_FieldPattern(); |
5429 |
setUpBug110060_FieldPattern(); |
| 5429 |
search("aFWSD", FIELD, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
5430 |
search("aFWSD", FIELD, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
| 5430 |
assertSearchResults( |
5431 |
assertSearchResults( |
| 5431 |
"src/b110060/Test.java b110060.Test.aFieldWithS$Dollar [aFieldWithS$Dollar] EXACT_MATCH\n" + |
5432 |
"src/b110060/Test.java b110060.Test.aFieldWithS$Dollar [aFieldWithS$Dollar] EXACT_MATCH\n" + |
| 5432 |
"src/b110060/Test.java b110060.Test.aFieldWith$Several$DollarslAnd1DigitAnd_1Underscore [aFieldWith$Several$DollarslAnd1DigitAnd_1Underscore] EXACT_MATCH\n" + |
5433 |
"src/b110060/Test.java b110060.Test.aFieldWith$Several$DollarslAnd1DigitAnd_1Underscore [aFieldWith$Several$DollarslAnd1DigitAnd_1Underscore] EXACT_MATCH\n" + |
| 5433 |
"src/b110060/Test.java void b110060.Test.testReferences() [aFieldWithS$Dollar] EXACT_MATCH\n" + |
5434 |
"src/b110060/Test.java void b110060.Test.testReferences() [aFieldWithS$Dollar] EXACT_MATCH\n" + |
| 5434 |
"src/b110060/Test.java void b110060.Test.testReferences() [aFieldWith$Several$DollarslAnd1DigitAnd_1Underscore] EXACT_MATCH" |
5435 |
"src/b110060/Test.java void b110060.Test.testReferences() [aFieldWith$Several$DollarslAnd1DigitAnd_1Underscore] EXACT_MATCH" |
| 5435 |
); |
5436 |
); |
| 5436 |
} |
5437 |
} |
|
Lines 5445-5451
Link Here
|
| 5445 |
setUpBug110060_FieldPattern(); |
5446 |
setUpBug110060_FieldPattern(); |
| 5446 |
search("aFWS$", FIELD, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
5447 |
search("aFWS$", FIELD, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
| 5447 |
assertSearchResults( |
5448 |
assertSearchResults( |
| 5448 |
"src/b110060/Test.java b110060.Test.aFieldWithS$Dollar [aFieldWithS$Dollar] EXACT_MATCH\n" + |
5449 |
"src/b110060/Test.java b110060.Test.aFieldWithS$Dollar [aFieldWithS$Dollar] EXACT_MATCH\n" + |
| 5449 |
"src/b110060/Test.java void b110060.Test.testReferences() [aFieldWithS$Dollar] EXACT_MATCH" |
5450 |
"src/b110060/Test.java void b110060.Test.testReferences() [aFieldWithS$Dollar] EXACT_MATCH" |
| 5450 |
); |
5451 |
); |
| 5451 |
} |
5452 |
} |
|
Lines 5454-5460
Link Here
|
| 5454 |
setUpBug110060_FieldPattern(); |
5455 |
setUpBug110060_FieldPattern(); |
| 5455 |
search("aSFWSCD", FIELD, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
5456 |
search("aSFWSCD", FIELD, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
| 5456 |
assertSearchResults( |
5457 |
assertSearchResults( |
| 5457 |
"src/b110060/Test.java b110060.Test.aStrangeFieldWith$$$$$$$$$$$$$$$SeveraContiguousDollars [aStrangeFieldWith$$$$$$$$$$$$$$$SeveraContiguousDollars] EXACT_MATCH\n" + |
5458 |
"src/b110060/Test.java b110060.Test.aStrangeFieldWith$$$$$$$$$$$$$$$SeveraContiguousDollars [aStrangeFieldWith$$$$$$$$$$$$$$$SeveraContiguousDollars] EXACT_MATCH\n" + |
| 5458 |
"src/b110060/Test.java void b110060.Test.testReferences() [aStrangeFieldWith$$$$$$$$$$$$$$$SeveraContiguousDollars] EXACT_MATCH" |
5459 |
"src/b110060/Test.java void b110060.Test.testReferences() [aStrangeFieldWith$$$$$$$$$$$$$$$SeveraContiguousDollars] EXACT_MATCH" |
| 5459 |
); |
5460 |
); |
| 5460 |
} |
5461 |
} |
|
Lines 5463-5470
Link Here
|
| 5463 |
setUpBug110060_FieldPattern(); |
5464 |
setUpBug110060_FieldPattern(); |
| 5464 |
search("oF", FIELD, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
5465 |
search("oF", FIELD, ALL_OCCURRENCES, SearchPattern.R_CAMELCASE_MATCH); |
| 5465 |
assertSearchResults( |
5466 |
assertSearchResults( |
| 5466 |
"src/b110060/Test.java b110060.Test.otherFieldWhichStartsWithAnotherLetter [otherFieldWhichStartsWithAnotherLetter] EXACT_MATCH\n" + |
5467 |
"src/b110060/Test.java b110060.Test.otherFieldWhichStartsWithAnotherLetter [otherFieldWhichStartsWithAnotherLetter] EXACT_MATCH\n" + |
| 5467 |
"src/b110060/Test.java b110060.Test.oF [oF] EXACT_MATCH\n" + |
5468 |
"src/b110060/Test.java b110060.Test.oF [oF] EXACT_MATCH\n" + |
| 5468 |
"src/b110060/Test.java b110060.Test.oF [otherFieldWhichStartsWithAnotherLetter] EXACT_MATCH" |
5469 |
"src/b110060/Test.java b110060.Test.oF [otherFieldWhichStartsWithAnotherLetter] EXACT_MATCH" |
| 5469 |
); |
5470 |
); |
| 5470 |
} |
5471 |
} |
|
Lines 5476-5483
Link Here
|
| 5476 |
public void testBug110291() throws CoreException { |
5477 |
public void testBug110291() throws CoreException { |
| 5477 |
workingCopies = new ICompilationUnit[1]; |
5478 |
workingCopies = new ICompilationUnit[1]; |
| 5478 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b110291/Test110291XX.java", |
5479 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b110291/Test110291XX.java", |
| 5479 |
"package b110291;\n" + |
5480 |
"package b110291;\n" + |
| 5480 |
"public class Test110291XX {\n" + |
5481 |
"public class Test110291XX {\n" + |
| 5481 |
" class Test110291YY {}" + |
5482 |
" class Test110291YY {}" + |
| 5482 |
"}\n" |
5483 |
"}\n" |
| 5483 |
); |
5484 |
); |
|
Lines 5494-5517
Link Here
|
| 5494 |
public void testBug110336a() throws CoreException { |
5495 |
public void testBug110336a() throws CoreException { |
| 5495 |
workingCopies = new ICompilationUnit[1]; |
5496 |
workingCopies = new ICompilationUnit[1]; |
| 5496 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b110336/Test.java", |
5497 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b110336/Test.java", |
| 5497 |
"package b110336;\n" + |
5498 |
"package b110336;\n" + |
| 5498 |
"public class Test {\n" + |
5499 |
"public class Test {\n" + |
| 5499 |
" <TP extends Test> void method(Class<Test> clazz) {\n" + |
5500 |
" <TP extends Test> void method(Class<Test> clazz) {\n" + |
| 5500 |
" Test localVar1 = new Test();\n" + |
5501 |
" Test localVar1 = new Test();\n" + |
| 5501 |
" Class<Test> localVar2 = new Class<Test>();\n" + |
5502 |
" Class<Test> localVar2 = new Class<Test>();\n" + |
| 5502 |
" localVar1.method(localVar2);\n" + |
5503 |
" localVar1.method(localVar2);\n" + |
| 5503 |
" }\n" + |
5504 |
" }\n" + |
| 5504 |
"}\n" |
5505 |
"}\n" |
| 5505 |
); |
5506 |
); |
| 5506 |
IType type = this.workingCopies[0].getType("Test"); |
5507 |
IType type = this.workingCopies[0].getType("Test"); |
| 5507 |
TypeReferencesCollector collector = new TypeReferencesCollector(); |
5508 |
TypeReferencesCollector collector = new TypeReferencesCollector(); |
| 5508 |
search(type, REFERENCES, EXACT_RULE, getJavaSearchScopeBugs(), collector); |
5509 |
search(type, REFERENCES, EXACT_RULE, getJavaSearchScopeBugs(), collector); |
| 5509 |
assertSearchResults( |
5510 |
assertSearchResults( |
| 5510 |
"src/b110336/Test.java void b110336.Test.method(Class<Test>).TP [Test]\n" + |
5511 |
"src/b110336/Test.java void b110336.Test.method(Class<Test>).TP [Test]\n" + |
| 5511 |
"src/b110336/Test.java void b110336.Test.method(Class<Test>).clazz [Test]\n" + |
5512 |
"src/b110336/Test.java void b110336.Test.method(Class<Test>).clazz [Test]\n" + |
| 5512 |
"src/b110336/Test.java void b110336.Test.method(Class<Test>).localVar1 [Test]\n" + |
5513 |
"src/b110336/Test.java void b110336.Test.method(Class<Test>).localVar1 [Test]\n" + |
| 5513 |
"src/b110336/Test.java void b110336.Test.method(Class<Test>).localVar1 [Test]\n" + |
5514 |
"src/b110336/Test.java void b110336.Test.method(Class<Test>).localVar1 [Test]\n" + |
| 5514 |
"src/b110336/Test.java void b110336.Test.method(Class<Test>).localVar2 [Test]\n" + |
5515 |
"src/b110336/Test.java void b110336.Test.method(Class<Test>).localVar2 [Test]\n" + |
| 5515 |
"src/b110336/Test.java void b110336.Test.method(Class<Test>).localVar2 [Test]", |
5516 |
"src/b110336/Test.java void b110336.Test.method(Class<Test>).localVar2 [Test]", |
| 5516 |
collector |
5517 |
collector |
| 5517 |
); |
5518 |
); |
|
Lines 5519-5546
Link Here
|
| 5519 |
public void testBug110336b() throws CoreException { |
5520 |
public void testBug110336b() throws CoreException { |
| 5520 |
workingCopies = new ICompilationUnit[1]; |
5521 |
workingCopies = new ICompilationUnit[1]; |
| 5521 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b110336/Test.java", |
5522 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b110336/Test.java", |
| 5522 |
"package b110336;\n" + |
5523 |
"package b110336;\n" + |
| 5523 |
"public class Test {\n" + |
5524 |
"public class Test {\n" + |
| 5524 |
" void method1(Test methodParam) {\n" + |
5525 |
" void method1(Test methodParam) {\n" + |
| 5525 |
" Test localVar1 = new Test(){\n" + |
5526 |
" Test localVar1 = new Test(){\n" + |
| 5526 |
" Class c = Test.class;\n" + |
5527 |
" Class c = Test.class;\n" + |
| 5527 |
" <TP extends Test> void foo(){\n" + |
5528 |
" <TP extends Test> void foo(){\n" + |
| 5528 |
" Test o = (Test) null;\n" + |
5529 |
" Test o = (Test) null;\n" + |
| 5529 |
" }\n" + |
5530 |
" }\n" + |
| 5530 |
" };\n" + |
5531 |
" };\n" + |
| 5531 |
" } \n" + |
5532 |
" } \n" + |
| 5532 |
"}\n" |
5533 |
"}\n" |
| 5533 |
); |
5534 |
); |
| 5534 |
IType type = this.workingCopies[0].getType("Test"); |
5535 |
IType type = this.workingCopies[0].getType("Test"); |
| 5535 |
TypeReferencesCollector collector = new TypeReferencesCollector(); |
5536 |
TypeReferencesCollector collector = new TypeReferencesCollector(); |
| 5536 |
search(type, REFERENCES, EXACT_RULE, getJavaSearchScopeBugs(), collector); |
5537 |
search(type, REFERENCES, EXACT_RULE, getJavaSearchScopeBugs(), collector); |
| 5537 |
assertSearchResults( |
5538 |
assertSearchResults( |
| 5538 |
"src/b110336/Test.java void b110336.Test.method1(Test):<anonymous>#1 [Test]\n" + |
5539 |
"src/b110336/Test.java void b110336.Test.method1(Test):<anonymous>#1 [Test]\n" + |
| 5539 |
"src/b110336/Test.java void b110336.Test.method1(Test):<anonymous>#1.c [Test]\n" + |
5540 |
"src/b110336/Test.java void b110336.Test.method1(Test):<anonymous>#1.c [Test]\n" + |
| 5540 |
"src/b110336/Test.java void void b110336.Test.method1(Test):<anonymous>#1.foo().TP [Test]\n" + |
5541 |
"src/b110336/Test.java void void b110336.Test.method1(Test):<anonymous>#1.foo().TP [Test]\n" + |
| 5541 |
"src/b110336/Test.java void void b110336.Test.method1(Test):<anonymous>#1.foo().o [Test]\n" + |
5542 |
"src/b110336/Test.java void void b110336.Test.method1(Test):<anonymous>#1.foo().o [Test]\n" + |
| 5542 |
"src/b110336/Test.java void void b110336.Test.method1(Test):<anonymous>#1.foo().o [Test]\n" + |
5543 |
"src/b110336/Test.java void void b110336.Test.method1(Test):<anonymous>#1.foo().o [Test]\n" + |
| 5543 |
"src/b110336/Test.java void b110336.Test.method1(Test).methodParam [Test]\n" + |
5544 |
"src/b110336/Test.java void b110336.Test.method1(Test).methodParam [Test]\n" + |
| 5544 |
"src/b110336/Test.java void b110336.Test.method1(Test).localVar1 [Test]", |
5545 |
"src/b110336/Test.java void b110336.Test.method1(Test).localVar1 [Test]", |
| 5545 |
collector |
5546 |
collector |
| 5546 |
); |
5547 |
); |
|
Lines 5548-5565
Link Here
|
| 5548 |
public void testBug110336c() throws CoreException { |
5549 |
public void testBug110336c() throws CoreException { |
| 5549 |
workingCopies = new ICompilationUnit[1]; |
5550 |
workingCopies = new ICompilationUnit[1]; |
| 5550 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b110336/Test.java", |
5551 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b110336/Test.java", |
| 5551 |
"package b110336;\n" + |
5552 |
"package b110336;\n" + |
| 5552 |
"public class Test<TP extends X> {\n" + |
5553 |
"public class Test<TP extends X> {\n" + |
| 5553 |
" X x;\n" + |
5554 |
" X x;\n" + |
| 5554 |
"\n" + |
5555 |
"\n" + |
| 5555 |
"}\n" + |
5556 |
"}\n" + |
| 5556 |
"class X {}\n" |
5557 |
"class X {}\n" |
| 5557 |
); |
5558 |
); |
| 5558 |
IType type = this.workingCopies[0].getType("X"); |
5559 |
IType type = this.workingCopies[0].getType("X"); |
| 5559 |
TypeReferencesCollector collector = new TypeReferencesCollector(); |
5560 |
TypeReferencesCollector collector = new TypeReferencesCollector(); |
| 5560 |
search(type, REFERENCES, EXACT_RULE, getJavaSearchScopeBugs(), collector); |
5561 |
search(type, REFERENCES, EXACT_RULE, getJavaSearchScopeBugs(), collector); |
| 5561 |
assertSearchResults( |
5562 |
assertSearchResults( |
| 5562 |
"src/b110336/Test.java b110336.Test.TP [X]\n" + |
5563 |
"src/b110336/Test.java b110336.Test.TP [X]\n" + |
| 5563 |
"src/b110336/Test.java b110336.Test.x [X]", |
5564 |
"src/b110336/Test.java b110336.Test.x [X]", |
| 5564 |
collector |
5565 |
collector |
| 5565 |
); |
5566 |
); |
|
Lines 5567-5588
Link Here
|
| 5567 |
public void testBug110336d() throws CoreException { |
5568 |
public void testBug110336d() throws CoreException { |
| 5568 |
workingCopies = new ICompilationUnit[1]; |
5569 |
workingCopies = new ICompilationUnit[1]; |
| 5569 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b110336/Test.java", |
5570 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b110336/Test.java", |
| 5570 |
"package b110336;\n" + |
5571 |
"package b110336;\n" + |
| 5571 |
"public class Test {\n" + |
5572 |
"public class Test {\n" + |
| 5572 |
" Test a1Test = null, b1Test = new Test(), c1Test;\n" + |
5573 |
" Test a1Test = null, b1Test = new Test(), c1Test;\n" + |
| 5573 |
" Test a2Test = new Test(), b2Test, c2Test = null;\n" + |
5574 |
" Test a2Test = new Test(), b2Test, c2Test = null;\n" + |
| 5574 |
" Test a3Test, b3Test = null, c3Test = new Test();\n" + |
5575 |
" Test a3Test, b3Test = null, c3Test = new Test();\n" + |
| 5575 |
"}\n" |
5576 |
"}\n" |
| 5576 |
); |
5577 |
); |
| 5577 |
IType type = this.workingCopies[0].getType("Test"); |
5578 |
IType type = this.workingCopies[0].getType("Test"); |
| 5578 |
TypeReferencesCollector collector = new TypeReferencesCollector(); |
5579 |
TypeReferencesCollector collector = new TypeReferencesCollector(); |
| 5579 |
search(type, REFERENCES, EXACT_RULE, getJavaSearchScopeBugs(), collector); |
5580 |
search(type, REFERENCES, EXACT_RULE, getJavaSearchScopeBugs(), collector); |
| 5580 |
assertSearchResults( |
5581 |
assertSearchResults( |
| 5581 |
"src/b110336/Test.java b110336.Test.a1Test [Test]+[b1Test,c1Test]\n" + |
5582 |
"src/b110336/Test.java b110336.Test.a1Test [Test]+[b1Test,c1Test]\n" + |
| 5582 |
"src/b110336/Test.java b110336.Test.b1Test [Test]\n" + |
5583 |
"src/b110336/Test.java b110336.Test.b1Test [Test]\n" + |
| 5583 |
"src/b110336/Test.java b110336.Test.a2Test [Test]+[b2Test,c2Test]\n" + |
5584 |
"src/b110336/Test.java b110336.Test.a2Test [Test]+[b2Test,c2Test]\n" + |
| 5584 |
"src/b110336/Test.java b110336.Test.a2Test [Test]\n" + |
5585 |
"src/b110336/Test.java b110336.Test.a2Test [Test]\n" + |
| 5585 |
"src/b110336/Test.java b110336.Test.a3Test [Test]+[b3Test,c3Test]\n" + |
5586 |
"src/b110336/Test.java b110336.Test.a3Test [Test]+[b3Test,c3Test]\n" + |
| 5586 |
"src/b110336/Test.java b110336.Test.c3Test [Test]", |
5587 |
"src/b110336/Test.java b110336.Test.c3Test [Test]", |
| 5587 |
collector |
5588 |
collector |
| 5588 |
); |
5589 |
); |
|
Lines 5590-5613
Link Here
|
| 5590 |
public void testBug110336e() throws CoreException { |
5591 |
public void testBug110336e() throws CoreException { |
| 5591 |
workingCopies = new ICompilationUnit[1]; |
5592 |
workingCopies = new ICompilationUnit[1]; |
| 5592 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b110336/Test.java", |
5593 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b110336/Test.java", |
| 5593 |
"package b110336;\n" + |
5594 |
"package b110336;\n" + |
| 5594 |
"public class Test {\n" + |
5595 |
"public class Test {\n" + |
| 5595 |
" void foo() {\n" + |
5596 |
" void foo() {\n" + |
| 5596 |
" Test lv1 = null, lv2 = new Test(), lv3;\n" + |
5597 |
" Test lv1 = null, lv2 = new Test(), lv3;\n" + |
| 5597 |
" Test lv4 = new Test(), lv5, lv6 = null;\n" + |
5598 |
" Test lv4 = new Test(), lv5, lv6 = null;\n" + |
| 5598 |
" Test lv7, lv8 = null, lv9 = new Test();\n" + |
5599 |
" Test lv7, lv8 = null, lv9 = new Test();\n" + |
| 5599 |
" }\n" + |
5600 |
" }\n" + |
| 5600 |
"}\n" |
5601 |
"}\n" |
| 5601 |
); |
5602 |
); |
| 5602 |
IType type = this.workingCopies[0].getType("Test"); |
5603 |
IType type = this.workingCopies[0].getType("Test"); |
| 5603 |
TypeReferencesCollector collector = new TypeReferencesCollector(); |
5604 |
TypeReferencesCollector collector = new TypeReferencesCollector(); |
| 5604 |
search(type, REFERENCES, EXACT_RULE, getJavaSearchScopeBugs(), collector); |
5605 |
search(type, REFERENCES, EXACT_RULE, getJavaSearchScopeBugs(), collector); |
| 5605 |
assertSearchResults( |
5606 |
assertSearchResults( |
| 5606 |
"src/b110336/Test.java void b110336.Test.foo().lv1 [Test]+[lv2,lv3]\n" + |
5607 |
"src/b110336/Test.java void b110336.Test.foo().lv1 [Test]+[lv2,lv3]\n" + |
| 5607 |
"src/b110336/Test.java void b110336.Test.foo().lv2 [Test]\n" + |
5608 |
"src/b110336/Test.java void b110336.Test.foo().lv2 [Test]\n" + |
| 5608 |
"src/b110336/Test.java void b110336.Test.foo().lv4 [Test]+[lv5,lv6]\n" + |
5609 |
"src/b110336/Test.java void b110336.Test.foo().lv4 [Test]+[lv5,lv6]\n" + |
| 5609 |
"src/b110336/Test.java void b110336.Test.foo().lv4 [Test]\n" + |
5610 |
"src/b110336/Test.java void b110336.Test.foo().lv4 [Test]\n" + |
| 5610 |
"src/b110336/Test.java void b110336.Test.foo().lv7 [Test]+[lv8,lv9]\n" + |
5611 |
"src/b110336/Test.java void b110336.Test.foo().lv7 [Test]+[lv8,lv9]\n" + |
| 5611 |
"src/b110336/Test.java void b110336.Test.foo().lv9 [Test]", |
5612 |
"src/b110336/Test.java void b110336.Test.foo().lv9 [Test]", |
| 5612 |
collector |
5613 |
collector |
| 5613 |
); |
5614 |
); |
|
Lines 5615-5642
Link Here
|
| 5615 |
public void testBug110336f() throws CoreException { |
5616 |
public void testBug110336f() throws CoreException { |
| 5616 |
workingCopies = new ICompilationUnit[1]; |
5617 |
workingCopies = new ICompilationUnit[1]; |
| 5617 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b110336/Test.java", |
5618 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b110336/Test.java", |
| 5618 |
"package b110336;\n" + |
5619 |
"package b110336;\n" + |
| 5619 |
"public class Test extends Exception {\n" + |
5620 |
"public class Test extends Exception {\n" + |
| 5620 |
" void foo(Test test1) { // <- no local element\n" + |
5621 |
" void foo(Test test1) { // <- no local element\n" + |
| 5621 |
" Test test2; // <- local element\n" + |
5622 |
" Test test2; // <- local element\n" + |
| 5622 |
" try {\n" + |
5623 |
" try {\n" + |
| 5623 |
" throw new Test();\n" + |
5624 |
" throw new Test();\n" + |
| 5624 |
" }\n" + |
5625 |
" }\n" + |
| 5625 |
" catch (Test test4) { // <- no local element\n" + |
5626 |
" catch (Test test4) { // <- no local element\n" + |
| 5626 |
" }\n" + |
5627 |
" }\n" + |
| 5627 |
" for(Test test3;;) {} // <- local element\n" + |
5628 |
" for(Test test3;;) {} // <- local element\n" + |
| 5628 |
" }\n" + |
5629 |
" }\n" + |
| 5629 |
"\n" + |
5630 |
"\n" + |
| 5630 |
"}\n" |
5631 |
"}\n" |
| 5631 |
); |
5632 |
); |
| 5632 |
IType type = this.workingCopies[0].getType("Test"); |
5633 |
IType type = this.workingCopies[0].getType("Test"); |
| 5633 |
TypeReferencesCollector collector = new TypeReferencesCollector(); |
5634 |
TypeReferencesCollector collector = new TypeReferencesCollector(); |
| 5634 |
search(type, REFERENCES, EXACT_RULE, getJavaSearchScopeBugs(), collector); |
5635 |
search(type, REFERENCES, EXACT_RULE, getJavaSearchScopeBugs(), collector); |
| 5635 |
assertSearchResults( |
5636 |
assertSearchResults( |
| 5636 |
"src/b110336/Test.java void b110336.Test.foo(Test).test1 [Test]\n" + |
5637 |
"src/b110336/Test.java void b110336.Test.foo(Test).test1 [Test]\n" + |
| 5637 |
"src/b110336/Test.java void b110336.Test.foo(Test).test2 [Test]\n" + |
5638 |
"src/b110336/Test.java void b110336.Test.foo(Test).test2 [Test]\n" + |
| 5638 |
"src/b110336/Test.java void b110336.Test.foo(Test) [Test]\n" + |
5639 |
"src/b110336/Test.java void b110336.Test.foo(Test) [Test]\n" + |
| 5639 |
"src/b110336/Test.java void b110336.Test.foo(Test).test4 [Test]\n" + |
5640 |
"src/b110336/Test.java void b110336.Test.foo(Test).test4 [Test]\n" + |
| 5640 |
"src/b110336/Test.java void b110336.Test.foo(Test).test3 [Test]", |
5641 |
"src/b110336/Test.java void b110336.Test.foo(Test).test3 [Test]", |
| 5641 |
collector |
5642 |
collector |
| 5642 |
); |
5643 |
); |
|
Lines 5644-5667
Link Here
|
| 5644 |
public void testBug110336g() throws CoreException { |
5645 |
public void testBug110336g() throws CoreException { |
| 5645 |
workingCopies = new ICompilationUnit[1]; |
5646 |
workingCopies = new ICompilationUnit[1]; |
| 5646 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b110336/Test.java", |
5647 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b110336/Test.java", |
| 5647 |
"package b110336;\n" + |
5648 |
"package b110336;\n" + |
| 5648 |
"public class Test {\n" + |
5649 |
"public class Test {\n" + |
| 5649 |
" {\n" + |
5650 |
" {\n" + |
| 5650 |
" Test lv1 = null, lv2 = new Test(), lv3;\n" + |
5651 |
" Test lv1 = null, lv2 = new Test(), lv3;\n" + |
| 5651 |
" Test lv4 = new Test(), lv5, lv6 = null;\n" + |
5652 |
" Test lv4 = new Test(), lv5, lv6 = null;\n" + |
| 5652 |
" Test lv7, lv8 = null, lv9 = new Test();\n" + |
5653 |
" Test lv7, lv8 = null, lv9 = new Test();\n" + |
| 5653 |
" }\n" + |
5654 |
" }\n" + |
| 5654 |
"}\n" |
5655 |
"}\n" |
| 5655 |
); |
5656 |
); |
| 5656 |
IType type = this.workingCopies[0].getType("Test"); |
5657 |
IType type = this.workingCopies[0].getType("Test"); |
| 5657 |
TypeReferencesCollector collector = new TypeReferencesCollector(); |
5658 |
TypeReferencesCollector collector = new TypeReferencesCollector(); |
| 5658 |
search(type, REFERENCES, EXACT_RULE, getJavaSearchScopeBugs(), collector); |
5659 |
search(type, REFERENCES, EXACT_RULE, getJavaSearchScopeBugs(), collector); |
| 5659 |
assertSearchResults( |
5660 |
assertSearchResults( |
| 5660 |
"src/b110336/Test.java b110336.Test.{}.lv1 [Test]+[lv2,lv3]\n" + |
5661 |
"src/b110336/Test.java b110336.Test.{}.lv1 [Test]+[lv2,lv3]\n" + |
| 5661 |
"src/b110336/Test.java b110336.Test.{}.lv2 [Test]\n" + |
5662 |
"src/b110336/Test.java b110336.Test.{}.lv2 [Test]\n" + |
| 5662 |
"src/b110336/Test.java b110336.Test.{}.lv4 [Test]+[lv5,lv6]\n" + |
5663 |
"src/b110336/Test.java b110336.Test.{}.lv4 [Test]+[lv5,lv6]\n" + |
| 5663 |
"src/b110336/Test.java b110336.Test.{}.lv4 [Test]\n" + |
5664 |
"src/b110336/Test.java b110336.Test.{}.lv4 [Test]\n" + |
| 5664 |
"src/b110336/Test.java b110336.Test.{}.lv7 [Test]+[lv8,lv9]\n" + |
5665 |
"src/b110336/Test.java b110336.Test.{}.lv7 [Test]+[lv8,lv9]\n" + |
| 5665 |
"src/b110336/Test.java b110336.Test.{}.lv9 [Test]", |
5666 |
"src/b110336/Test.java b110336.Test.{}.lv9 [Test]", |
| 5666 |
collector |
5667 |
collector |
| 5667 |
); |
5668 |
); |
|
Lines 5669-5692
Link Here
|
| 5669 |
public void testBug110336h() throws CoreException { |
5670 |
public void testBug110336h() throws CoreException { |
| 5670 |
workingCopies = new ICompilationUnit[1]; |
5671 |
workingCopies = new ICompilationUnit[1]; |
| 5671 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b110336/Test.java", |
5672 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b110336/Test.java", |
| 5672 |
"package b110336;\n" + |
5673 |
"package b110336;\n" + |
| 5673 |
"public class Test {\n" + |
5674 |
"public class Test {\n" + |
| 5674 |
" static {\n" + |
5675 |
" static {\n" + |
| 5675 |
" Test lv1 = null, lv2 = new Test(), lv3;\n" + |
5676 |
" Test lv1 = null, lv2 = new Test(), lv3;\n" + |
| 5676 |
" Test lv4 = new Test(), lv5, lv6 = null;\n" + |
5677 |
" Test lv4 = new Test(), lv5, lv6 = null;\n" + |
| 5677 |
" Test lv7, lv8 = null, lv9 = new Test();\n" + |
5678 |
" Test lv7, lv8 = null, lv9 = new Test();\n" + |
| 5678 |
" }\n" + |
5679 |
" }\n" + |
| 5679 |
"}\n" |
5680 |
"}\n" |
| 5680 |
); |
5681 |
); |
| 5681 |
IType type = this.workingCopies[0].getType("Test"); |
5682 |
IType type = this.workingCopies[0].getType("Test"); |
| 5682 |
TypeReferencesCollector collector = new TypeReferencesCollector(); |
5683 |
TypeReferencesCollector collector = new TypeReferencesCollector(); |
| 5683 |
search(type, REFERENCES, EXACT_RULE, getJavaSearchScopeBugs(), collector); |
5684 |
search(type, REFERENCES, EXACT_RULE, getJavaSearchScopeBugs(), collector); |
| 5684 |
assertSearchResults( |
5685 |
assertSearchResults( |
| 5685 |
"src/b110336/Test.java b110336.Test.static {}.lv1 [Test]+[lv2,lv3]\n" + |
5686 |
"src/b110336/Test.java b110336.Test.static {}.lv1 [Test]+[lv2,lv3]\n" + |
| 5686 |
"src/b110336/Test.java b110336.Test.static {}.lv2 [Test]\n" + |
5687 |
"src/b110336/Test.java b110336.Test.static {}.lv2 [Test]\n" + |
| 5687 |
"src/b110336/Test.java b110336.Test.static {}.lv4 [Test]+[lv5,lv6]\n" + |
5688 |
"src/b110336/Test.java b110336.Test.static {}.lv4 [Test]+[lv5,lv6]\n" + |
| 5688 |
"src/b110336/Test.java b110336.Test.static {}.lv4 [Test]\n" + |
5689 |
"src/b110336/Test.java b110336.Test.static {}.lv4 [Test]\n" + |
| 5689 |
"src/b110336/Test.java b110336.Test.static {}.lv7 [Test]+[lv8,lv9]\n" + |
5690 |
"src/b110336/Test.java b110336.Test.static {}.lv7 [Test]+[lv8,lv9]\n" + |
| 5690 |
"src/b110336/Test.java b110336.Test.static {}.lv9 [Test]", |
5691 |
"src/b110336/Test.java b110336.Test.static {}.lv9 [Test]", |
| 5691 |
collector |
5692 |
collector |
| 5692 |
); |
5693 |
); |
|
Lines 5728-5745
Link Here
|
| 5728 |
); |
5729 |
); |
| 5729 |
assertSearchResults( |
5730 |
assertSearchResults( |
| 5730 |
"Unexpected all type names", |
5731 |
"Unexpected all type names", |
| 5731 |
"java.lang.CharSequence\n" + |
5732 |
"java.lang.CharSequence\n" + |
| 5732 |
"java.lang.Class\n" + |
5733 |
"java.lang.Class\n" + |
| 5733 |
"java.lang.CloneNotSupportedException\n" + |
5734 |
"java.lang.CloneNotSupportedException\n" + |
| 5734 |
"java.lang.Comparable\n" + |
5735 |
"java.lang.Comparable\n" + |
| 5735 |
"java.lang.Enum\n" + |
5736 |
"java.lang.Enum\n" + |
| 5736 |
"java.lang.Error\n" + |
5737 |
"java.lang.Error\n" + |
| 5737 |
"java.lang.Exception\n" + |
5738 |
"java.lang.Exception\n" + |
| 5738 |
"java.lang.IllegalMonitorStateException\n" + |
5739 |
"java.lang.IllegalMonitorStateException\n" + |
| 5739 |
"java.lang.InterruptedException\n" + |
5740 |
"java.lang.InterruptedException\n" + |
| 5740 |
"java.lang.Object\n" + |
5741 |
"java.lang.Object\n" + |
| 5741 |
"java.lang.RuntimeException\n" + |
5742 |
"java.lang.RuntimeException\n" + |
| 5742 |
"java.lang.String\n" + |
5743 |
"java.lang.String\n" + |
| 5743 |
"java.lang.Throwable", |
5744 |
"java.lang.Throwable", |
| 5744 |
requestor); |
5745 |
requestor); |
| 5745 |
} |
5746 |
} |
|
Lines 5751-5765
Link Here
|
| 5751 |
public void testBug114539() throws CoreException { |
5752 |
public void testBug114539() throws CoreException { |
| 5752 |
workingCopies = new ICompilationUnit[2]; |
5753 |
workingCopies = new ICompilationUnit[2]; |
| 5753 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b114539/Foo.java", |
5754 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b114539/Foo.java", |
| 5754 |
"package b114539;\n" + |
5755 |
"package b114539;\n" + |
| 5755 |
"public class Foo {\n" + |
5756 |
"public class Foo {\n" + |
| 5756 |
" int bar=Bar.FOO;\n" + |
5757 |
" int bar=Bar.FOO;\n" + |
| 5757 |
"}\n" |
5758 |
"}\n" |
| 5758 |
); |
5759 |
); |
| 5759 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b114539/Bar.java", |
5760 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b114539/Bar.java", |
| 5760 |
"package b114539;\n" + |
5761 |
"package b114539;\n" + |
| 5761 |
"public class Bar {\n" + |
5762 |
"public class Bar {\n" + |
| 5762 |
" private static final int FOO=0;\n" + |
5763 |
" private static final int FOO=0;\n" + |
| 5763 |
"}\n" |
5764 |
"}\n" |
| 5764 |
); |
5765 |
); |
| 5765 |
IField field = this.workingCopies[1].getType("Bar").getField("FOO"); |
5766 |
IField field = this.workingCopies[1].getType("Bar").getField("FOO"); |
|
Lines 5776-5794
Link Here
|
| 5776 |
public void testBug116459() throws CoreException { |
5777 |
public void testBug116459() throws CoreException { |
| 5777 |
workingCopies = new ICompilationUnit[1]; |
5778 |
workingCopies = new ICompilationUnit[1]; |
| 5778 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/p1/X.java", |
5779 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/p1/X.java", |
| 5779 |
"package p1;\n" + |
5780 |
"package p1;\n" + |
| 5780 |
"class X<T> {\n" + |
5781 |
"class X<T> {\n" + |
| 5781 |
" X<T> gen;\n" + |
5782 |
" X<T> gen;\n" + |
| 5782 |
" X<String> param;\n" + |
5783 |
" X<String> param;\n" + |
| 5783 |
" X raw;\n" + |
5784 |
" X raw;\n" + |
| 5784 |
"}" |
5785 |
"}" |
| 5785 |
); |
5786 |
); |
| 5786 |
IType type = workingCopies[0].getType("X"); |
5787 |
IType type = workingCopies[0].getType("X"); |
| 5787 |
this.resultCollector.showRule = true; |
5788 |
this.resultCollector.showRule = true; |
| 5788 |
search(type, REFERENCES, ERASURE_RULE); |
5789 |
search(type, REFERENCES, ERASURE_RULE); |
| 5789 |
assertSearchResults( |
5790 |
assertSearchResults( |
| 5790 |
"src/p1/X.java p1.X.gen [X] EXACT_MATCH\n" + |
5791 |
"src/p1/X.java p1.X.gen [X] EXACT_MATCH\n" + |
| 5791 |
"src/p1/X.java p1.X.param [X] ERASURE_MATCH\n" + |
5792 |
"src/p1/X.java p1.X.param [X] ERASURE_MATCH\n" + |
| 5792 |
"src/p1/X.java p1.X.raw [X] ERASURE_RAW_MATCH" |
5793 |
"src/p1/X.java p1.X.raw [X] ERASURE_RAW_MATCH" |
| 5793 |
); |
5794 |
); |
| 5794 |
} |
5795 |
} |
|
Lines 5800-5810
Link Here
|
| 5800 |
public void testBug119545() throws CoreException { |
5801 |
public void testBug119545() throws CoreException { |
| 5801 |
workingCopies = new ICompilationUnit[1]; |
5802 |
workingCopies = new ICompilationUnit[1]; |
| 5802 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b119545/Test.java", |
5803 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b119545/Test.java", |
| 5803 |
"package b119545;\n" + |
5804 |
"package b119545;\n" + |
| 5804 |
"class Test {\n" + |
5805 |
"class Test {\n" + |
| 5805 |
" void foo(Object o1, Object o2){\n" + |
5806 |
" void foo(Object o1, Object o2){\n" + |
| 5806 |
" if (o1.equals(o2)) {}\n" + |
5807 |
" if (o1.equals(o2)) {}\n" + |
| 5807 |
" }\n" + |
5808 |
" }\n" + |
| 5808 |
"}\n" |
5809 |
"}\n" |
| 5809 |
); |
5810 |
); |
| 5810 |
IType type = workingCopies[0].getType("Test"); |
5811 |
IType type = workingCopies[0].getType("Test"); |
|
Lines 5822-5839
Link Here
|
| 5822 |
public void testBug120816a() throws CoreException { |
5823 |
public void testBug120816a() throws CoreException { |
| 5823 |
workingCopies = new ICompilationUnit[2]; |
5824 |
workingCopies = new ICompilationUnit[2]; |
| 5824 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b120816/Test.java", |
5825 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b120816/Test.java", |
| 5825 |
"package b120816;\n" + |
5826 |
"package b120816;\n" + |
| 5826 |
"public class Test<E> {\n" + |
5827 |
"public class Test<E> {\n" + |
| 5827 |
" String foo(E e) { return \"\"; }\n" + |
5828 |
" String foo(E e) { return \"\"; }\n" + |
| 5828 |
"}\n" |
5829 |
"}\n" |
| 5829 |
); |
5830 |
); |
| 5830 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b120816/Sub.java", |
5831 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b120816/Sub.java", |
| 5831 |
"package b120816;\n" + |
5832 |
"package b120816;\n" + |
| 5832 |
"public class Sub extends Test<Exception> {\n" + |
5833 |
"public class Sub extends Test<Exception> {\n" + |
| 5833 |
" String foo(RuntimeException e) { return \"\"; }\n" + |
5834 |
" String foo(RuntimeException e) { return \"\"; }\n" + |
| 5834 |
" String foo(Exception e) {\n" + |
5835 |
" String foo(Exception e) {\n" + |
| 5835 |
" return super.foo(e);\n" + |
5836 |
" return super.foo(e);\n" + |
| 5836 |
" }\n" + |
5837 |
" }\n" + |
| 5837 |
"}\n" |
5838 |
"}\n" |
| 5838 |
); |
5839 |
); |
| 5839 |
search("* String (Exception)", METHOD, DECLARATIONS); |
5840 |
search("* String (Exception)", METHOD, DECLARATIONS); |
|
Lines 5844-5858
Link Here
|
| 5844 |
public void testBug120816b() throws CoreException { |
5845 |
public void testBug120816b() throws CoreException { |
| 5845 |
workingCopies = new ICompilationUnit[1]; |
5846 |
workingCopies = new ICompilationUnit[1]; |
| 5846 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b120816/Test.java", |
5847 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b120816/Test.java", |
| 5847 |
"package b120816;\n" + |
5848 |
"package b120816;\n" + |
| 5848 |
"public class Test<E> {\n" + |
5849 |
"public class Test<E> {\n" + |
| 5849 |
" String foo(E e) { return \"\"; }\n" + |
5850 |
" String foo(E e) { return \"\"; }\n" + |
| 5850 |
"}\n" + |
5851 |
"}\n" + |
| 5851 |
"class Sub extends Test<Exception> {\n" + |
5852 |
"class Sub extends Test<Exception> {\n" + |
| 5852 |
" String foo(RuntimeException e) { return \"\"; }\n" + |
5853 |
" String foo(RuntimeException e) { return \"\"; }\n" + |
| 5853 |
" String foo(Exception e) {\n" + |
5854 |
" String foo(Exception e) {\n" + |
| 5854 |
" return super.foo(e);\n" + |
5855 |
" return super.foo(e);\n" + |
| 5855 |
" }\n" + |
5856 |
" }\n" + |
| 5856 |
"}\n" |
5857 |
"}\n" |
| 5857 |
); |
5858 |
); |
| 5858 |
search("* String (Exception)", METHOD, DECLARATIONS); |
5859 |
search("* String (Exception)", METHOD, DECLARATIONS); |
|
Lines 5868-5882
Link Here
|
| 5868 |
private void setUpBug122442a() throws CoreException { |
5869 |
private void setUpBug122442a() throws CoreException { |
| 5869 |
workingCopies = new ICompilationUnit[3]; |
5870 |
workingCopies = new ICompilationUnit[3]; |
| 5870 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b122442/I.java", |
5871 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b122442/I.java", |
| 5871 |
"package b122442;\n" + |
5872 |
"package b122442;\n" + |
| 5872 |
"public interface I {}\n" |
5873 |
"public interface I {}\n" |
| 5873 |
); |
5874 |
); |
| 5874 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b122442/II.java", |
5875 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b122442/II.java", |
| 5875 |
"package b122442;\n" + |
5876 |
"package b122442;\n" + |
| 5876 |
"public interface II extends I {}\n" |
5877 |
"public interface II extends I {}\n" |
| 5877 |
); |
5878 |
); |
| 5878 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b122442/X.java", |
5879 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b122442/X.java", |
| 5879 |
"package b122442;\n" + |
5880 |
"package b122442;\n" + |
| 5880 |
"public class X implements I {}\n" |
5881 |
"public class X implements I {}\n" |
| 5881 |
); |
5882 |
); |
| 5882 |
} |
5883 |
} |
|
Lines 5884-5890
Link Here
|
| 5884 |
setUpBug122442a(); |
5885 |
setUpBug122442a(); |
| 5885 |
search("I", TYPE, IMPLEMENTORS); |
5886 |
search("I", TYPE, IMPLEMENTORS); |
| 5886 |
assertSearchResults( |
5887 |
assertSearchResults( |
| 5887 |
"src/b122442/II.java b122442.II [I] EXACT_MATCH\n" + |
5888 |
"src/b122442/II.java b122442.II [I] EXACT_MATCH\n" + |
| 5888 |
"src/b122442/X.java b122442.X [I] EXACT_MATCH" |
5889 |
"src/b122442/X.java b122442.X [I] EXACT_MATCH" |
| 5889 |
); |
5890 |
); |
| 5890 |
} |
5891 |
} |
|
Lines 5905-5918
Link Here
|
| 5905 |
private void setUpBug122442d() throws CoreException { |
5906 |
private void setUpBug122442d() throws CoreException { |
| 5906 |
workingCopies = new ICompilationUnit[1]; |
5907 |
workingCopies = new ICompilationUnit[1]; |
| 5907 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b122442/User.java", |
5908 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b122442/User.java", |
| 5908 |
"class Klass {}\n" + |
5909 |
"class Klass {}\n" + |
| 5909 |
"interface Interface {}\n" + |
5910 |
"interface Interface {}\n" + |
| 5910 |
"class User {\n" + |
5911 |
"class User {\n" + |
| 5911 |
" void m() {\n" + |
5912 |
" void m() {\n" + |
| 5912 |
" new Klass() {};\n" + |
5913 |
" new Klass() {};\n" + |
| 5913 |
" new Interface() {};\n" + |
5914 |
" new Interface() {};\n" + |
| 5914 |
" }\n" + |
5915 |
" }\n" + |
| 5915 |
"}\n" + |
5916 |
"}\n" + |
| 5916 |
"class Sub extends Klass {}" |
5917 |
"class Sub extends Klass {}" |
| 5917 |
); |
5918 |
); |
| 5918 |
} |
5919 |
} |
|
Lines 5941-5947
Link Here
|
| 5941 |
setUpBug122442d(); |
5942 |
setUpBug122442d(); |
| 5942 |
search("Klass", TYPE, IMPLEMENTORS); |
5943 |
search("Klass", TYPE, IMPLEMENTORS); |
| 5943 |
assertSearchResults( |
5944 |
assertSearchResults( |
| 5944 |
"src/b122442/User.java void b122442.User.m():<anonymous>#1 [Klass] EXACT_MATCH\n" + |
5945 |
"src/b122442/User.java void b122442.User.m():<anonymous>#1 [Klass] EXACT_MATCH\n" + |
| 5945 |
"src/b122442/User.java b122442.Sub [Klass] EXACT_MATCH" |
5946 |
"src/b122442/User.java b122442.Sub [Klass] EXACT_MATCH" |
| 5946 |
); |
5947 |
); |
| 5947 |
} |
5948 |
} |
|
Lines 5956-5962
Link Here
|
| 5956 |
setUpBug122442d(); |
5957 |
setUpBug122442d(); |
| 5957 |
search("Klass", CLASS, IMPLEMENTORS); |
5958 |
search("Klass", CLASS, IMPLEMENTORS); |
| 5958 |
assertSearchResults( |
5959 |
assertSearchResults( |
| 5959 |
"src/b122442/User.java void b122442.User.m():<anonymous>#1 [Klass] EXACT_MATCH\n" + |
5960 |
"src/b122442/User.java void b122442.User.m():<anonymous>#1 [Klass] EXACT_MATCH\n" + |
| 5960 |
"src/b122442/User.java b122442.Sub [Klass] EXACT_MATCH" |
5961 |
"src/b122442/User.java b122442.Sub [Klass] EXACT_MATCH" |
| 5961 |
); |
5962 |
); |
| 5962 |
} |
5963 |
} |
|
Lines 5969-5979
Link Here
|
| 5969 |
IType type = getPackageFragment("JavaSearchBugs", "lib/b123679.jar", "pack").getClassFile("I123679.class").getType(); |
5970 |
IType type = getPackageFragment("JavaSearchBugs", "lib/b123679.jar", "pack").getClassFile("I123679.class").getType(); |
| 5970 |
search(type, REFERENCES); |
5971 |
search(type, REFERENCES); |
| 5971 |
assertSearchResults( |
5972 |
assertSearchResults( |
| 5972 |
"lib/b123679.jar test.<anonymous> EXACT_MATCH\n" + |
5973 |
"lib/b123679.jar test.<anonymous> EXACT_MATCH\n" + |
| 5973 |
"lib/b123679.jar test.Test$StaticClass$Member.parent EXACT_MATCH\n" + |
5974 |
"lib/b123679.jar test.Test$StaticClass$Member.parent EXACT_MATCH\n" + |
| 5974 |
"lib/b123679.jar test.<anonymous> EXACT_MATCH\n" + |
5975 |
"lib/b123679.jar test.<anonymous> EXACT_MATCH\n" + |
| 5975 |
"lib/b123679.jar test.Test$StaticClass$Member(test.Test.StaticClass, java.lang.Object) EXACT_MATCH\n" + |
5976 |
"lib/b123679.jar test.Test$StaticClass$Member(test.Test.StaticClass, java.lang.Object) EXACT_MATCH\n" + |
| 5976 |
"lib/b123679.jar test.Test$StaticClass$Member(test.Test.StaticClass, java.lang.Object) EXACT_MATCH\n" + |
5977 |
"lib/b123679.jar test.Test$StaticClass$Member(test.Test.StaticClass, java.lang.Object) EXACT_MATCH\n" + |
| 5977 |
"lib/b123679.jar pack.I123679 test.Test$StaticClass$Member.getParent() EXACT_MATCH" |
5978 |
"lib/b123679.jar pack.I123679 test.Test$StaticClass$Member.getParent() EXACT_MATCH" |
| 5978 |
); |
5979 |
); |
| 5979 |
} |
5980 |
} |
|
Lines 5982-6021
Link Here
|
| 5982 |
IType type = unit.getType("I123679"); |
5983 |
IType type = unit.getType("I123679"); |
| 5983 |
search(type, REFERENCES); |
5984 |
search(type, REFERENCES); |
| 5984 |
assertSearchResults( |
5985 |
assertSearchResults( |
| 5985 |
"src/b123679/test/Test.java [b123679.pack.I123679] EXACT_MATCH\n" + |
5986 |
"src/b123679/test/Test.java [b123679.pack.I123679] EXACT_MATCH\n" + |
| 5986 |
"src/b123679/test/Test.java b123679.test.Test$StaticClass$Member.parent [I123679] EXACT_MATCH\n" + |
5987 |
"src/b123679/test/Test.java b123679.test.Test$StaticClass$Member.parent [I123679] EXACT_MATCH\n" + |
| 5987 |
"src/b123679/test/Test.java b123679.test.Test$StaticClass$Member(Object):<anonymous>#1 [I123679] EXACT_MATCH\n" + |
5988 |
"src/b123679/test/Test.java b123679.test.Test$StaticClass$Member(Object):<anonymous>#1 [I123679] EXACT_MATCH\n" + |
| 5988 |
"src/b123679/test/Test.java b123679.test.Test$StaticClass$Member(Object) [I123679] EXACT_MATCH\n" + |
5989 |
"src/b123679/test/Test.java b123679.test.Test$StaticClass$Member(Object) [I123679] EXACT_MATCH\n" + |
| 5989 |
"src/b123679/test/Test.java b123679.test.Test$StaticClass$Member(Object) [I123679] EXACT_MATCH\n" + |
5990 |
"src/b123679/test/Test.java b123679.test.Test$StaticClass$Member(Object) [I123679] EXACT_MATCH\n" + |
| 5990 |
"src/b123679/test/Test.java I123679 b123679.test.Test$StaticClass$Member.getParent() [I123679] EXACT_MATCH" |
5991 |
"src/b123679/test/Test.java I123679 b123679.test.Test$StaticClass$Member.getParent() [I123679] EXACT_MATCH" |
| 5991 |
); |
5992 |
); |
| 5992 |
} |
5993 |
} |
| 5993 |
public void testBug123679_wc() throws CoreException { |
5994 |
public void testBug123679_wc() throws CoreException { |
| 5994 |
workingCopies = new ICompilationUnit[2]; |
5995 |
workingCopies = new ICompilationUnit[2]; |
| 5995 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/pack/I122679.java", |
5996 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/pack/I122679.java", |
| 5996 |
"package pack;\n" + |
5997 |
"package pack;\n" + |
| 5997 |
"public interface I123679 {\n" + |
5998 |
"public interface I123679 {\n" + |
| 5998 |
"}\n" |
5999 |
"}\n" |
| 5999 |
); |
6000 |
); |
| 6000 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/test/Test.java", |
6001 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/test/Test.java", |
| 6001 |
"package test;\n" + |
6002 |
"package test;\n" + |
| 6002 |
"import pack.I123679;\n" + |
6003 |
"import pack.I123679;\n" + |
| 6003 |
"public class Test {\n" + |
6004 |
"public class Test {\n" + |
| 6004 |
" static class StaticClass {\n" + |
6005 |
" static class StaticClass {\n" + |
| 6005 |
" class Member {\n" + |
6006 |
" class Member {\n" + |
| 6006 |
" private I123679 parent;\n" + |
6007 |
" private I123679 parent;\n" + |
| 6007 |
" Member(Object obj) {\n" + |
6008 |
" Member(Object obj) {\n" + |
| 6008 |
" if (obj instanceof I123679) {\n" + |
6009 |
" if (obj instanceof I123679) {\n" + |
| 6009 |
" parent = (I123679) obj;\n" + |
6010 |
" parent = (I123679) obj;\n" + |
| 6010 |
" } else {\n" + |
6011 |
" } else {\n" + |
| 6011 |
" parent = new I123679() {};\n" + |
6012 |
" parent = new I123679() {};\n" + |
| 6012 |
" }\n" + |
6013 |
" }\n" + |
| 6013 |
" }\n" + |
6014 |
" }\n" + |
| 6014 |
" I123679 getParent() {\n" + |
6015 |
" I123679 getParent() {\n" + |
| 6015 |
" return parent;\n" + |
6016 |
" return parent;\n" + |
| 6016 |
" }\n" + |
6017 |
" }\n" + |
| 6017 |
" }\n" + |
6018 |
" }\n" + |
| 6018 |
" }\n" + |
6019 |
" }\n" + |
| 6019 |
"}\n" |
6020 |
"}\n" |
| 6020 |
); |
6021 |
); |
| 6021 |
IType type = workingCopies[0].getType("I123679"); |
6022 |
IType type = workingCopies[0].getType("I123679"); |
|
Lines 6023-6032
Link Here
|
| 6023 |
assertSearchResults( |
6024 |
assertSearchResults( |
| 6024 |
// import reference is not found because package fragment and CU do not exist on disk |
6025 |
// import reference is not found because package fragment and CU do not exist on disk |
| 6025 |
// So, PackageReferenceLocator.isDeclaringPackageFragment(...) returns false and S.E. misses this match |
6026 |
// So, PackageReferenceLocator.isDeclaringPackageFragment(...) returns false and S.E. misses this match |
| 6026 |
"src/test/Test.java test.Test$StaticClass$Member.parent [I123679] EXACT_MATCH\n" + |
6027 |
"src/test/Test.java test.Test$StaticClass$Member.parent [I123679] EXACT_MATCH\n" + |
| 6027 |
"src/test/Test.java test.Test$StaticClass$Member(Object):<anonymous>#1 [I123679] EXACT_MATCH\n" + |
6028 |
"src/test/Test.java test.Test$StaticClass$Member(Object):<anonymous>#1 [I123679] EXACT_MATCH\n" + |
| 6028 |
"src/test/Test.java test.Test$StaticClass$Member(Object) [I123679] EXACT_MATCH\n" + |
6029 |
"src/test/Test.java test.Test$StaticClass$Member(Object) [I123679] EXACT_MATCH\n" + |
| 6029 |
"src/test/Test.java test.Test$StaticClass$Member(Object) [I123679] EXACT_MATCH\n" + |
6030 |
"src/test/Test.java test.Test$StaticClass$Member(Object) [I123679] EXACT_MATCH\n" + |
| 6030 |
"src/test/Test.java I123679 test.Test$StaticClass$Member.getParent() [I123679] EXACT_MATCH" |
6031 |
"src/test/Test.java I123679 test.Test$StaticClass$Member.getParent() [I123679] EXACT_MATCH" |
| 6031 |
); |
6032 |
); |
| 6032 |
} |
6033 |
} |
|
Lines 6039-6086
Link Here
|
| 6039 |
IType type = getClassFile("JavaSearchBugs", "lib/b124469.jar", "pack", "E.class").getType(); |
6040 |
IType type = getClassFile("JavaSearchBugs", "lib/b124469.jar", "pack", "E.class").getType(); |
| 6040 |
search(type, REFERENCES); |
6041 |
search(type, REFERENCES); |
| 6041 |
assertSearchResults( |
6042 |
assertSearchResults( |
| 6042 |
"lib/b124469.jar pack.E pack.A1.value() EXACT_MATCH\n" + |
6043 |
"lib/b124469.jar pack.E pack.A1.value() EXACT_MATCH\n" + |
| 6043 |
"lib/b124469.jar pack.E[] pack.A1.list() EXACT_MATCH\n" + |
6044 |
"lib/b124469.jar pack.E[] pack.A1.list() EXACT_MATCH\n" + |
| 6044 |
"lib/b124469.jar pack.E pack.A2.value() EXACT_MATCH\n" + |
6045 |
"lib/b124469.jar pack.E pack.A2.value() EXACT_MATCH\n" + |
| 6045 |
"lib/b124469.jar pack.E[] pack.A2.list() EXACT_MATCH\n" + |
6046 |
"lib/b124469.jar pack.E[] pack.A2.list() EXACT_MATCH\n" + |
| 6046 |
"lib/b124469.jar pack.E pack.A3.value() EXACT_MATCH\n" + |
6047 |
"lib/b124469.jar pack.E pack.A3.value() EXACT_MATCH\n" + |
| 6047 |
"lib/b124469.jar pack.E[] pack.A3.list() EXACT_MATCH\n" + |
6048 |
"lib/b124469.jar pack.E[] pack.A3.list() EXACT_MATCH\n" + |
| 6048 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
6049 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
| 6049 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
6050 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
| 6050 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
6051 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
| 6051 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
6052 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
| 6052 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
6053 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
| 6053 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
6054 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
| 6054 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
6055 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
| 6055 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
6056 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
| 6056 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
6057 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
| 6057 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
6058 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
| 6058 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
6059 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
| 6059 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
6060 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
| 6060 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
6061 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
| 6061 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
6062 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
| 6062 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
6063 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
| 6063 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
6064 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
| 6064 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
6065 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
| 6065 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
6066 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
| 6066 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
6067 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
| 6067 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
6068 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
| 6068 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
6069 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
| 6069 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
6070 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
| 6070 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
6071 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
| 6071 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
6072 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
| 6072 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
6073 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
| 6073 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + |
6074 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + |
| 6074 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + |
6075 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + |
| 6075 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + |
6076 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + |
| 6076 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + |
6077 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + |
| 6077 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + |
6078 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + |
| 6078 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + |
6079 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + |
| 6079 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + |
6080 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + |
| 6080 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + |
6081 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + |
| 6081 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + |
6082 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + |
| 6082 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + |
6083 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + |
| 6083 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + |
6084 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + |
| 6084 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH" |
6085 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH" |
| 6085 |
); |
6086 |
); |
| 6086 |
} |
6087 |
} |
|
Lines 6088-6097
Link Here
|
| 6088 |
IType type = getClassFile("JavaSearchBugs", "lib/b124469.jar", "pack", "A1.class").getType(); |
6089 |
IType type = getClassFile("JavaSearchBugs", "lib/b124469.jar", "pack", "A1.class").getType(); |
| 6089 |
search(type, REFERENCES); |
6090 |
search(type, REFERENCES); |
| 6090 |
assertSearchResults( |
6091 |
assertSearchResults( |
| 6091 |
"lib/b124469.jar pack.A1 pack.A2.annot() EXACT_MATCH\n" + |
6092 |
"lib/b124469.jar pack.A1 pack.A2.annot() EXACT_MATCH\n" + |
| 6092 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
6093 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
| 6093 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
6094 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
| 6094 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
6095 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
| 6095 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH" |
6096 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH" |
| 6096 |
); |
6097 |
); |
| 6097 |
} |
6098 |
} |
|
Lines 6099-6108
Link Here
|
| 6099 |
IType type = getClassFile("JavaSearchBugs", "lib/b124469.jar", "pack", "A2.class").getType(); |
6100 |
IType type = getClassFile("JavaSearchBugs", "lib/b124469.jar", "pack", "A2.class").getType(); |
| 6100 |
search(type, REFERENCES); |
6101 |
search(type, REFERENCES); |
| 6101 |
assertSearchResults( |
6102 |
assertSearchResults( |
| 6102 |
"lib/b124469.jar pack.A2 pack.A3.annot() EXACT_MATCH\n" + |
6103 |
"lib/b124469.jar pack.A2 pack.A3.annot() EXACT_MATCH\n" + |
| 6103 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
6104 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
| 6104 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
6105 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
| 6105 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
6106 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
| 6106 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH" |
6107 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH" |
| 6107 |
); |
6108 |
); |
| 6108 |
} |
6109 |
} |
|
Lines 6110-6118
Link Here
|
| 6110 |
IType type = getClassFile("JavaSearchBugs", "lib/b124469.jar", "pack", "A3.class").getType(); |
6111 |
IType type = getClassFile("JavaSearchBugs", "lib/b124469.jar", "pack", "A3.class").getType(); |
| 6111 |
search(type, REFERENCES); |
6112 |
search(type, REFERENCES); |
| 6112 |
assertSearchResults( |
6113 |
assertSearchResults( |
| 6113 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
6114 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
| 6114 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
6115 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
| 6115 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
6116 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
| 6116 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH" |
6117 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH" |
| 6117 |
); |
6118 |
); |
| 6118 |
} |
6119 |
} |
|
Lines 6121-6128
Link Here
|
| 6121 |
IField field = type.getField("CC"); |
6122 |
IField field = type.getField("CC"); |
| 6122 |
search(field, REFERENCES); |
6123 |
search(field, REFERENCES); |
| 6123 |
assertSearchResults( |
6124 |
assertSearchResults( |
| 6124 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
6125 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
| 6125 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
6126 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
| 6126 |
"lib/b124469.jar test.C EXACT_MATCH" |
6127 |
"lib/b124469.jar test.C EXACT_MATCH" |
| 6127 |
); |
6128 |
); |
| 6128 |
} |
6129 |
} |
|
Lines 6131-6138
Link Here
|
| 6131 |
IField field = type.getField("CF"); |
6132 |
IField field = type.getField("CF"); |
| 6132 |
search(field, REFERENCES); |
6133 |
search(field, REFERENCES); |
| 6133 |
assertSearchResults( |
6134 |
assertSearchResults( |
| 6134 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
6135 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
| 6135 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
6136 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
| 6136 |
"lib/b124469.jar test.F.field EXACT_MATCH" |
6137 |
"lib/b124469.jar test.F.field EXACT_MATCH" |
| 6137 |
); |
6138 |
); |
| 6138 |
} |
6139 |
} |
|
Lines 6141-6148
Link Here
|
| 6141 |
IField field = type.getField("CM"); |
6142 |
IField field = type.getField("CM"); |
| 6142 |
search(field, REFERENCES); |
6143 |
search(field, REFERENCES); |
| 6143 |
assertSearchResults( |
6144 |
assertSearchResults( |
| 6144 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + |
6145 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + |
| 6145 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + |
6146 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + |
| 6146 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH" |
6147 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH" |
| 6147 |
); |
6148 |
); |
| 6148 |
} |
6149 |
} |
|
Lines 6167-6177
Link Here
|
| 6167 |
IField field = type.getField("CAC"); |
6168 |
IField field = type.getField("CAC"); |
| 6168 |
search(field, REFERENCES); |
6169 |
search(field, REFERENCES); |
| 6169 |
assertSearchResults( |
6170 |
assertSearchResults( |
| 6170 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
6171 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
| 6171 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
6172 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
| 6172 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
6173 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
| 6173 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
6174 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
| 6174 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
6175 |
"lib/b124469.jar test.C EXACT_MATCH\n" + |
| 6175 |
"lib/b124469.jar test.C EXACT_MATCH" |
6176 |
"lib/b124469.jar test.C EXACT_MATCH" |
| 6176 |
); |
6177 |
); |
| 6177 |
} |
6178 |
} |
|
Lines 6180-6190
Link Here
|
| 6180 |
IField field = type.getField("CAF"); |
6181 |
IField field = type.getField("CAF"); |
| 6181 |
search(field, REFERENCES); |
6182 |
search(field, REFERENCES); |
| 6182 |
assertSearchResults( |
6183 |
assertSearchResults( |
| 6183 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
6184 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
| 6184 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
6185 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
| 6185 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
6186 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
| 6186 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
6187 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
| 6187 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
6188 |
"lib/b124469.jar test.F.field EXACT_MATCH\n" + |
| 6188 |
"lib/b124469.jar test.F.field EXACT_MATCH" |
6189 |
"lib/b124469.jar test.F.field EXACT_MATCH" |
| 6189 |
); |
6190 |
); |
| 6190 |
} |
6191 |
} |
|
Lines 6193-6203
Link Here
|
| 6193 |
IField field = type.getField("CAM"); |
6194 |
IField field = type.getField("CAM"); |
| 6194 |
search(field, REFERENCES); |
6195 |
search(field, REFERENCES); |
| 6195 |
assertSearchResults( |
6196 |
assertSearchResults( |
| 6196 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + |
6197 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + |
| 6197 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + |
6198 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + |
| 6198 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + |
6199 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + |
| 6199 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + |
6200 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + |
| 6200 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + |
6201 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH\n" + |
| 6201 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH" |
6202 |
"lib/b124469.jar void test.M.foo() EXACT_MATCH" |
| 6202 |
); |
6203 |
); |
| 6203 |
} |
6204 |
} |
|
Lines 6228-6236
Link Here
|
| 6228 |
"public class Foo<T> {}" |
6229 |
"public class Foo<T> {}" |
| 6229 |
); |
6230 |
); |
| 6230 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/Bar.java", |
6231 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/Bar.java", |
| 6231 |
"public class Bar {\n" + |
6232 |
"public class Bar {\n" + |
| 6232 |
" Foo<String> f = new Foo<String>();\n" + |
6233 |
" Foo<String> f = new Foo<String>();\n" + |
| 6233 |
" Foo f2 = new Foo();\n" + |
6234 |
" Foo f2 = new Foo();\n" + |
| 6234 |
"}" |
6235 |
"}" |
| 6235 |
); |
6236 |
); |
| 6236 |
IType type = workingCopies[0].getType("Foo"); |
6237 |
IType type = workingCopies[0].getType("Foo"); |
|
Lines 6243-6251
Link Here
|
| 6243 |
null |
6244 |
null |
| 6244 |
); |
6245 |
); |
| 6245 |
assertSearchResults( |
6246 |
assertSearchResults( |
| 6246 |
"src/Bar.java Bar.f [Foo] ERASURE_MATCH\n" + |
6247 |
"src/Bar.java Bar.f [Foo] ERASURE_MATCH\n" + |
| 6247 |
"src/Bar.java Bar.f [Foo] ERASURE_MATCH\n" + |
6248 |
"src/Bar.java Bar.f [Foo] ERASURE_MATCH\n" + |
| 6248 |
"src/Bar.java Bar.f2 [Foo] ERASURE_RAW_MATCH\n" + |
6249 |
"src/Bar.java Bar.f2 [Foo] ERASURE_RAW_MATCH\n" + |
| 6249 |
"src/Bar.java Bar.f2 [Foo] ERASURE_RAW_MATCH" |
6250 |
"src/Bar.java Bar.f2 [Foo] ERASURE_RAW_MATCH" |
| 6250 |
); |
6251 |
); |
| 6251 |
} |
6252 |
} |
|
Lines 6259-6267
Link Here
|
| 6259 |
IType type = classFile.getType(); |
6260 |
IType type = classFile.getType(); |
| 6260 |
search(type, IMPLEMENTORS); |
6261 |
search(type, IMPLEMENTORS); |
| 6261 |
assertSearchResults( |
6262 |
assertSearchResults( |
| 6262 |
"src/b124645/xy/X_124645.java b124645.xy.X_124645$Y [BE_124645] EXACT_MATCH\n" + |
6263 |
"src/b124645/xy/X_124645.java b124645.xy.X_124645$Y [BE_124645] EXACT_MATCH\n" + |
| 6263 |
"src/b124645/xy/Y_124645.java b124645.xy.Y_124645 [BE_124645] EXACT_MATCH\n" + |
6264 |
"src/b124645/xy/Y_124645.java b124645.xy.Y_124645 [BE_124645] EXACT_MATCH\n" + |
| 6264 |
"lib/b124645.jar xy.BX_124645$Y EXACT_MATCH\n" + |
6265 |
"lib/b124645.jar xy.BX_124645$Y EXACT_MATCH\n" + |
| 6265 |
"lib/b124645.jar xy.BY_124645 EXACT_MATCH" |
6266 |
"lib/b124645.jar xy.BY_124645 EXACT_MATCH" |
| 6266 |
); |
6267 |
); |
| 6267 |
} |
6268 |
} |
|
Lines 6270-6282
Link Here
|
| 6270 |
IType type = classFile.getType(); |
6271 |
IType type = classFile.getType(); |
| 6271 |
search(type, IMPLEMENTORS); |
6272 |
search(type, IMPLEMENTORS); |
| 6272 |
assertSearchResults( |
6273 |
assertSearchResults( |
| 6273 |
"src/b124645/test/A_124645.java b124645.test.A_124645 [BE_124645] EXACT_MATCH\n" + |
6274 |
"src/b124645/test/A_124645.java b124645.test.A_124645 [BE_124645] EXACT_MATCH\n" + |
| 6274 |
"src/b124645/test/A_124645.java void b124645.test.A_124645.m():<anonymous>#1 [BE_124645] EXACT_MATCH\n" + |
6275 |
"src/b124645/test/A_124645.java void b124645.test.A_124645.m():<anonymous>#1 [BE_124645] EXACT_MATCH\n" + |
| 6275 |
"src/b124645/test/X_124645.java b124645.test.X_124645 [BE_124645] EXACT_MATCH\n" + |
6276 |
"src/b124645/test/X_124645.java b124645.test.X_124645 [BE_124645] EXACT_MATCH\n" + |
| 6276 |
"src/b124645/test/X_124645.java void b124645.test.X_124645.m():Y_124645#1 [BE_124645] EXACT_MATCH\n" + |
6277 |
"src/b124645/test/X_124645.java void b124645.test.X_124645.m():Y_124645#1 [BE_124645] EXACT_MATCH\n" + |
| 6277 |
"lib/b124645.jar test.BA_124645 EXACT_MATCH\n" + |
6278 |
"lib/b124645.jar test.BA_124645 EXACT_MATCH\n" + |
| 6278 |
"lib/b124645.jar test.<anonymous> EXACT_MATCH\n" + |
6279 |
"lib/b124645.jar test.<anonymous> EXACT_MATCH\n" + |
| 6279 |
"lib/b124645.jar test.BX_124645 EXACT_MATCH\n" + |
6280 |
"lib/b124645.jar test.BX_124645 EXACT_MATCH\n" + |
| 6280 |
"lib/b124645.jar test.Y EXACT_MATCH" |
6281 |
"lib/b124645.jar test.Y EXACT_MATCH" |
| 6281 |
); |
6282 |
); |
| 6282 |
} |
6283 |
} |
|
Lines 6306-6317
Link Here
|
| 6306 |
ProblemRequestor problemRequestor = new ProblemRequestor(); |
6307 |
ProblemRequestor problemRequestor = new ProblemRequestor(); |
| 6307 |
workingCopies = new ICompilationUnit[1]; |
6308 |
workingCopies = new ICompilationUnit[1]; |
| 6308 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b125178/X.java", |
6309 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b125178/X.java", |
| 6309 |
"package b125178;\n" + |
6310 |
"package b125178;\n" + |
| 6310 |
"import pack.age.Test;\n" + |
6311 |
"import pack.age.Test;\n" + |
| 6311 |
"public class X {\n" + |
6312 |
"public class X {\n" + |
| 6312 |
" public static void main(String[] args) {\n" + |
6313 |
" public static void main(String[] args) {\n" + |
| 6313 |
" new Test().foo(100);\n" + |
6314 |
" new Test().foo(100);\n" + |
| 6314 |
" }\n" + |
6315 |
" }\n" + |
| 6315 |
"}\n", |
6316 |
"}\n", |
| 6316 |
newWorkingCopyOwner(problemRequestor) |
6317 |
newWorkingCopyOwner(problemRequestor) |
| 6317 |
); |
6318 |
); |
|
Lines 6320-6326
Link Here
|
| 6320 |
"----------\n", |
6321 |
"----------\n", |
| 6321 |
problemRequestor.problems.toString() |
6322 |
problemRequestor.problems.toString() |
| 6322 |
); |
6323 |
); |
| 6323 |
|
6324 |
|
| 6324 |
// Get anonymous from |
6325 |
// Get anonymous from |
| 6325 |
IPackageFragment jar = getPackageFragment("JavaSearchBugs", "lib/b125178.jar", "pack.age"); |
6326 |
IPackageFragment jar = getPackageFragment("JavaSearchBugs", "lib/b125178.jar", "pack.age"); |
| 6326 |
IJavaElement[] children = jar.getChildren(); |
6327 |
IJavaElement[] children = jar.getChildren(); |
|
Lines 6357-6365
Link Here
|
| 6357 |
class DeprecatedTypesRequestor extends SearchTests.SearchTypeNameRequestor { |
6358 |
class DeprecatedTypesRequestor extends SearchTests.SearchTypeNameRequestor { |
| 6358 |
public void acceptType(int modifiers, char[] packageName, char[] simpleTypeName, char[][] enclosingTypeNames, String path) { |
6359 |
public void acceptType(int modifiers, char[] packageName, char[] simpleTypeName, char[][] enclosingTypeNames, String path) { |
| 6359 |
if ((modifiers & ClassFileConstants.AccDeprecated) != 0) { |
6360 |
if ((modifiers & ClassFileConstants.AccDeprecated) != 0) { |
| 6360 |
char[] typeName = |
6361 |
char[] typeName = |
| 6361 |
CharOperation.concat( |
6362 |
CharOperation.concat( |
| 6362 |
CharOperation.concatWith(enclosingTypeNames, '$'), |
6363 |
CharOperation.concatWith(enclosingTypeNames, '$'), |
| 6363 |
simpleTypeName, |
6364 |
simpleTypeName, |
| 6364 |
'$'); |
6365 |
'$'); |
| 6365 |
results.addElement(new String(CharOperation.concat(packageName, typeName, '.'))); |
6366 |
results.addElement(new String(CharOperation.concat(packageName, typeName, '.'))); |
|
Lines 6423-6444
Link Here
|
| 6423 |
private void setUpBug130390() throws CoreException { |
6424 |
private void setUpBug130390() throws CoreException { |
| 6424 |
workingCopies = new ICompilationUnit[4]; |
6425 |
workingCopies = new ICompilationUnit[4]; |
| 6425 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b130390/TZ.java", |
6426 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b130390/TZ.java", |
| 6426 |
"package b130390;\n" + |
6427 |
"package b130390;\n" + |
| 6427 |
"public class TZ {\n" + |
6428 |
"public class TZ {\n" + |
| 6428 |
"}\n" |
6429 |
"}\n" |
| 6429 |
); |
6430 |
); |
| 6430 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b130390/TimeZone.java", |
6431 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b130390/TimeZone.java", |
| 6431 |
"package b130390;\n" + |
6432 |
"package b130390;\n" + |
| 6432 |
"public class TimeZone{\n" + |
6433 |
"public class TimeZone{\n" + |
| 6433 |
"}\n" |
6434 |
"}\n" |
| 6434 |
); |
6435 |
); |
| 6435 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b130390/Npe.java", |
6436 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b130390/Npe.java", |
| 6436 |
"package b130390;\n" + |
6437 |
"package b130390;\n" + |
| 6437 |
"public class Npe {\n" + |
6438 |
"public class Npe {\n" + |
| 6438 |
"}\n" |
6439 |
"}\n" |
| 6439 |
); |
6440 |
); |
| 6440 |
workingCopies[3] = getWorkingCopy("/JavaSearchBugs/src/b130390/NullPointerException.java", |
6441 |
workingCopies[3] = getWorkingCopy("/JavaSearchBugs/src/b130390/NullPointerException.java", |
| 6441 |
"package b130390;\n" + |
6442 |
"package b130390;\n" + |
| 6442 |
"public class NullPointerException {\n" + |
6443 |
"public class NullPointerException {\n" + |
| 6443 |
"}\n" |
6444 |
"}\n" |
| 6444 |
); |
6445 |
); |
|
Lines 6454-6460
Link Here
|
| 6454 |
setUpBug130390(); |
6455 |
setUpBug130390(); |
| 6455 |
search("NPE", TYPE, DECLARATIONS, SearchPattern.R_CAMELCASE_MATCH); |
6456 |
search("NPE", TYPE, DECLARATIONS, SearchPattern.R_CAMELCASE_MATCH); |
| 6456 |
assertSearchResults( |
6457 |
assertSearchResults( |
| 6457 |
"src/b130390/Npe.java b130390.Npe [Npe] EXACT_MATCH\n" + |
6458 |
"src/b130390/Npe.java b130390.Npe [Npe] EXACT_MATCH\n" + |
| 6458 |
"src/b130390/NullPointerException.java b130390.NullPointerException [NullPointerException] EXACT_MATCH" |
6459 |
"src/b130390/NullPointerException.java b130390.NullPointerException [NullPointerException] EXACT_MATCH" |
| 6459 |
); |
6460 |
); |
| 6460 |
} |
6461 |
} |
|
Lines 6490-6496
Link Here
|
| 6490 |
setUpBug130390(); |
6491 |
setUpBug130390(); |
| 6491 |
search("TZ", TYPE, DECLARATIONS, SearchPattern.R_CAMELCASE_MATCH | SearchPattern.R_CASE_SENSITIVE); |
6492 |
search("TZ", TYPE, DECLARATIONS, SearchPattern.R_CAMELCASE_MATCH | SearchPattern.R_CASE_SENSITIVE); |
| 6492 |
assertSearchResults( |
6493 |
assertSearchResults( |
| 6493 |
"src/b130390/TZ.java b130390.TZ [TZ] EXACT_MATCH\n" + |
6494 |
"src/b130390/TZ.java b130390.TZ [TZ] EXACT_MATCH\n" + |
| 6494 |
"src/b130390/TimeZone.java b130390.TimeZone [TimeZone] EXACT_MATCH" |
6495 |
"src/b130390/TimeZone.java b130390.TimeZone [TimeZone] EXACT_MATCH" |
| 6495 |
); |
6496 |
); |
| 6496 |
} |
6497 |
} |
|
Lines 6774-6792
Link Here
|
| 6774 |
public void testBug137984_wc() throws CoreException { |
6775 |
public void testBug137984_wc() throws CoreException { |
| 6775 |
workingCopies = new ICompilationUnit[1]; |
6776 |
workingCopies = new ICompilationUnit[1]; |
| 6776 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/CW.java", |
6777 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/CW.java", |
| 6777 |
"public class CW {\n" + |
6778 |
"public class CW {\n" + |
| 6778 |
" CW2 c2;\n" + |
6779 |
" CW2 c2;\n" + |
| 6779 |
" CW2.CW3 c3;\n" + |
6780 |
" CW2.CW3 c3;\n" + |
| 6780 |
" CW(int c) {\n" + |
6781 |
" CW(int c) {\n" + |
| 6781 |
" c2 = new CW2(c);\n" + |
6782 |
" c2 = new CW2(c);\n" + |
| 6782 |
" c3 = c2.new CW3(c);\n" + |
6783 |
" c3 = c2.new CW3(c);\n" + |
| 6783 |
" }\n" + |
6784 |
" }\n" + |
| 6784 |
" class CW2 {\n" + |
6785 |
" class CW2 {\n" + |
| 6785 |
" CW2(int x) {}\n" + |
6786 |
" CW2(int x) {}\n" + |
| 6786 |
" class CW3 {\n" + |
6787 |
" class CW3 {\n" + |
| 6787 |
" CW3(int x) {}\n" + |
6788 |
" CW3(int x) {}\n" + |
| 6788 |
" }\n" + |
6789 |
" }\n" + |
| 6789 |
" }\n" + |
6790 |
" }\n" + |
| 6790 |
"}\n" |
6791 |
"}\n" |
| 6791 |
); |
6792 |
); |
| 6792 |
IField field = workingCopies[0].getType("CW").getField("c3"); |
6793 |
IField field = workingCopies[0].getType("CW").getField("c3"); |
|
Lines 6811-6834
Link Here
|
| 6811 |
} |
6812 |
} |
| 6812 |
|
6813 |
|
| 6813 |
/** |
6814 |
/** |
|
|
6815 |
* @bug 142044: [search] "And" Pattern fails with NullPointerException |
| 6816 |
* @test Verify that no NPE occurs while using a {@link AndPattern} |
| 6817 |
* @see "https://bugs.eclipse.org/bugs/show_bug.cgi?id=142044" |
| 6818 |
*/ |
| 6819 |
/* Bug test case: |
| 6820 |
Following test does not produce any result due to the fact that each type reference |
| 6821 |
on type only match one of the pattern => it always fails while making a AND on both matches... |
| 6822 |
However, consider the bug fixed as we do not get the NPE... |
| 6823 |
*/ |
| 6824 |
public void testBug142044() throws CoreException { |
| 6825 |
IType type1 = getCompilationUnit("JavaSearchBugs", "src", "b142044", "I142044_A.java").getType("I142044_A"); |
| 6826 |
SearchPattern leftPattern = SearchPattern.createPattern(type1, IMPLEMENTORS); |
| 6827 |
IType type2 = getCompilationUnit("JavaSearchBugs", "src", "b142044", "I142044_B.java").getType("I142044_B"); |
| 6828 |
SearchPattern rightPattern = SearchPattern.createPattern(type2, IMPLEMENTORS); |
| 6829 |
search(SearchPattern.createAndPattern(leftPattern, rightPattern), getJavaSearchScopeBugs(), this.resultCollector); |
| 6830 |
assertSearchResults(""); |
| 6831 |
} |
| 6832 |
public void testBug142044_Identical() throws CoreException { |
| 6833 |
IType type1 = getCompilationUnit("JavaSearchBugs", "src", "b142044", "I142044_A.java").getType("I142044_A"); |
| 6834 |
SearchPattern leftPattern = SearchPattern.createPattern(type1, IMPLEMENTORS); |
| 6835 |
IType type2 = getCompilationUnit("JavaSearchBugs", "src", "b142044", "I142044_A.java").getType("I142044_A"); |
| 6836 |
SearchPattern rightPattern = SearchPattern.createPattern(type2, IMPLEMENTORS); |
| 6837 |
search(SearchPattern.createAndPattern(leftPattern, rightPattern), getJavaSearchScopeBugs(), this.resultCollector); |
| 6838 |
assertSearchResults( |
| 6839 |
"src/b142044/X142044.java b142044.X142044$XX1 [I142044_A] EXACT_MATCH\n" + |
| 6840 |
"src/b142044/X142044.java b142044.X142044$XX12 [I142044_A] EXACT_MATCH\n" + |
| 6841 |
"src/b142044/X142044_A.java b142044.X142044_A [I142044_A] EXACT_MATCH\n" + |
| 6842 |
"src/b142044/X142044_AB.java b142044.X142044_AB [I142044_A] EXACT_MATCH" |
| 6843 |
); |
| 6844 |
} |
| 6845 |
public void testBug142044_And01() throws CoreException { |
| 6846 |
SearchPattern leftPattern = createPattern("X*", CLASS, DECLARATIONS, true); |
| 6847 |
IType iType = getCompilationUnit("JavaSearchBugs", "src", "b142044", "I142044_A.java").getType("I142044_A"); |
| 6848 |
SearchPattern rightPattern = SearchPattern.createPattern(iType, IMPLEMENTORS); |
| 6849 |
search(SearchPattern.createAndPattern(leftPattern, rightPattern), getJavaSearchScopeBugs(), this.resultCollector); |
| 6850 |
assertSearchResults(""); // currently no results as only same kind of pattern are ANDoable... |
| 6851 |
} |
| 6852 |
public void testBug142044_And02() throws CoreException { |
| 6853 |
IType type1 = getCompilationUnit("JavaSearchBugs", "src", "b142044", "I142044_A.java").getType("I142044_A"); |
| 6854 |
SearchPattern leftPattern = SearchPattern.createPattern(type1, IMPLEMENTORS); |
| 6855 |
SearchPattern rightPattern = createPattern("I*", CLASS, IMPLEMENTORS, true); |
| 6856 |
search(SearchPattern.createAndPattern(leftPattern, rightPattern), getJavaSearchScopeBugs(), this.resultCollector); |
| 6857 |
assertSearchResults( |
| 6858 |
"src/b142044/X142044.java b142044.X142044$XX1 [I142044_A] EXACT_MATCH\n" + |
| 6859 |
"src/b142044/X142044.java b142044.X142044$XX12 [I142044_A] EXACT_MATCH\n" + |
| 6860 |
"src/b142044/X142044_A.java b142044.X142044_A [I142044_A] EXACT_MATCH\n" + |
| 6861 |
"src/b142044/X142044_AB.java b142044.X142044_AB [I142044_A] EXACT_MATCH" |
| 6862 |
); |
| 6863 |
} |
| 6864 |
public void testBug142044_Or() throws CoreException { |
| 6865 |
IType type1 = getCompilationUnit("JavaSearchBugs", "src", "b142044", "I142044_A.java").getType("I142044_A"); |
| 6866 |
SearchPattern leftPattern = SearchPattern.createPattern(type1, IMPLEMENTORS); |
| 6867 |
IType type2 = getCompilationUnit("JavaSearchBugs", "src", "b142044", "I142044_B.java").getType("I142044_B"); |
| 6868 |
SearchPattern rightPattern = SearchPattern.createPattern(type2, IMPLEMENTORS); |
| 6869 |
search(SearchPattern.createOrPattern(leftPattern, rightPattern), getJavaSearchScopeBugs(), this.resultCollector); |
| 6870 |
assertSearchResults( |
| 6871 |
"src/b142044/X142044.java b142044.X142044$XX1 [I142044_A] EXACT_MATCH\n" + |
| 6872 |
"src/b142044/X142044.java b142044.X142044$XX2 [I142044_B] EXACT_MATCH\n" + |
| 6873 |
"src/b142044/X142044.java b142044.X142044$XX12 [I142044_A] EXACT_MATCH\n" + |
| 6874 |
"src/b142044/X142044.java b142044.X142044$XX12 [I142044_B] EXACT_MATCH\n" + |
| 6875 |
"src/b142044/X142044_A.java b142044.X142044_A [I142044_A] EXACT_MATCH\n" + |
| 6876 |
"src/b142044/X142044_AB.java b142044.X142044_AB [I142044_A] EXACT_MATCH\n" + |
| 6877 |
"src/b142044/X142044_AB.java b142044.X142044_AB [I142044_B] EXACT_MATCH\n" + |
| 6878 |
"src/b142044/X142044_B.java b142044.X142044_B [I142044_B] EXACT_MATCH" |
| 6879 |
); |
| 6880 |
} |
| 6881 |
|
| 6882 |
/** |
| 6814 |
* Bug 144044: [search] NPE when trying to find references to field variable |
6883 |
* Bug 144044: [search] NPE when trying to find references to field variable |
| 6815 |
* @see "https://bugs.eclipse.org/bugs/show_bug.cgi?id=144044" |
6884 |
* @see "https://bugs.eclipse.org/bugs/show_bug.cgi?id=144044" |
| 6816 |
*/ |
6885 |
*/ |
| 6817 |
public void testBug144044() throws CoreException { |
6886 |
public void testBug144044() throws CoreException { |
| 6818 |
workingCopies = new ICompilationUnit[2]; |
6887 |
workingCopies = new ICompilationUnit[2]; |
| 6819 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/test1/p/Test.java", |
6888 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/test1/p/Test.java", |
| 6820 |
"package test1.p;\n" + |
6889 |
"package test1.p;\n" + |
| 6821 |
"import test1.q.X;\n" + |
6890 |
"import test1.q.X;\n" + |
| 6822 |
"public class Test {\n" + |
6891 |
"public class Test {\n" + |
| 6823 |
" String foo(X val) {\n" + |
6892 |
" String foo(X val) {\n" + |
| 6824 |
" return val.str;\n" + |
6893 |
" return val.str;\n" + |
| 6825 |
" }\n" + |
6894 |
" }\n" + |
| 6826 |
"}\n" |
6895 |
"}\n" |
| 6827 |
); |
6896 |
); |
| 6828 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/test1/q/X.java", |
6897 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/test1/q/X.java", |
| 6829 |
"package test1.q;\n" + |
6898 |
"package test1.q;\n" + |
| 6830 |
"public class X {\n" + |
6899 |
"public class X {\n" + |
| 6831 |
" String str;\n" + |
6900 |
" String str;\n" + |
| 6832 |
"}\n" |
6901 |
"}\n" |
| 6833 |
); |
6902 |
); |
| 6834 |
IType type = this.workingCopies[1].getType("X"); |
6903 |
IType type = this.workingCopies[1].getType("X"); |
|
Lines 6841-6877
Link Here
|
| 6841 |
public void testBug144044b() throws CoreException { |
6910 |
public void testBug144044b() throws CoreException { |
| 6842 |
workingCopies = new ICompilationUnit[4]; |
6911 |
workingCopies = new ICompilationUnit[4]; |
| 6843 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/test2/p/Test.java", |
6912 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/test2/p/Test.java", |
| 6844 |
"package test2.p;\n" + |
6913 |
"package test2.p;\n" + |
| 6845 |
"import test2.q.X;\n" + |
6914 |
"import test2.q.X;\n" + |
| 6846 |
"public class Test {\n" + |
6915 |
"public class Test {\n" + |
| 6847 |
" X foo() {\n" + |
6916 |
" X foo() {\n" + |
| 6848 |
" return X.y_field.z_field.x_field.y_field.z_field.x_field;\n" + |
6917 |
" return X.y_field.z_field.x_field.y_field.z_field.x_field;\n" + |
| 6849 |
" }\n" + |
6918 |
" }\n" + |
| 6850 |
"}\n" |
6919 |
"}\n" |
| 6851 |
); |
6920 |
); |
| 6852 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/test2/q/X.java", |
6921 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/test2/q/X.java", |
| 6853 |
"package test2.q;\n" + |
6922 |
"package test2.q;\n" + |
| 6854 |
"public class X {\n" + |
6923 |
"public class X {\n" + |
| 6855 |
" public static Y y_field;\n" + |
6924 |
" public static Y y_field;\n" + |
| 6856 |
"}\n" |
6925 |
"}\n" |
| 6857 |
); |
6926 |
); |
| 6858 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/test2/q/Y.java", |
6927 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/test2/q/Y.java", |
| 6859 |
"package test2.q;\n" + |
6928 |
"package test2.q;\n" + |
| 6860 |
"public class Y {\n" + |
6929 |
"public class Y {\n" + |
| 6861 |
" public static Z z_field;\n" + |
6930 |
" public static Z z_field;\n" + |
| 6862 |
"}\n" |
6931 |
"}\n" |
| 6863 |
); |
6932 |
); |
| 6864 |
workingCopies[3] = getWorkingCopy("/JavaSearchBugs/src/test2/q/Z.java", |
6933 |
workingCopies[3] = getWorkingCopy("/JavaSearchBugs/src/test2/q/Z.java", |
| 6865 |
"package test2.q;\n" + |
6934 |
"package test2.q;\n" + |
| 6866 |
"public class Z {\n" + |
6935 |
"public class Z {\n" + |
| 6867 |
" static X x_field;\n" + |
6936 |
" static X x_field;\n" + |
| 6868 |
"}\n" |
6937 |
"}\n" |
| 6869 |
); |
6938 |
); |
| 6870 |
IType type = this.workingCopies[3].getType("Z"); |
6939 |
IType type = this.workingCopies[3].getType("Z"); |
| 6871 |
IField field = type.getField("x_field"); |
6940 |
IField field = type.getField("x_field"); |
| 6872 |
search(field, REFERENCES); |
6941 |
search(field, REFERENCES); |
| 6873 |
assertSearchResults( |
6942 |
assertSearchResults( |
| 6874 |
"src/test2/p/Test.java X test2.p.Test.foo() [x_field] POTENTIAL_MATCH\n" + |
6943 |
"src/test2/p/Test.java X test2.p.Test.foo() [x_field] POTENTIAL_MATCH\n" + |
| 6875 |
"src/test2/p/Test.java X test2.p.Test.foo() [x_field] POTENTIAL_MATCH" |
6944 |
"src/test2/p/Test.java X test2.p.Test.foo() [x_field] POTENTIAL_MATCH" |
| 6876 |
); |
6945 |
); |
| 6877 |
} |
6946 |
} |
|
Lines 6887-6894
Link Here
|
| 6887 |
IMethod method = type.getMethods()[1]; |
6956 |
IMethod method = type.getMethods()[1]; |
| 6888 |
searchDeclarationsOfReferencedTypes(method, this.resultCollector); |
6957 |
searchDeclarationsOfReferencedTypes(method, this.resultCollector); |
| 6889 |
assertSearchResults( |
6958 |
assertSearchResults( |
| 6890 |
""+ getExternalJCLPathString("1.5") + " java.lang.Object EXACT_MATCH\n" + |
6959 |
""+ getExternalJCLPathString("1.5") + " java.lang.Object EXACT_MATCH\n" + |
| 6891 |
""+ getExternalJCLPathString("1.5") + " java.lang.String EXACT_MATCH\n" + |
6960 |
""+ getExternalJCLPathString("1.5") + " java.lang.String EXACT_MATCH\n" + |
| 6892 |
"lib/b148215.jar test.def.Reference EXACT_MATCH" |
6961 |
"lib/b148215.jar test.def.Reference EXACT_MATCH" |
| 6893 |
); |
6962 |
); |
| 6894 |
} |
6963 |
} |
|
Lines 6903-6909
Link Here
|
| 6903 |
IMethod method = type.getMethods()[1]; |
6972 |
IMethod method = type.getMethods()[1]; |
| 6904 |
searchDeclarationsOfSentMessages(method, this.resultCollector); |
6973 |
searchDeclarationsOfSentMessages(method, this.resultCollector); |
| 6905 |
assertSearchResults( |
6974 |
assertSearchResults( |
| 6906 |
"lib/b148215.jar void test.pack.Test.bar(java.lang.String) EXACT_MATCH\n" + |
6975 |
"lib/b148215.jar void test.pack.Test.bar(java.lang.String) EXACT_MATCH\n" + |
| 6907 |
"lib/b148215.jar void test.pack.Test.bar(test.def.Reference) EXACT_MATCH" |
6976 |
"lib/b148215.jar void test.pack.Test.bar(test.def.Reference) EXACT_MATCH" |
| 6908 |
); |
6977 |
); |
| 6909 |
} |
6978 |
} |
|
Lines 6918-6924
Link Here
|
| 6918 |
IMethod method = type.getMethods()[1]; |
6987 |
IMethod method = type.getMethods()[1]; |
| 6919 |
searchDeclarationsOfAccessedFields(method, this.resultCollector); |
6988 |
searchDeclarationsOfAccessedFields(method, this.resultCollector); |
| 6920 |
assertSearchResults( |
6989 |
assertSearchResults( |
| 6921 |
"lib/b148215.jar test.pack.Test.sField EXACT_MATCH\n" + |
6990 |
"lib/b148215.jar test.pack.Test.sField EXACT_MATCH\n" + |
| 6922 |
"lib/b148215.jar test.pack.Test.rField EXACT_MATCH" |
6991 |
"lib/b148215.jar test.pack.Test.rField EXACT_MATCH" |
| 6923 |
); |
6992 |
); |
| 6924 |
} |
6993 |
} |
|
Lines 6937-6955
Link Here
|
| 6937 |
resultCollector.showRule = true; |
7006 |
resultCollector.showRule = true; |
| 6938 |
workingCopies = new ICompilationUnit[4]; |
7007 |
workingCopies = new ICompilationUnit[4]; |
| 6939 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b148380/I.java", |
7008 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b148380/I.java", |
| 6940 |
"package b148380;\n" + |
7009 |
"package b148380;\n" + |
| 6941 |
"public interface I {}\n" |
7010 |
"public interface I {}\n" |
| 6942 |
); |
7011 |
); |
| 6943 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b148380/X.java", |
7012 |
workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b148380/X.java", |
| 6944 |
"package b148380;\n" + |
7013 |
"package b148380;\n" + |
| 6945 |
"public class X {}\n" |
7014 |
"public class X {}\n" |
| 6946 |
); |
7015 |
); |
| 6947 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b148380/Sub.java", |
7016 |
workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b148380/Sub.java", |
| 6948 |
"package b148380;\n" + |
7017 |
"package b148380;\n" + |
| 6949 |
"public class Sub extends X {}\n" |
7018 |
"public class Sub extends X {}\n" |
| 6950 |
); |
7019 |
); |
| 6951 |
workingCopies[3] = getWorkingCopy("/JavaSearchBugs/src/b148380/Y.java", |
7020 |
workingCopies[3] = getWorkingCopy("/JavaSearchBugs/src/b148380/Y.java", |
| 6952 |
"package b148380;\n" + |
7021 |
"package b148380;\n" + |
| 6953 |
"public class Y {}\n" |
7022 |
"public class Y {}\n" |
| 6954 |
); |
7023 |
); |
| 6955 |
IJavaSearchScope scope = getJavaSearchScopeBugs(); |
7024 |
IJavaSearchScope scope = getJavaSearchScopeBugs(); |
|
Lines 6964-6972
Link Here
|
| 6964 |
requestor1, |
7033 |
requestor1, |
| 6965 |
IJavaSearchConstants.WAIT_UNTIL_READY_TO_SEARCH, |
7034 |
IJavaSearchConstants.WAIT_UNTIL_READY_TO_SEARCH, |
| 6966 |
null); |
7035 |
null); |
| 6967 |
String expected = "class Sub [in [Working copy] Sub.java [in b148380 [in src [in JavaSearchBugs]]]]\n" + |
7036 |
String expected = "class Sub [in [Working copy] Sub.java [in b148380 [in src [in JavaSearchBugs]]]]\n" + |
| 6968 |
"class X [in [Working copy] X.java [in b148380 [in src [in JavaSearchBugs]]]]\n" + |
7037 |
"class X [in [Working copy] X.java [in b148380 [in src [in JavaSearchBugs]]]]\n" + |
| 6969 |
"class Y [in [Working copy] Y.java [in b148380 [in src [in JavaSearchBugs]]]]\n" + |
7038 |
"class Y [in [Working copy] Y.java [in b148380 [in src [in JavaSearchBugs]]]]\n" + |
| 6970 |
"interface I [in [Working copy] I.java [in b148380 [in src [in JavaSearchBugs]]]]"; |
7039 |
"interface I [in [Working copy] I.java [in b148380 [in src [in JavaSearchBugs]]]]"; |
| 6971 |
assertSearchResults(expected, requestor1); |
7040 |
assertSearchResults(expected, requestor1); |
| 6972 |
// Expected same result with the wc owner |
7041 |
// Expected same result with the wc owner |
|
Lines 7041-7055
Link Here
|
| 7041 |
); |
7110 |
); |
| 7042 |
assertSearchResults( |
7111 |
assertSearchResults( |
| 7043 |
"Unexpected all type names", |
7112 |
"Unexpected all type names", |
| 7044 |
"java.lang.Class\n" + |
7113 |
"java.lang.Class\n" + |
| 7045 |
"java.lang.CloneNotSupportedException\n" + |
7114 |
"java.lang.CloneNotSupportedException\n" + |
| 7046 |
"java.lang.Error\n" + |
7115 |
"java.lang.Error\n" + |
| 7047 |
"java.lang.Exception\n" + |
7116 |
"java.lang.Exception\n" + |
| 7048 |
"java.lang.IllegalMonitorStateException\n" + |
7117 |
"java.lang.IllegalMonitorStateException\n" + |
| 7049 |
"java.lang.InterruptedException\n" + |
7118 |
"java.lang.InterruptedException\n" + |
| 7050 |
"java.lang.Object\n" + |
7119 |
"java.lang.Object\n" + |
| 7051 |
"java.lang.RuntimeException\n" + |
7120 |
"java.lang.RuntimeException\n" + |
| 7052 |
"java.lang.String\n" + |
7121 |
"java.lang.String\n" + |
| 7053 |
"java.lang.Throwable", |
7122 |
"java.lang.Throwable", |
| 7054 |
requestor); |
7123 |
requestor); |
| 7055 |
} |
7124 |
} |
|
Lines 7062-7071
Link Here
|
| 7062 |
resultCollector.showRule = true; |
7131 |
resultCollector.showRule = true; |
| 7063 |
workingCopies = new ICompilationUnit[1]; |
7132 |
workingCopies = new ICompilationUnit[1]; |
| 7064 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b156177/Test.java", |
7133 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b156177/Test.java", |
| 7065 |
"package b156177;\n" + |
7134 |
"package b156177;\n" + |
| 7066 |
"interface B156177_I {}\n" + |
7135 |
"interface B156177_I {}\n" + |
| 7067 |
"enum B156177_E {}\n" + |
7136 |
"enum B156177_E {}\n" + |
| 7068 |
"@interface B156177_A {}\n" + |
7137 |
"@interface B156177_A {}\n" + |
| 7069 |
"public class B156177 {}\n" |
7138 |
"public class B156177 {}\n" |
| 7070 |
); |
7139 |
); |
| 7071 |
TypeNameRequestor requestor = new SearchTests.SearchTypeNameRequestor(); |
7140 |
TypeNameRequestor requestor = new SearchTests.SearchTypeNameRequestor(); |
|
Lines 7082-7088
Link Here
|
| 7082 |
); |
7151 |
); |
| 7083 |
assertSearchResults( |
7152 |
assertSearchResults( |
| 7084 |
"Unexpected all type names", |
7153 |
"Unexpected all type names", |
| 7085 |
"b156177.B156177_A\n" + |
7154 |
"b156177.B156177_A\n" + |
| 7086 |
"b156177.B156177_I", |
7155 |
"b156177.B156177_I", |
| 7087 |
requestor); |
7156 |
requestor); |
| 7088 |
} |
7157 |
} |
|
Lines 7095-7164
Link Here
|
| 7095 |
resultCollector.showRule = true; |
7164 |
resultCollector.showRule = true; |
| 7096 |
workingCopies = new ICompilationUnit[1]; |
7165 |
workingCopies = new ICompilationUnit[1]; |
| 7097 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/pack/Test.java", |
7166 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/pack/Test.java", |
| 7098 |
"package pack;\n" + |
7167 |
"package pack;\n" + |
| 7099 |
"public class Test {\n" + |
7168 |
"public class Test {\n" + |
| 7100 |
" void noMatch(Y y) {\n" + |
7169 |
" void noMatch(Y y) {\n" + |
| 7101 |
" y.toString();\n" + |
7170 |
" y.toString();\n" + |
| 7102 |
" toString();\n" + |
7171 |
" toString();\n" + |
| 7103 |
" }\n" + |
7172 |
" }\n" + |
| 7104 |
" void validMatches(X x) {\n" + |
7173 |
" void validMatches(X x) {\n" + |
| 7105 |
" x.toString();\n" + |
7174 |
" x.toString();\n" + |
| 7106 |
" }\n" + |
7175 |
" }\n" + |
| 7107 |
" void superInvocationMatches(Object o) {\n" + |
7176 |
" void superInvocationMatches(Object o) {\n" + |
| 7108 |
" o.toString();\n" + |
7177 |
" o.toString();\n" + |
| 7109 |
" }\n" + |
7178 |
" }\n" + |
| 7110 |
" void interfaceMatches(I i) {\n" + |
7179 |
" void interfaceMatches(I i) {\n" + |
| 7111 |
" i.toString();\n" + |
7180 |
" i.toString();\n" + |
| 7112 |
" }\n" + |
7181 |
" }\n" + |
| 7113 |
" void subtypeMatches(Sub s) {\n" + |
7182 |
" void subtypeMatches(Sub s) {\n" + |
| 7114 |
" s.toString();\n" + |
7183 |
" s.toString();\n" + |
| 7115 |
" }\n" + |
7184 |
" }\n" + |
| 7116 |
"}\n" + |
7185 |
"}\n" + |
| 7117 |
"interface I {}\n" + |
7186 |
"interface I {}\n" + |
| 7118 |
"class X {\n" + |
7187 |
"class X {\n" + |
| 7119 |
" public String toString() {\n" + |
7188 |
" public String toString() {\n" + |
| 7120 |
" return \"X\";\n" + |
7189 |
" return \"X\";\n" + |
| 7121 |
" }\n" + |
7190 |
" }\n" + |
| 7122 |
"}\n" + |
7191 |
"}\n" + |
| 7123 |
"class Sub extends X {}\n" + |
7192 |
"class Sub extends X {}\n" + |
| 7124 |
"class Y {\n" + |
7193 |
"class Y {\n" + |
| 7125 |
" public String toString() {\n" + |
7194 |
" public String toString() {\n" + |
| 7126 |
" return \"Y\";\n" + |
7195 |
" return \"Y\";\n" + |
| 7127 |
" }\n" + |
7196 |
" }\n" + |
| 7128 |
"}\n" |
7197 |
"}\n" |
| 7129 |
); |
7198 |
); |
| 7130 |
IMethod method = workingCopies[0].getType("X").getMethod("toString", new String[0]); |
7199 |
IMethod method = workingCopies[0].getType("X").getMethod("toString", new String[0]); |
| 7131 |
this.resultCollector.showFlavors = PatternLocator.SUPER_INVOCATION_FLAVOR; |
7200 |
this.resultCollector.showFlavors = PatternLocator.SUPER_INVOCATION_FLAVOR; |
| 7132 |
search(method, REFERENCES); |
7201 |
search(method, REFERENCES); |
| 7133 |
assertSearchResults( |
7202 |
assertSearchResults( |
| 7134 |
"src/pack/Test.java void pack.Test.validMatches(X) [toString()] EXACT_MATCH\n" + |
7203 |
"src/pack/Test.java void pack.Test.validMatches(X) [toString()] EXACT_MATCH\n" + |
| 7135 |
"src/pack/Test.java void pack.Test.superInvocationMatches(Object) [toString()] EXACT_MATCH SUPER INVOCATION\n" + |
7204 |
"src/pack/Test.java void pack.Test.superInvocationMatches(Object) [toString()] EXACT_MATCH SUPER INVOCATION\n" + |
| 7136 |
"src/pack/Test.java void pack.Test.subtypeMatches(Sub) [toString()] EXACT_MATCH" |
7205 |
"src/pack/Test.java void pack.Test.subtypeMatches(Sub) [toString()] EXACT_MATCH" |
| 7137 |
); |
7206 |
); |
| 7138 |
} |
7207 |
} |
| 7139 |
private void setUpBug156491() throws CoreException { |
7208 |
private void setUpBug156491() throws CoreException { |
| 7140 |
workingCopies = new ICompilationUnit[1]; |
7209 |
workingCopies = new ICompilationUnit[1]; |
| 7141 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/other/Test.java", |
7210 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/other/Test.java", |
| 7142 |
"package other;\n" + |
7211 |
"package other;\n" + |
| 7143 |
"public class Test {\n" + |
7212 |
"public class Test {\n" + |
| 7144 |
" void testInterface(I i) {\n" + |
7213 |
" void testInterface(I i) {\n" + |
| 7145 |
" i.test();\n" + |
7214 |
" i.test();\n" + |
| 7146 |
" }\n" + |
7215 |
" }\n" + |
| 7147 |
" void testSuperInvocation(L1 l) {\n" + |
7216 |
" void testSuperInvocation(L1 l) {\n" + |
| 7148 |
" l.test();\n" + |
7217 |
" l.test();\n" + |
| 7149 |
" }\n" + |
7218 |
" }\n" + |
| 7150 |
" void testInvocation(L2 l) {\n" + |
7219 |
" void testInvocation(L2 l) {\n" + |
| 7151 |
" l.test();\n" + |
7220 |
" l.test();\n" + |
| 7152 |
" }\n" + |
7221 |
" }\n" + |
| 7153 |
"}\n" + |
7222 |
"}\n" + |
| 7154 |
"class L1 implements I {\n" + |
7223 |
"class L1 implements I {\n" + |
| 7155 |
" public void test() {}\n" + |
7224 |
" public void test() {}\n" + |
| 7156 |
"}\n" + |
7225 |
"}\n" + |
| 7157 |
"interface I {\n" + |
7226 |
"interface I {\n" + |
| 7158 |
" void test();\n" + |
7227 |
" void test();\n" + |
| 7159 |
"}\n" + |
7228 |
"}\n" + |
| 7160 |
"class L2 extends L1 {\n" + |
7229 |
"class L2 extends L1 {\n" + |
| 7161 |
" public void test() {}\n" + |
7230 |
" public void test() {}\n" + |
| 7162 |
"}" |
7231 |
"}" |
| 7163 |
); |
7232 |
); |
| 7164 |
} |
7233 |
} |
|
Lines 7169-7176
Link Here
|
| 7169 |
this.resultCollector.showFlavors = PatternLocator.SUPER_INVOCATION_FLAVOR; |
7238 |
this.resultCollector.showFlavors = PatternLocator.SUPER_INVOCATION_FLAVOR; |
| 7170 |
search(method, REFERENCES); |
7239 |
search(method, REFERENCES); |
| 7171 |
assertSearchResults( |
7240 |
assertSearchResults( |
| 7172 |
"src/other/Test.java void other.Test.testInterface(I) [test()] EXACT_MATCH SUPER INVOCATION\n" + |
7241 |
"src/other/Test.java void other.Test.testInterface(I) [test()] EXACT_MATCH SUPER INVOCATION\n" + |
| 7173 |
"src/other/Test.java void other.Test.testSuperInvocation(L1) [test()] EXACT_MATCH SUPER INVOCATION\n" + |
7242 |
"src/other/Test.java void other.Test.testSuperInvocation(L1) [test()] EXACT_MATCH SUPER INVOCATION\n" + |
| 7174 |
"src/other/Test.java void other.Test.testInvocation(L2) [test()] EXACT_MATCH" |
7243 |
"src/other/Test.java void other.Test.testInvocation(L2) [test()] EXACT_MATCH" |
| 7175 |
); |
7244 |
); |
| 7176 |
} |
7245 |
} |
|
Lines 7181-7187
Link Here
|
| 7181 |
this.resultCollector.showFlavors = PatternLocator.SUPER_INVOCATION_FLAVOR; |
7250 |
this.resultCollector.showFlavors = PatternLocator.SUPER_INVOCATION_FLAVOR; |
| 7182 |
search(method, REFERENCES); |
7251 |
search(method, REFERENCES); |
| 7183 |
assertSearchResults( |
7252 |
assertSearchResults( |
| 7184 |
"src/other/Test.java void other.Test.testInterface(I) [test()] EXACT_MATCH SUPER INVOCATION\n" + |
7253 |
"src/other/Test.java void other.Test.testInterface(I) [test()] EXACT_MATCH SUPER INVOCATION\n" + |
| 7185 |
"src/other/Test.java void other.Test.testSuperInvocation(L1) [test()] EXACT_MATCH" |
7254 |
"src/other/Test.java void other.Test.testSuperInvocation(L1) [test()] EXACT_MATCH" |
| 7186 |
// since bug 160301 fix, subclass overridden method calls are not reported |
7255 |
// since bug 160301 fix, subclass overridden method calls are not reported |
| 7187 |
//"src/other/Test.java void other.Test.testInvocation(L2) [test()] EXACT_MATCH" |
7256 |
//"src/other/Test.java void other.Test.testInvocation(L2) [test()] EXACT_MATCH" |
|
Lines 7196-7219
Link Here
|
| 7196 |
resultCollector.showRule = true; |
7265 |
resultCollector.showRule = true; |
| 7197 |
workingCopies = new ICompilationUnit[1]; |
7266 |
workingCopies = new ICompilationUnit[1]; |
| 7198 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/Test.java", |
7267 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/Test.java", |
| 7199 |
"public class Test {\n" + |
7268 |
"public class Test {\n" + |
| 7200 |
" class A {\n" + |
7269 |
" class A {\n" + |
| 7201 |
" void foo() {}\n" + |
7270 |
" void foo() {}\n" + |
| 7202 |
" void bar() {\n" + |
7271 |
" void bar() {\n" + |
| 7203 |
" foo();\n" + |
7272 |
" foo();\n" + |
| 7204 |
" }\n" + |
7273 |
" }\n" + |
| 7205 |
" }\n" + |
7274 |
" }\n" + |
| 7206 |
" class B extends A {\n" + |
7275 |
" class B extends A {\n" + |
| 7207 |
" void foo() {}\n" + |
7276 |
" void foo() {}\n" + |
| 7208 |
" void bar() {\n" + |
7277 |
" void bar() {\n" + |
| 7209 |
" foo();\n" + |
7278 |
" foo();\n" + |
| 7210 |
" }\n" + |
7279 |
" }\n" + |
| 7211 |
" }\n" + |
7280 |
" }\n" + |
| 7212 |
" class C extends B {\n" + |
7281 |
" class C extends B {\n" + |
| 7213 |
" void method() {\n" + |
7282 |
" void method() {\n" + |
| 7214 |
" foo();\n" + |
7283 |
" foo();\n" + |
| 7215 |
" }\n" + |
7284 |
" }\n" + |
| 7216 |
" }\n" + |
7285 |
" }\n" + |
| 7217 |
"}" |
7286 |
"}" |
| 7218 |
); |
7287 |
); |
| 7219 |
IMethod method = workingCopies[0].getType("Test").getType("A").getMethod("foo", new String[0]); |
7288 |
IMethod method = workingCopies[0].getType("Test").getType("A").getMethod("foo", new String[0]); |
|
Lines 7226-7260
Link Here
|
| 7226 |
resultCollector.showRule = true; |
7295 |
resultCollector.showRule = true; |
| 7227 |
workingCopies = new ICompilationUnit[1]; |
7296 |
workingCopies = new ICompilationUnit[1]; |
| 7228 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/test/Test.java", |
7297 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/test/Test.java", |
| 7229 |
"package test;\n" + |
7298 |
"package test;\n" + |
| 7230 |
"public class Test {\n" + |
7299 |
"public class Test {\n" + |
| 7231 |
" class A {\n" + |
7300 |
" class A {\n" + |
| 7232 |
" void foo() {}\n" + |
7301 |
" void foo() {}\n" + |
| 7233 |
" }\n" + |
7302 |
" }\n" + |
| 7234 |
" class B extends A {}\n" + |
7303 |
" class B extends A {}\n" + |
| 7235 |
" class C extends B {\n" + |
7304 |
" class C extends B {\n" + |
| 7236 |
" void foo() {}\n" + |
7305 |
" void foo() {}\n" + |
| 7237 |
" }\n" + |
7306 |
" }\n" + |
| 7238 |
" class D extends C {}\n" + |
7307 |
" class D extends C {}\n" + |
| 7239 |
" void a() {\n" + |
7308 |
" void a() {\n" + |
| 7240 |
" new A().foo();\n" + |
7309 |
" new A().foo();\n" + |
| 7241 |
" }\n" + |
7310 |
" }\n" + |
| 7242 |
" void b() {\n" + |
7311 |
" void b() {\n" + |
| 7243 |
" new B().foo();\n" + |
7312 |
" new B().foo();\n" + |
| 7244 |
" }\n" + |
7313 |
" }\n" + |
| 7245 |
" void c() {\n" + |
7314 |
" void c() {\n" + |
| 7246 |
" new C().foo();\n" + |
7315 |
" new C().foo();\n" + |
| 7247 |
" }\n" + |
7316 |
" }\n" + |
| 7248 |
" void d() {\n" + |
7317 |
" void d() {\n" + |
| 7249 |
" new D().foo();\n" + |
7318 |
" new D().foo();\n" + |
| 7250 |
" }\n" + |
7319 |
" }\n" + |
| 7251 |
" \n" + |
7320 |
" \n" + |
| 7252 |
"}" |
7321 |
"}" |
| 7253 |
); |
7322 |
); |
| 7254 |
IMethod method = workingCopies[0].getType("Test").getType("A").getMethod("foo", new String[0]); |
7323 |
IMethod method = workingCopies[0].getType("Test").getType("A").getMethod("foo", new String[0]); |
| 7255 |
search(method, REFERENCES); |
7324 |
search(method, REFERENCES); |
| 7256 |
assertSearchResults( |
7325 |
assertSearchResults( |
| 7257 |
"src/test/Test.java void test.Test.a() [foo()] EXACT_MATCH\n" + |
7326 |
"src/test/Test.java void test.Test.a() [foo()] EXACT_MATCH\n" + |
| 7258 |
"src/test/Test.java void test.Test.b() [foo()] EXACT_MATCH" |
7327 |
"src/test/Test.java void test.Test.b() [foo()] EXACT_MATCH" |
| 7259 |
); |
7328 |
); |
| 7260 |
} |
7329 |
} |
|
Lines 7262-7314
Link Here
|
| 7262 |
resultCollector.showRule = true; |
7331 |
resultCollector.showRule = true; |
| 7263 |
workingCopies = new ICompilationUnit[1]; |
7332 |
workingCopies = new ICompilationUnit[1]; |
| 7264 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/Test.java", |
7333 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/Test.java", |
| 7265 |
"public class Test {\n" + |
7334 |
"public class Test {\n" + |
| 7266 |
" interface I {\n" + |
7335 |
" interface I {\n" + |
| 7267 |
" void foo();\n" + |
7336 |
" void foo();\n" + |
| 7268 |
" }\n" + |
7337 |
" }\n" + |
| 7269 |
" class A1 implements I {\n" + |
7338 |
" class A1 implements I {\n" + |
| 7270 |
" public void foo() {}\n" + |
7339 |
" public void foo() {}\n" + |
| 7271 |
" void a1() {\n" + |
7340 |
" void a1() {\n" + |
| 7272 |
" foo();\n" + |
7341 |
" foo();\n" + |
| 7273 |
" }\n" + |
7342 |
" }\n" + |
| 7274 |
" }\n" + |
7343 |
" }\n" + |
| 7275 |
" class B1 extends A1 {\n" + |
7344 |
" class B1 extends A1 {\n" + |
| 7276 |
" void b1() {\n" + |
7345 |
" void b1() {\n" + |
| 7277 |
" foo();\n" + |
7346 |
" foo();\n" + |
| 7278 |
" }\n" + |
7347 |
" }\n" + |
| 7279 |
" }\n" + |
7348 |
" }\n" + |
| 7280 |
" class C1 extends B1 {\n" + |
7349 |
" class C1 extends B1 {\n" + |
| 7281 |
" public void foo() {}\n" + |
7350 |
" public void foo() {}\n" + |
| 7282 |
" void c1() {\n" + |
7351 |
" void c1() {\n" + |
| 7283 |
" foo();\n" + |
7352 |
" foo();\n" + |
| 7284 |
" }\n" + |
7353 |
" }\n" + |
| 7285 |
" }\n" + |
7354 |
" }\n" + |
| 7286 |
" abstract class A2 implements I {\n" + |
7355 |
" abstract class A2 implements I {\n" + |
| 7287 |
" void a2() {\n" + |
7356 |
" void a2() {\n" + |
| 7288 |
" foo();\n" + |
7357 |
" foo();\n" + |
| 7289 |
" }\n" + |
7358 |
" }\n" + |
| 7290 |
" }\n" + |
7359 |
" }\n" + |
| 7291 |
" class B2 extends A2 {\n" + |
7360 |
" class B2 extends A2 {\n" + |
| 7292 |
" public void foo() {}\n" + |
7361 |
" public void foo() {}\n" + |
| 7293 |
" void b2() {\n" + |
7362 |
" void b2() {\n" + |
| 7294 |
" foo();\n" + |
7363 |
" foo();\n" + |
| 7295 |
" }\n" + |
7364 |
" }\n" + |
| 7296 |
" }\n" + |
7365 |
" }\n" + |
| 7297 |
" class A3 implements I {\n" + |
7366 |
" class A3 implements I {\n" + |
| 7298 |
" public void foo() {}\n" + |
7367 |
" public void foo() {}\n" + |
| 7299 |
" void a3() {\n" + |
7368 |
" void a3() {\n" + |
| 7300 |
" foo();\n" + |
7369 |
" foo();\n" + |
| 7301 |
" }\n" + |
7370 |
" }\n" + |
| 7302 |
" }\n" + |
7371 |
" }\n" + |
| 7303 |
"}" |
7372 |
"}" |
| 7304 |
); |
7373 |
); |
| 7305 |
IMethod method = workingCopies[0].getType("Test").getType("I").getMethod("foo", new String[0]); |
7374 |
IMethod method = workingCopies[0].getType("Test").getType("I").getMethod("foo", new String[0]); |
| 7306 |
search(method, REFERENCES); |
7375 |
search(method, REFERENCES); |
| 7307 |
assertSearchResults( |
7376 |
assertSearchResults( |
| 7308 |
"src/Test.java void Test$A1.a1() [foo()] EXACT_MATCH\n" + |
7377 |
"src/Test.java void Test$A1.a1() [foo()] EXACT_MATCH\n" + |
| 7309 |
"src/Test.java void Test$B1.b1() [foo()] EXACT_MATCH\n" + |
7378 |
"src/Test.java void Test$B1.b1() [foo()] EXACT_MATCH\n" + |
| 7310 |
"src/Test.java void Test$A2.a2() [foo()] EXACT_MATCH\n" + |
7379 |
"src/Test.java void Test$A2.a2() [foo()] EXACT_MATCH\n" + |
| 7311 |
"src/Test.java void Test$B2.b2() [foo()] EXACT_MATCH\n" + |
7380 |
"src/Test.java void Test$B2.b2() [foo()] EXACT_MATCH\n" + |
| 7312 |
"src/Test.java void Test$A3.a3() [foo()] EXACT_MATCH" |
7381 |
"src/Test.java void Test$A3.a3() [foo()] EXACT_MATCH" |
| 7313 |
); |
7382 |
); |
| 7314 |
} |
7383 |
} |
|
Lines 7316-7361
Link Here
|
| 7316 |
resultCollector.showRule = true; |
7385 |
resultCollector.showRule = true; |
| 7317 |
workingCopies = new ICompilationUnit[1]; |
7386 |
workingCopies = new ICompilationUnit[1]; |
| 7318 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/Test.java", |
7387 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/Test.java", |
| 7319 |
"public class Test {\n" + |
7388 |
"public class Test {\n" + |
| 7320 |
" abstract class Abstract {\n" + |
7389 |
" abstract class Abstract {\n" + |
| 7321 |
" abstract void foo();\n" + |
7390 |
" abstract void foo();\n" + |
| 7322 |
" }\n" + |
7391 |
" }\n" + |
| 7323 |
" class A1 extends Abstract {\n" + |
7392 |
" class A1 extends Abstract {\n" + |
| 7324 |
" public void foo() {}\n" + |
7393 |
" public void foo() {}\n" + |
| 7325 |
" void a1() {\n" + |
7394 |
" void a1() {\n" + |
| 7326 |
" foo(); // valid match as A1.foo() is the first override in sub-class\n" + |
7395 |
" foo(); // valid match as A1.foo() is the first override in sub-class\n" + |
| 7327 |
" }\n" + |
7396 |
" }\n" + |
| 7328 |
" }\n" + |
7397 |
" }\n" + |
| 7329 |
" class B1 extends A1 {\n" + |
7398 |
" class B1 extends A1 {\n" + |
| 7330 |
" void b1() {\n" + |
7399 |
" void b1() {\n" + |
| 7331 |
" foo(); // valid match as B1 does not override A.foo()\n" + |
7400 |
" foo(); // valid match as B1 does not override A.foo()\n" + |
| 7332 |
" }\n" + |
7401 |
" }\n" + |
| 7333 |
" }\n" + |
7402 |
" }\n" + |
| 7334 |
" class C1 extends B1 {\n" + |
7403 |
" class C1 extends B1 {\n" + |
| 7335 |
" public void foo() {}\n" + |
7404 |
" public void foo() {}\n" + |
| 7336 |
" void c1() {\n" + |
7405 |
" void c1() {\n" + |
| 7337 |
" foo(); // invalid match as C1 does override A.foo()\n" + |
7406 |
" foo(); // invalid match as C1 does override A.foo()\n" + |
| 7338 |
" }\n" + |
7407 |
" }\n" + |
| 7339 |
" }\n" + |
7408 |
" }\n" + |
| 7340 |
" abstract class A2 extends Abstract {\n" + |
7409 |
" abstract class A2 extends Abstract {\n" + |
| 7341 |
" void a2() {\n" + |
7410 |
" void a2() {\n" + |
| 7342 |
" foo(); // valid match as A2 does not override Abstract.foo()\n" + |
7411 |
" foo(); // valid match as A2 does not override Abstract.foo()\n" + |
| 7343 |
" }\n" + |
7412 |
" }\n" + |
| 7344 |
" }\n" + |
7413 |
" }\n" + |
| 7345 |
" class B2 extends A2 {\n" + |
7414 |
" class B2 extends A2 {\n" + |
| 7346 |
" public void foo() {}\n" + |
7415 |
" public void foo() {}\n" + |
| 7347 |
" void b2() {\n" + |
7416 |
" void b2() {\n" + |
| 7348 |
" foo(); // valid match as B2.foo() is the first override in sub-class\n" + |
7417 |
" foo(); // valid match as B2.foo() is the first override in sub-class\n" + |
| 7349 |
" }\n" + |
7418 |
" }\n" + |
| 7350 |
" }\n" + |
7419 |
" }\n" + |
| 7351 |
"}" |
7420 |
"}" |
| 7352 |
); |
7421 |
); |
| 7353 |
IMethod method = workingCopies[0].getType("Test").getType("Abstract").getMethod("foo", new String[0]); |
7422 |
IMethod method = workingCopies[0].getType("Test").getType("Abstract").getMethod("foo", new String[0]); |
| 7354 |
search(method, REFERENCES); |
7423 |
search(method, REFERENCES); |
| 7355 |
assertSearchResults( |
7424 |
assertSearchResults( |
| 7356 |
"src/Test.java void Test$A1.a1() [foo()] EXACT_MATCH\n" + |
7425 |
"src/Test.java void Test$A1.a1() [foo()] EXACT_MATCH\n" + |
| 7357 |
"src/Test.java void Test$B1.b1() [foo()] EXACT_MATCH\n" + |
7426 |
"src/Test.java void Test$B1.b1() [foo()] EXACT_MATCH\n" + |
| 7358 |
"src/Test.java void Test$A2.a2() [foo()] EXACT_MATCH\n" + |
7427 |
"src/Test.java void Test$A2.a2() [foo()] EXACT_MATCH\n" + |
| 7359 |
"src/Test.java void Test$B2.b2() [foo()] EXACT_MATCH" |
7428 |
"src/Test.java void Test$B2.b2() [foo()] EXACT_MATCH" |
| 7360 |
); |
7429 |
); |
| 7361 |
} |
7430 |
} |
|
Lines 7363-7396
Link Here
|
| 7363 |
resultCollector.showRule = true; |
7432 |
resultCollector.showRule = true; |
| 7364 |
workingCopies = new ICompilationUnit[1]; |
7433 |
workingCopies = new ICompilationUnit[1]; |
| 7365 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/Test.java", |
7434 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/Test.java", |
| 7366 |
"public class Test {\n" + |
7435 |
"public class Test {\n" + |
| 7367 |
" abstract class Abstract {\n" + |
7436 |
" abstract class Abstract {\n" + |
| 7368 |
" public abstract void foo();\n" + |
7437 |
" public abstract void foo();\n" + |
| 7369 |
" }\n" + |
7438 |
" }\n" + |
| 7370 |
" abstract class A extends Abstract {\n" + |
7439 |
" abstract class A extends Abstract {\n" + |
| 7371 |
" public abstract void foo();\n" + |
7440 |
" public abstract void foo();\n" + |
| 7372 |
" void a() {\n" + |
7441 |
" void a() {\n" + |
| 7373 |
" foo(); // valid match as A is abstract => does not override Abstract.foo()\n" + |
7442 |
" foo(); // valid match as A is abstract => does not override Abstract.foo()\n" + |
| 7374 |
" }\n" + |
7443 |
" }\n" + |
| 7375 |
" }\n" + |
7444 |
" }\n" + |
| 7376 |
" class B extends A {\n" + |
7445 |
" class B extends A {\n" + |
| 7377 |
" public void foo() {}\n" + |
7446 |
" public void foo() {}\n" + |
| 7378 |
" void b() {\n" + |
7447 |
" void b() {\n" + |
| 7379 |
" foo(); // valid match as B.foo() is the first override in sub-class\n" + |
7448 |
" foo(); // valid match as B.foo() is the first override in sub-class\n" + |
| 7380 |
" }\n" + |
7449 |
" }\n" + |
| 7381 |
" }\n" + |
7450 |
" }\n" + |
| 7382 |
" class C extends B {\n" + |
7451 |
" class C extends B {\n" + |
| 7383 |
" public void foo() {}\n" + |
7452 |
" public void foo() {}\n" + |
| 7384 |
" void c() {\n" + |
7453 |
" void c() {\n" + |
| 7385 |
" foo(); // invalid match as C.foo() overrides Abstract.foo() \n" + |
7454 |
" foo(); // invalid match as C.foo() overrides Abstract.foo() \n" + |
| 7386 |
" }\n" + |
7455 |
" }\n" + |
| 7387 |
" }\n" + |
7456 |
" }\n" + |
| 7388 |
"}" |
7457 |
"}" |
| 7389 |
); |
7458 |
); |
| 7390 |
IMethod method = workingCopies[0].getType("Test").getType("Abstract").getMethod("foo", new String[0]); |
7459 |
IMethod method = workingCopies[0].getType("Test").getType("Abstract").getMethod("foo", new String[0]); |
| 7391 |
search(method, REFERENCES); |
7460 |
search(method, REFERENCES); |
| 7392 |
assertSearchResults( |
7461 |
assertSearchResults( |
| 7393 |
"src/Test.java void Test$A.a() [foo()] EXACT_MATCH\n" + |
7462 |
"src/Test.java void Test$A.a() [foo()] EXACT_MATCH\n" + |
| 7394 |
"src/Test.java void Test$B.b() [foo()] EXACT_MATCH" |
7463 |
"src/Test.java void Test$B.b() [foo()] EXACT_MATCH" |
| 7395 |
); |
7464 |
); |
| 7396 |
} |
7465 |
} |
|
Lines 7398-7425
Link Here
|
| 7398 |
resultCollector.showRule = true; |
7467 |
resultCollector.showRule = true; |
| 7399 |
workingCopies = new ICompilationUnit[1]; |
7468 |
workingCopies = new ICompilationUnit[1]; |
| 7400 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/Test.java", |
7469 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/Test.java", |
| 7401 |
"public class Test {\n" + |
7470 |
"public class Test {\n" + |
| 7402 |
" abstract class Abstract {\n" + |
7471 |
" abstract class Abstract {\n" + |
| 7403 |
" public abstract void foo();\n" + |
7472 |
" public abstract void foo();\n" + |
| 7404 |
" }\n" + |
7473 |
" }\n" + |
| 7405 |
" class A extends Abstract {\n" + |
7474 |
" class A extends Abstract {\n" + |
| 7406 |
" public void foo() {}\n" + |
7475 |
" public void foo() {}\n" + |
| 7407 |
" void a() {\n" + |
7476 |
" void a() {\n" + |
| 7408 |
" foo(); // valid match as A.foo() is the first override in sub-class\n" + |
7477 |
" foo(); // valid match as A.foo() is the first override in sub-class\n" + |
| 7409 |
" }\n" + |
7478 |
" }\n" + |
| 7410 |
" }\n" + |
7479 |
" }\n" + |
| 7411 |
" abstract class B extends A {\n" + |
7480 |
" abstract class B extends A {\n" + |
| 7412 |
" public abstract void foo();\n" + |
7481 |
" public abstract void foo();\n" + |
| 7413 |
" void b() {\n" + |
7482 |
" void b() {\n" + |
| 7414 |
" foo(); // invalid match as B.foo() is hidden by the override A.foo()\n" + |
7483 |
" foo(); // invalid match as B.foo() is hidden by the override A.foo()\n" + |
| 7415 |
" }\n" + |
7484 |
" }\n" + |
| 7416 |
" }\n" + |
7485 |
" }\n" + |
| 7417 |
" class C extends B {\n" + |
7486 |
" class C extends B {\n" + |
| 7418 |
" public void foo() {}\n" + |
7487 |
" public void foo() {}\n" + |
| 7419 |
" void c() {\n" + |
7488 |
" void c() {\n" + |
| 7420 |
" foo(); // invalid match as C.foo() overrides A.foo()\n" + |
7489 |
" foo(); // invalid match as C.foo() overrides A.foo()\n" + |
| 7421 |
" }\n" + |
7490 |
" }\n" + |
| 7422 |
" }\n" + |
7491 |
" }\n" + |
| 7423 |
"}" |
7492 |
"}" |
| 7424 |
); |
7493 |
); |
| 7425 |
IMethod method = workingCopies[0].getType("Test").getType("Abstract").getMethod("foo", new String[0]); |
7494 |
IMethod method = workingCopies[0].getType("Test").getType("Abstract").getMethod("foo", new String[0]); |
|
Lines 7613-7630
Link Here
|
| 7613 |
null); |
7682 |
null); |
| 7614 |
// Should have same types with these 2 searches |
7683 |
// Should have same types with these 2 searches |
| 7615 |
assertSearchResults("Wrong types found!", |
7684 |
assertSearchResults("Wrong types found!", |
| 7616 |
"java.lang.CharSequence\n" + |
7685 |
"java.lang.CharSequence\n" + |
| 7617 |
"java.lang.Class\n" + |
7686 |
"java.lang.Class\n" + |
| 7618 |
"java.lang.CloneNotSupportedException\n" + |
7687 |
"java.lang.CloneNotSupportedException\n" + |
| 7619 |
"java.lang.Comparable\n" + |
7688 |
"java.lang.Comparable\n" + |
| 7620 |
"java.lang.Enum\n" + |
7689 |
"java.lang.Enum\n" + |
| 7621 |
"java.lang.Error\n" + |
7690 |
"java.lang.Error\n" + |
| 7622 |
"java.lang.Exception\n" + |
7691 |
"java.lang.Exception\n" + |
| 7623 |
"java.lang.IllegalMonitorStateException\n" + |
7692 |
"java.lang.IllegalMonitorStateException\n" + |
| 7624 |
"java.lang.InterruptedException\n" + |
7693 |
"java.lang.InterruptedException\n" + |
| 7625 |
"java.lang.Object\n" + |
7694 |
"java.lang.Object\n" + |
| 7626 |
"java.lang.RuntimeException\n" + |
7695 |
"java.lang.RuntimeException\n" + |
| 7627 |
"java.lang.String\n" + |
7696 |
"java.lang.String\n" + |
| 7628 |
"java.lang.Throwable", |
7697 |
"java.lang.Throwable", |
| 7629 |
requestor |
7698 |
requestor |
| 7630 |
); |
7699 |
); |
|
Lines 7681-7688
Link Here
|
| 7681 |
IJavaSearchConstants.WAIT_UNTIL_READY_TO_SEARCH, |
7750 |
IJavaSearchConstants.WAIT_UNTIL_READY_TO_SEARCH, |
| 7682 |
null); |
7751 |
null); |
| 7683 |
assertSearchResults("Wrong types found!", |
7752 |
assertSearchResults("Wrong types found!", |
| 7684 |
"xy.BE_124645\n" + |
7753 |
"xy.BE_124645\n" + |
| 7685 |
"xy.BX_124645\n" + |
7754 |
"xy.BX_124645\n" + |
| 7686 |
"xy.BY_124645", |
7755 |
"xy.BY_124645", |
| 7687 |
requestor |
7756 |
requestor |
| 7688 |
); |
7757 |
); |
|
Lines 7739-7750
Link Here
|
| 7739 |
private void setUpBug164121() throws CoreException { |
7808 |
private void setUpBug164121() throws CoreException { |
| 7740 |
workingCopies = new ICompilationUnit[1]; |
7809 |
workingCopies = new ICompilationUnit[1]; |
| 7741 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/A.java", |
7810 |
workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/A.java", |
| 7742 |
"class A {\n" + |
7811 |
"class A {\n" + |
| 7743 |
" int x(int param) {\n" + |
7812 |
" int x(int param) {\n" + |
| 7744 |
" param = 2 + 2;\n" + |
7813 |
" param = 2 + 2;\n" + |
| 7745 |
" int x = param + 2;\n" + |
7814 |
" int x = param + 2;\n" + |
| 7746 |
" return param - x;\n" + |
7815 |
" return param - x;\n" + |
| 7747 |
" }\n" + |
7816 |
" }\n" + |
| 7748 |
"}\n" |
7817 |
"}\n" |
| 7749 |
); |
7818 |
); |
| 7750 |
} |
7819 |
} |
|
Lines 7763-7771
Link Here
|
| 7763 |
ILocalVariable param = getLocalVariable(this.workingCopies[0], "param", "param"); |
7832 |
ILocalVariable param = getLocalVariable(this.workingCopies[0], "param", "param"); |
| 7764 |
search(param, ALL_OCCURRENCES); |
7833 |
search(param, ALL_OCCURRENCES); |
| 7765 |
assertSearchResults( |
7834 |
assertSearchResults( |
| 7766 |
"src/A.java int A.x(int).param [param] EXACT_MATCH\n" + |
7835 |
"src/A.java int A.x(int).param [param] EXACT_MATCH\n" + |
| 7767 |
"src/A.java int A.x(int) [param] EXACT_MATCH\n" + |
7836 |
"src/A.java int A.x(int) [param] EXACT_MATCH\n" + |
| 7768 |
"src/A.java int A.x(int) [param] EXACT_MATCH\n" + |
7837 |
"src/A.java int A.x(int) [param] EXACT_MATCH\n" + |
| 7769 |
"src/A.java int A.x(int) [param] EXACT_MATCH" |
7838 |
"src/A.java int A.x(int) [param] EXACT_MATCH" |
| 7770 |
); |
7839 |
); |
| 7771 |
} |
7840 |
} |
|
Lines 7787-7793
Link Here
|
| 7787 |
collector.showAccuracy = true; |
7856 |
collector.showAccuracy = true; |
| 7788 |
search(type, REFERENCES, getJavaSearchScopeBugs(), collector); |
7857 |
search(type, REFERENCES, getJavaSearchScopeBugs(), collector); |
| 7789 |
assertSearchResults( |
7858 |
assertSearchResults( |
| 7790 |
"lib/b164791.jar test.<anonymous> EXACT_MATCH\n" + |
7859 |
"lib/b164791.jar test.<anonymous> EXACT_MATCH\n" + |
| 7791 |
"lib/b164791.jar test.<anonymous> EXACT_MATCH", |
7860 |
"lib/b164791.jar test.<anonymous> EXACT_MATCH", |
| 7792 |
collector |
7861 |
collector |
| 7793 |
); |
7862 |
); |
|
Lines 7801-7807
Link Here
|
| 7801 |
public void testBug166348() throws CoreException { |
7870 |
public void testBug166348() throws CoreException { |
| 7802 |
search("Test166348", TYPE, DECLARATIONS); |
7871 |
search("Test166348", TYPE, DECLARATIONS); |
| 7803 |
assertSearchResults( |
7872 |
assertSearchResults( |
| 7804 |
"lib/b166348.jar pack.Test166348 [No source] EXACT_MATCH\n" + |
7873 |
"lib/b166348.jar pack.Test166348 [No source] EXACT_MATCH\n" + |
| 7805 |
"lib/b166348.jar test.Test166348 [No source] EXACT_MATCH" |
7874 |
"lib/b166348.jar test.Test166348 [No source] EXACT_MATCH" |
| 7806 |
); |
7875 |
); |
| 7807 |
} |
7876 |
} |
|
Lines 7892-7906
Link Here
|
| 7892 |
createJavaProject("P2", new String[] {""}, new String[] {"JCL_LIB", "/P1/bin"}, ""); |
7961 |
createJavaProject("P2", new String[] {""}, new String[] {"JCL_LIB", "/P1/bin"}, ""); |
| 7893 |
workingCopies = new ICompilationUnit[2]; |
7962 |
workingCopies = new ICompilationUnit[2]; |
| 7894 |
workingCopies[0] = getWorkingCopy("/P2/Test1.java", |
7963 |
workingCopies[0] = getWorkingCopy("/P2/Test1.java", |
| 7895 |
"public class Test1 {\n" + |
7964 |
"public class Test1 {\n" + |
| 7896 |
" void bar() {\n" + |
7965 |
" void bar() {\n" + |
| 7897 |
" p.Y.foo();\n" + |
7966 |
" p.Y.foo();\n" + |
| 7898 |
" new p.X();\n" + // cause AbortCompilation here |
7967 |
" new p.X();\n" + // cause AbortCompilation here |
| 7899 |
" }\n" + |
7968 |
" }\n" + |
| 7900 |
"}" |
7969 |
"}" |
| 7901 |
); |
7970 |
); |
| 7902 |
workingCopies[1] = getWorkingCopy("/P2/Test2.java", |
7971 |
workingCopies[1] = getWorkingCopy("/P2/Test2.java", |
| 7903 |
"public class Test2 {\n" + |
7972 |
"public class Test2 {\n" + |
| 7904 |
" void foo() {}\n" + |
7973 |
" void foo() {}\n" + |
| 7905 |
" void bar() {\n" + |
7974 |
" void bar() {\n" + |
| 7906 |
" foo();\n" + |
7975 |
" foo();\n" + |
|
Lines 7953-8045
Link Here
|
| 7953 |
public void testBug185452() throws CoreException { |
8022 |
public void testBug185452() throws CoreException { |
| 7954 |
JavaSearchResultCollector packageCollector = new JavaSearchResultCollector(true); |
8023 |
JavaSearchResultCollector packageCollector = new JavaSearchResultCollector(true); |
| 7955 |
search( |
8024 |
search( |
| 7956 |
"*", |
8025 |
"*", |
| 7957 |
PACKAGE, |
8026 |
PACKAGE, |
| 7958 |
DECLARATIONS, |
8027 |
DECLARATIONS, |
| 7959 |
SearchEngine.createWorkspaceScope(), |
8028 |
SearchEngine.createWorkspaceScope(), |
| 7960 |
packageCollector); |
8029 |
packageCollector); |
| 7961 |
assertSearchResults( |
8030 |
assertSearchResults( |
| 7962 |
""+ getExternalJCLPathString("1.5") + " \n" + |
8031 |
""+ getExternalJCLPathString("1.5") + " \n" + |
| 7963 |
""+ getExternalJCLPathString("1.5") + " java\n" + |
8032 |
""+ getExternalJCLPathString("1.5") + " java\n" + |
| 7964 |
""+ getExternalJCLPathString("1.5") + " java.io\n" + |
8033 |
""+ getExternalJCLPathString("1.5") + " java.io\n" + |
| 7965 |
""+ getExternalJCLPathString("1.5") + " java.lang\n" + |
8034 |
""+ getExternalJCLPathString("1.5") + " java.lang\n" + |
| 7966 |
""+ getExternalJCLPathString("1.5") + " java.lang.annotation\n" + |
8035 |
""+ getExternalJCLPathString("1.5") + " java.lang.annotation\n" + |
| 7967 |
"lib \n" + |
8036 |
"lib \n" + |
| 7968 |
"lib/JavaSearch15.jar [No source]\n" + |
8037 |
"lib/JavaSearch15.jar [No source]\n" + |
| 7969 |
"lib/JavaSearch15.jar g1 [No source]\n" + |
8038 |
"lib/JavaSearch15.jar g1 [No source]\n" + |
| 7970 |
"lib/JavaSearch15.jar g1.t [No source]\n" + |
8039 |
"lib/JavaSearch15.jar g1.t [No source]\n" + |
| 7971 |
"lib/JavaSearch15.jar g1.t.s [No source]\n" + |
8040 |
"lib/JavaSearch15.jar g1.t.s [No source]\n" + |
| 7972 |
"lib/JavaSearch15.jar g1.t.s.def [No source]\n" + |
8041 |
"lib/JavaSearch15.jar g1.t.s.def [No source]\n" + |
| 7973 |
"lib/JavaSearch15.jar g5 [No source]\n" + |
8042 |
"lib/JavaSearch15.jar g5 [No source]\n" + |
| 7974 |
"lib/JavaSearch15.jar g5.c [No source]\n" + |
8043 |
"lib/JavaSearch15.jar g5.c [No source]\n" + |
| 7975 |
"lib/JavaSearch15.jar g5.c.def [No source]\n" + |
8044 |
"lib/JavaSearch15.jar g5.c.def [No source]\n" + |
| 7976 |
"lib/JavaSearch15.jar g5.m [No source]\n" + |
8045 |
"lib/JavaSearch15.jar g5.m [No source]\n" + |
| 7977 |
"lib/JavaSearch15.jar g5.m.def [No source]\n" + |
8046 |
"lib/JavaSearch15.jar g5.m.def [No source]\n" + |
| 7978 |
"lib/b110422.jar [No source]\n" + |
8047 |
"lib/b110422.jar [No source]\n" + |
| 7979 |
"lib/b110422.jar b110422 [No source]\n" + |
8048 |
"lib/b110422.jar b110422 [No source]\n" + |
| 7980 |
"lib/b123679.jar [No source]\n" + |
8049 |
"lib/b123679.jar [No source]\n" + |
| 7981 |
"lib/b123679.jar pack [No source]\n" + |
8050 |
"lib/b123679.jar pack [No source]\n" + |
| 7982 |
"lib/b123679.jar test [No source]\n" + |
8051 |
"lib/b123679.jar test [No source]\n" + |
| 7983 |
"lib/b124469.jar [No source]\n" + |
8052 |
"lib/b124469.jar [No source]\n" + |
| 7984 |
"lib/b124469.jar pack [No source]\n" + |
8053 |
"lib/b124469.jar pack [No source]\n" + |
| 7985 |
"lib/b124469.jar test [No source]\n" + |
8054 |
"lib/b124469.jar test [No source]\n" + |
| 7986 |
"lib/b124645.jar [No source]\n" + |
8055 |
"lib/b124645.jar [No source]\n" + |
| 7987 |
"lib/b124645.jar test [No source]\n" + |
8056 |
"lib/b124645.jar test [No source]\n" + |
| 7988 |
"lib/b124645.jar xy [No source]\n" + |
8057 |
"lib/b124645.jar xy [No source]\n" + |
| 7989 |
"lib/b125178.jar [No source]\n" + |
8058 |
"lib/b125178.jar [No source]\n" + |
| 7990 |
"lib/b125178.jar pack [No source]\n" + |
8059 |
"lib/b125178.jar pack [No source]\n" + |
| 7991 |
"lib/b125178.jar pack.age [No source]\n" + |
8060 |
"lib/b125178.jar pack.age [No source]\n" + |
| 7992 |
"lib/b126330.jar [No source]\n" + |
8061 |
"lib/b126330.jar [No source]\n" + |
| 7993 |
"lib/b128877.jar [No source]\n" + |
8062 |
"lib/b128877.jar [No source]\n" + |
| 7994 |
"lib/b128877.jar pack [No source]\n" + |
8063 |
"lib/b128877.jar pack [No source]\n" + |
| 7995 |
"lib/b137984.jar [No source]\n" + |
8064 |
"lib/b137984.jar [No source]\n" + |
| 7996 |
"lib/b140156.jar [No source]\n" + |
8065 |
"lib/b140156.jar [No source]\n" + |
| 7997 |
"lib/b164791.jar [No source]\n" + |
8066 |
"lib/b164791.jar [No source]\n" + |
| 7998 |
"lib/b164791.jar pack [No source]\n" + |
8067 |
"lib/b164791.jar pack [No source]\n" + |
| 7999 |
"lib/b164791.jar test [No source]\n" + |
8068 |
"lib/b164791.jar test [No source]\n" + |
| 8000 |
"lib/b166348.jar [No source]\n" + |
8069 |
"lib/b166348.jar [No source]\n" + |
| 8001 |
"lib/b166348.jar pack [No source]\n" + |
8070 |
"lib/b166348.jar pack [No source]\n" + |
| 8002 |
"lib/b166348.jar test [No source]\n" + |
8071 |
"lib/b166348.jar test [No source]\n" + |
| 8003 |
"lib/b86293.jar [No source]\n" + |
8072 |
"lib/b86293.jar [No source]\n" + |
| 8004 |
"lib/b87627.jar [No source]\n" + |
8073 |
"lib/b87627.jar [No source]\n" + |
| 8005 |
"lib/b87627.jar b87627 [No source]\n" + |
8074 |
"lib/b87627.jar b87627 [No source]\n" + |
| 8006 |
"lib/b89848 b89848\n" + |
8075 |
"lib/b89848 b89848\n" + |
| 8007 |
"lib/b95152.jar [No source]\n" + |
8076 |
"lib/b95152.jar [No source]\n" + |
| 8008 |
"lib/b95152.jar b95152 [No source]\n" + |
8077 |
"lib/b95152.jar b95152 [No source]\n" + |
| 8009 |
"lib/test75816.jar [No source]\n" + |
8078 |
"lib/test75816.jar [No source]\n" + |
| 8010 |
"lib/test81556.jar [No source]\n" + |
8079 |
"lib/test81556.jar [No source]\n" + |
| 8011 |
"lib/test81556.jar b81556 [No source]\n" + |
8080 |
"lib/test81556.jar b81556 [No source]\n" + |
| 8012 |
"lib/test81556.jar b81556.b [No source]\n" + |
8081 |
"lib/test81556.jar b81556.b [No source]\n" + |
| 8013 |
"src \n" + |
8082 |
"src \n" + |
| 8014 |
"src/b108088 b108088\n" + |
8083 |
"src/b108088 b108088\n" + |
| 8015 |
"src/b123679 b123679\n" + |
8084 |
"src/b123679 b123679\n" + |
| 8016 |
"src/b123679/pack b123679.pack\n" + |
8085 |
"src/b123679/pack b123679.pack\n" + |
| 8017 |
"src/b123679/test b123679.test\n" + |
8086 |
"src/b123679/test b123679.test\n" + |
| 8018 |
"src/b124645 b124645\n" + |
8087 |
"src/b124645 b124645\n" + |
| 8019 |
"src/b124645/test b124645.test\n" + |
8088 |
"src/b124645/test b124645.test\n" + |
| 8020 |
"src/b124645/xy b124645.xy\n" + |
8089 |
"src/b124645/xy b124645.xy\n" + |
| 8021 |
"src/b127628 b127628\n" + |
8090 |
"src/b127628 b127628\n" + |
| 8022 |
"src/b137984 b137984\n" + |
8091 |
"src/b137984 b137984\n" + |
| 8023 |
"src/b163984 b163984\n" + |
8092 |
"src/b142044 b142044\n" + |
| 8024 |
"src/b81556 b81556\n" + |
8093 |
"src/b163984 b163984\n" + |
| 8025 |
"src/b81556/a b81556.a\n" + |
8094 |
"src/b81556 b81556\n" + |
| 8026 |
"src/b86380 b86380\n" + |
8095 |
"src/b81556/a b81556.a\n" + |
|
|
8096 |
"src/b86380 b86380\n" + |
| 8027 |
"src/b95794 b95794", |
8097 |
"src/b95794 b95794", |
| 8028 |
packageCollector); |
8098 |
packageCollector); |
| 8029 |
} |
8099 |
} |
| 8030 |
|
8100 |
|
| 8031 |
/** |
8101 |
/** |
| 8032 |
* @bug 194185 [search] for package declarations finds also subpackages |
8102 |
* @bug 194185 [search] for package declarations finds also subpackages |
| 8033 |
* @test Ensure that exact package is found when no |
8103 |
* @test Ensure that exact package is found when no |
| 8034 |
* @see "https://bugs.eclipse.org/bugs/show_bug.cgi?id=194185" |
8104 |
* @see "https://bugs.eclipse.org/bugs/show_bug.cgi?id=194185" |
| 8035 |
*/ |
8105 |
*/ |
| 8036 |
public void testBug194185() throws CoreException { |
8106 |
public void testBug194185() throws CoreException { |
| 8037 |
JavaSearchResultCollector packageCollector = new JavaSearchResultCollector(true); |
8107 |
JavaSearchResultCollector packageCollector = new JavaSearchResultCollector(true); |
| 8038 |
search( |
8108 |
search( |
| 8039 |
"java", |
8109 |
"java", |
| 8040 |
PACKAGE, |
8110 |
PACKAGE, |
| 8041 |
DECLARATIONS, |
8111 |
DECLARATIONS, |
| 8042 |
SearchEngine.createWorkspaceScope(), |
8112 |
SearchEngine.createWorkspaceScope(), |
| 8043 |
packageCollector); |
8113 |
packageCollector); |
| 8044 |
assertSearchResults( |
8114 |
assertSearchResults( |
| 8045 |
""+ getExternalJCLPathString("1.5") + " java", |
8115 |
""+ getExternalJCLPathString("1.5") + " java", |