Added
Link Here
|
1 |
/******************************************************************************* |
2 |
* Copyright (c) 2000, 2006 IBM Corporation and others. |
3 |
* All rights reserved. This program and the accompanying materials |
4 |
* are made available under the terms of the Eclipse Public License v1.0 |
5 |
* which accompanies this distribution, and is available at |
6 |
* http://www.eclipse.org/legal/epl-v10.html |
7 |
* |
8 |
* Contributors: |
9 |
* IBM Corporation - initial API and implementation |
10 |
*******************************************************************************/ |
11 |
package org.eclipse.jdt.core.tests.model; |
12 |
|
13 |
import junit.framework.Test; |
14 |
|
15 |
import org.eclipse.core.runtime.*; |
16 |
import org.eclipse.jdt.core.*; |
17 |
import org.eclipse.jdt.core.search.IJavaSearchScope; |
18 |
import org.eclipse.jdt.core.search.SearchEngine; |
19 |
import org.eclipse.jdt.core.search.SearchPattern; |
20 |
|
21 |
|
22 |
/** |
23 |
* Specific test suite for fine grained search. |
24 |
* |
25 |
* @bug 155013: [search] [DCR] More finegrained options for Java search |
26 |
* @test Several tests sets trying to cover as many cases as possible. |
27 |
* <p> |
28 |
* Each set is organize the same way: |
29 |
* <ul> |
30 |
* <li>specific method defining the test case called by all the tests of the set,</li> |
31 |
* <li>first test performs a search request without any fine grain flag defined |
32 |
* to have a precise idea of what are the entire expected references,</li> |
33 |
* <li>second test performs a search request with all fine grain flags |
34 |
* defined to verify that flags combination works well</li> |
35 |
* <li>each following test each defines one of the possible fine grain flag |
36 |
* to verify that it works properly with the given test case,</li> |
37 |
* </ul> |
38 |
* @see "https://bugs.eclipse.org/bugs/show_bug.cgi?id=155013" |
39 |
*/ |
40 |
public class JavaSearchFineGrainTests extends JavaSearchTests { |
41 |
|
42 |
public JavaSearchFineGrainTests(String name) { |
43 |
super(name); |
44 |
} |
45 |
public static Test suite() { |
46 |
return buildModelTestSuite(JavaSearchFineGrainTests.class); |
47 |
} |
48 |
static { |
49 |
// org.eclipse.jdt.internal.core.search.BasicSearchEngine.VERBOSE = true; |
50 |
} |
51 |
|
52 |
IJavaSearchScope getJavaSearchScope() { |
53 |
return super.getJavaSearchScope15(); |
54 |
} |
55 |
public ICompilationUnit getWorkingCopy(String path, String source) throws JavaModelException { |
56 |
if (this.wcOwner == null) { |
57 |
this.wcOwner = new WorkingCopyOwner() {}; |
58 |
} |
59 |
return getWorkingCopy(path, source, this.wcOwner); |
60 |
} |
61 |
|
62 |
protected void setUp () throws Exception { |
63 |
super.setUp(); |
64 |
this.resultCollector = new JavaSearchResultCollector(); |
65 |
resultCollector.showInsideDoc = false; |
66 |
resultCollector.showAccuracy = true; |
67 |
this.resultCollector.showSelection = true; |
68 |
this.resultCollector.showOffset = true; |
69 |
} |
70 |
|
71 |
static { |
72 |
// TESTS_PREFIX = "testMethodRef"; |
73 |
} |
74 |
|
75 |
/* |
76 |
* References to a specific IField |
77 |
*/ |
78 |
private final static int ALL_FIELD_METHOD_FINE_GRAIN_FLAGS = |
79 |
SUPER_REFERENCE | |
80 |
QUALIFIED_REFERENCE | |
81 |
THIS_REFERENCE | |
82 |
IMPLICIT_THIS_REFERENCE; |
83 |
private IField setUpFieldRef() throws JavaModelException { |
84 |
final ProblemRequestor problemRequestor = new ProblemRequestor(); |
85 |
this.wcOwner = new WorkingCopyOwner() { |
86 |
public IProblemRequestor getProblemRequestor(ICompilationUnit workingCopy) { |
87 |
return problemRequestor; |
88 |
} |
89 |
}; |
90 |
workingCopies = new ICompilationUnit[2]; |
91 |
workingCopies[0] = getWorkingCopy("/JavaSearch15/src/field/def/Fields.java", |
92 |
"package field.def;\n" + |
93 |
"public class Fields {\n" + |
94 |
" public Object field;\n" + |
95 |
"}\n" |
96 |
); |
97 |
workingCopies[1] = getWorkingCopy("/JavaSearch15/src/field/ref/TestFields.java", |
98 |
"package field.ref;\n" + |
99 |
"import field.def.Fields;\n" + |
100 |
"public class TestFields extends Fields {\n" + |
101 |
" boolean foo(Fields param) {\n" + |
102 |
" return super.field == null ||\n" + |
103 |
" param.field == null ||\n" + |
104 |
" this.field == null ||\n" + |
105 |
" field == null;\n" + |
106 |
" }\n" + |
107 |
"}\n" |
108 |
); |
109 |
assertEquals("CU Should not have any problem!", |
110 |
"----------\n" + |
111 |
"----------\n", |
112 |
problemRequestor.problems.toString() |
113 |
); |
114 |
this.resultCollector.showSelection = true; |
115 |
this.resultCollector.showOffset = true; |
116 |
return workingCopies[0].getType("Fields").getField("field"); |
117 |
} |
118 |
public void testFieldRef() throws CoreException { |
119 |
search(setUpFieldRef(), REFERENCES); |
120 |
assertSearchResults( |
121 |
"src/field/ref/TestFields.java boolean field.ref.TestFields.foo(Fields) [ return super.§|field|§ == null ||@129] EXACT_MATCH\n" + |
122 |
"src/field/ref/TestFields.java boolean field.ref.TestFields.foo(Fields) [ param.§|field|§ == null ||@155] EXACT_MATCH\n" + |
123 |
"src/field/ref/TestFields.java boolean field.ref.TestFields.foo(Fields) [ this.§|field|§ == null ||@180] EXACT_MATCH\n" + |
124 |
"src/field/ref/TestFields.java boolean field.ref.TestFields.foo(Fields) [ §|field|§ == null;@200] EXACT_MATCH" |
125 |
); |
126 |
} |
127 |
public void testFieldRef_AllFlags() throws CoreException { |
128 |
search(setUpFieldRef(), ALL_FIELD_METHOD_FINE_GRAIN_FLAGS); |
129 |
assertSearchResults( |
130 |
"src/field/ref/TestFields.java boolean field.ref.TestFields.foo(Fields) [ return super.§|field|§ == null ||@129] EXACT_MATCH\n" + |
131 |
"src/field/ref/TestFields.java boolean field.ref.TestFields.foo(Fields) [ param.§|field|§ == null ||@155] EXACT_MATCH\n" + |
132 |
"src/field/ref/TestFields.java boolean field.ref.TestFields.foo(Fields) [ this.§|field|§ == null ||@180] EXACT_MATCH\n" + |
133 |
"src/field/ref/TestFields.java boolean field.ref.TestFields.foo(Fields) [ §|field|§ == null;@200] EXACT_MATCH" |
134 |
); |
135 |
} |
136 |
public void testFieldRef_Qualified() throws CoreException { |
137 |
search(setUpFieldRef(), QUALIFIED_REFERENCE); |
138 |
assertSearchResults( |
139 |
"src/field/ref/TestFields.java boolean field.ref.TestFields.foo(Fields) [ param.§|field|§ == null ||@155] EXACT_MATCH" |
140 |
); |
141 |
} |
142 |
public void testFieldRef_Simple() throws CoreException { |
143 |
search(setUpFieldRef(), IMPLICIT_THIS_REFERENCE); |
144 |
assertSearchResults( |
145 |
"src/field/ref/TestFields.java boolean field.ref.TestFields.foo(Fields) [ §|field|§ == null;@200] EXACT_MATCH" |
146 |
); |
147 |
} |
148 |
public void testFieldRef_Super() throws CoreException { |
149 |
search(setUpFieldRef(), SUPER_REFERENCE); |
150 |
assertSearchResults( |
151 |
"src/field/ref/TestFields.java boolean field.ref.TestFields.foo(Fields) [ return super.§|field|§ == null ||@129] EXACT_MATCH" |
152 |
); |
153 |
} |
154 |
public void testFieldRef_This() throws CoreException { |
155 |
search(setUpFieldRef(), THIS_REFERENCE); |
156 |
assertSearchResults( |
157 |
"src/field/ref/TestFields.java boolean field.ref.TestFields.foo(Fields) [ this.§|field|§ == null ||@180] EXACT_MATCH" |
158 |
); |
159 |
} |
160 |
|
161 |
/* |
162 |
* References to a specific IMethod |
163 |
*/ |
164 |
private IMethod setUpMethodRef() throws JavaModelException { |
165 |
final ProblemRequestor problemRequestor = new ProblemRequestor(); |
166 |
this.wcOwner = new WorkingCopyOwner() { |
167 |
public IProblemRequestor getProblemRequestor(ICompilationUnit workingCopy) { |
168 |
return problemRequestor; |
169 |
} |
170 |
}; |
171 |
workingCopies = new ICompilationUnit[2]; |
172 |
workingCopies[0] = getWorkingCopy("/JavaSearch15/src/meth/def/Methods.java", |
173 |
"package meth.def;\n" + |
174 |
"public class Methods {\n" + |
175 |
" public void method() {}\n" + |
176 |
"}\n" |
177 |
); |
178 |
workingCopies[1] = getWorkingCopy("/JavaSearch15/src/meth/ref/TestMethods.java", |
179 |
"package meth.ref;\n" + |
180 |
"import meth.def.Methods;\n" + |
181 |
"public class TestMethods extends Methods {\n" + |
182 |
" void foo(Methods param) {\n" + |
183 |
" super.method();\n" + |
184 |
" param.method();\n" + |
185 |
" this.method();\n" + |
186 |
" method();\n" + |
187 |
" }\n" + |
188 |
"}\n" |
189 |
); |
190 |
assertEquals("CU Should not have any problem!", |
191 |
"----------\n" + |
192 |
"----------\n", |
193 |
problemRequestor.problems.toString() |
194 |
); |
195 |
this.resultCollector.showSelection = true; |
196 |
this.resultCollector.showOffset = true; |
197 |
return workingCopies[0].getType("Methods").getMethod("method", new String[0]); |
198 |
} |
199 |
public void testMethodRef() throws CoreException { |
200 |
search(setUpMethodRef(), REFERENCES); |
201 |
assertSearchResults( |
202 |
"src/meth/ref/TestMethods.java void meth.ref.TestMethods.foo(Methods) [ super.§|method()|§;@121] EXACT_MATCH\n" + |
203 |
"src/meth/ref/TestMethods.java void meth.ref.TestMethods.foo(Methods) [ param.§|method()|§;@139] EXACT_MATCH\n" + |
204 |
"src/meth/ref/TestMethods.java void meth.ref.TestMethods.foo(Methods) [ this.§|method()|§;@156] EXACT_MATCH\n" + |
205 |
"src/meth/ref/TestMethods.java void meth.ref.TestMethods.foo(Methods) [ §|method()|§;@168] EXACT_MATCH" |
206 |
); |
207 |
} |
208 |
public void testMethodRef_AllFlags() throws CoreException { |
209 |
search(setUpMethodRef(), ALL_FIELD_METHOD_FINE_GRAIN_FLAGS); |
210 |
assertSearchResults( |
211 |
"src/meth/ref/TestMethods.java void meth.ref.TestMethods.foo(Methods) [ super.§|method()|§;@121] EXACT_MATCH\n" + |
212 |
"src/meth/ref/TestMethods.java void meth.ref.TestMethods.foo(Methods) [ param.§|method()|§;@139] EXACT_MATCH\n" + |
213 |
"src/meth/ref/TestMethods.java void meth.ref.TestMethods.foo(Methods) [ this.§|method()|§;@156] EXACT_MATCH\n" + |
214 |
"src/meth/ref/TestMethods.java void meth.ref.TestMethods.foo(Methods) [ §|method()|§;@168] EXACT_MATCH" |
215 |
); |
216 |
} |
217 |
public void testMethodRef_Qualified() throws CoreException { |
218 |
search(setUpMethodRef(), QUALIFIED_REFERENCE); |
219 |
assertSearchResults( |
220 |
"src/meth/ref/TestMethods.java void meth.ref.TestMethods.foo(Methods) [ param.§|method()|§;@139] EXACT_MATCH" |
221 |
); |
222 |
} |
223 |
public void testMethodRef_Simple() throws CoreException { |
224 |
search(setUpMethodRef(), IMPLICIT_THIS_REFERENCE); |
225 |
assertSearchResults( |
226 |
"src/meth/ref/TestMethods.java void meth.ref.TestMethods.foo(Methods) [ §|method()|§;@168] EXACT_MATCH" |
227 |
); |
228 |
} |
229 |
public void testMethodRef_Super() throws CoreException { |
230 |
search(setUpMethodRef(), SUPER_REFERENCE); |
231 |
assertSearchResults( |
232 |
"src/meth/ref/TestMethods.java void meth.ref.TestMethods.foo(Methods) [ super.§|method()|§;@121] EXACT_MATCH" |
233 |
); |
234 |
} |
235 |
public void testMethodRef_This() throws CoreException { |
236 |
search(setUpMethodRef(), THIS_REFERENCE); |
237 |
assertSearchResults( |
238 |
"src/meth/ref/TestMethods.java void meth.ref.TestMethods.foo(Methods) [ this.§|method()|§;@156] EXACT_MATCH" |
239 |
); |
240 |
} |
241 |
|
242 |
private final static int ALL_TYPE_FINE_GRAIN_FLAGS = |
243 |
FIELD_TYPE_DECLARATION_TYPE_REFERENCE | |
244 |
LOCAL_VARIABLE_DECLARATION_TYPE_REFERENCE | |
245 |
PARAMETER_TYPE_DECLARATION_TYPE_REFERENCE | |
246 |
SUPERTYPE_TYPE_REFERENCE | |
247 |
SUPERINTERFACE_TYPE_REFERENCE | |
248 |
THROWS_CLAUSE_TYPE_REFERENCE | |
249 |
CAST_TYPE_REFERENCE | |
250 |
CATCH_TYPE_REFERENCE | |
251 |
ALLOCATION_EXPRESSION_TYPE_REFERENCE | |
252 |
RETURN_TYPE_REFERENCE | |
253 |
IMPORT_DECLARATION_TYPE_REFERENCE | |
254 |
ANNOTATION_TYPE_REFERENCE | |
255 |
TYPE_VARIABLE_BOUND_TYPE_REFERENCE | |
256 |
PARAMETERIZED_TYPE_REFERENCE | |
257 |
WILDCARD_BOUND_TYPE_REFERENCE; |
258 |
|
259 |
/* |
260 |
* References to a specific IType |
261 |
*/ |
262 |
private IType setUpTypeRef(int typeIndex) throws JavaModelException { |
263 |
final ProblemRequestor problemRequestor = new ProblemRequestor(); |
264 |
this.wcOwner = new WorkingCopyOwner() { |
265 |
public IProblemRequestor getProblemRequestor(ICompilationUnit workingCopy) { |
266 |
return problemRequestor; |
267 |
} |
268 |
}; |
269 |
workingCopies = new ICompilationUnit[3]; |
270 |
workingCopies[0] = getWorkingCopy("/JavaSearch15/src/type/def/Types.java", |
271 |
"package type.def;\n" + |
272 |
"@Bug\n" + |
273 |
"@ATest\n" + |
274 |
"public class Types extends Exception implements ITest1, ITest2 {\n" + |
275 |
" ITest1 test1;\n" + |
276 |
" ITest2 test2;\n" + |
277 |
"}\n" + |
278 |
"@Bug\n" + |
279 |
"interface ITest1 {}\n" + |
280 |
"@ATest\n" + |
281 |
"interface ITest2 extends ITest1 {}\n" + |
282 |
"@Bug\n" + |
283 |
"@ATest\n" + |
284 |
"enum ETest {}\n" + |
285 |
"@Bug\n" + |
286 |
"@interface ATest {}\n" |
287 |
); |
288 |
workingCopies[1] = getWorkingCopy("/JavaSearch15/src/type/def/Bug.java", |
289 |
"package type.def;\n" + |
290 |
"public @interface Bug {\n" + |
291 |
" int num() default 0;\n" + |
292 |
" String comment() default \"\";\n" + |
293 |
"}\n" |
294 |
); |
295 |
workingCopies[2] = getWorkingCopy("/JavaSearch15/src/type/ref/TestTypes.java", |
296 |
"package type.ref;\n" + |
297 |
"import type.def.Types;\n" + |
298 |
"import type.def.Bug;\n" + |
299 |
"\n" + |
300 |
"@Bug(num=155013)\n" + |
301 |
"public class TestTypes extends Types {\n" + |
302 |
" @Bug(comment=\"field\")\n" + |
303 |
" Types field;\n" + |
304 |
" @Bug(comment=\"method\", num=155013)\n" + |
305 |
" Types method(Types param) throws Types {\n" + |
306 |
" Object obj = new Types();\n" + |
307 |
" Types local = (Types) obj;\n" + |
308 |
" return local;\n" + |
309 |
" }\n" + |
310 |
" Bug bar(Bug bug) {\n" + |
311 |
" try {\n" + |
312 |
" method(this);\n" + |
313 |
" } catch (Types ex) {\n" + |
314 |
" }\n" + |
315 |
" return bug;\n" + |
316 |
" }\n" + |
317 |
"}\n" |
318 |
); |
319 |
assertEquals("CU Should not have any problem!", |
320 |
"----------\n" + |
321 |
"----------\n", |
322 |
problemRequestor.problems.toString() |
323 |
); |
324 |
ICompilationUnit cu = workingCopies[typeIndex]; |
325 |
String cuName = cu.getElementName(); |
326 |
return cu.getType(cuName.substring(0, cuName.indexOf('.'))); |
327 |
} |
328 |
public void testTypeRef() throws CoreException { |
329 |
search(setUpTypeRef(0), REFERENCES); |
330 |
assertSearchResults( |
331 |
"src/type/ref/TestTypes.java [import §|type.def.Types|§;@25] EXACT_MATCH\n" + |
332 |
"src/type/ref/TestTypes.java type.ref.TestTypes [public class TestTypes extends §|Types|§ {@111] EXACT_MATCH\n" + |
333 |
"src/type/ref/TestTypes.java type.ref.TestTypes.field [ §|Types|§ field;@143] EXACT_MATCH\n" + |
334 |
"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [ §|Types|§ method(Types param) throws Types {@193] EXACT_MATCH\n" + |
335 |
"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [ Types method(§|Types|§ param) throws Types {@206] EXACT_MATCH\n" + |
336 |
"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [ Types method(Types param) throws §|Types|§ {@226] EXACT_MATCH\n" + |
337 |
"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [ Object obj = new §|Types|§();@253] EXACT_MATCH\n" + |
338 |
"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [ §|Types|§ local = (Types) obj;@264] EXACT_MATCH\n" + |
339 |
"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [ Types local = (§|Types|§) obj;@279] EXACT_MATCH\n" + |
340 |
"src/type/ref/TestTypes.java Bug type.ref.TestTypes.bar(Bug) [ } catch (§|Types|§ ex) {@366] EXACT_MATCH" |
341 |
); |
342 |
} |
343 |
public void testTypeRef_AllFlags() throws CoreException { |
344 |
search(setUpTypeRef(0), ALL_TYPE_FINE_GRAIN_FLAGS); |
345 |
assertSearchResults( |
346 |
"src/type/ref/TestTypes.java [import §|type.def.Types|§;@25] EXACT_MATCH\n" + |
347 |
"src/type/ref/TestTypes.java type.ref.TestTypes [public class TestTypes extends §|Types|§ {@111] EXACT_MATCH\n" + |
348 |
"src/type/ref/TestTypes.java type.ref.TestTypes.field [ §|Types|§ field;@143] EXACT_MATCH\n" + |
349 |
"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [ Types method(§|Types|§ param) throws Types {@206] EXACT_MATCH\n" + |
350 |
"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [ Types method(Types param) throws §|Types|§ {@226] EXACT_MATCH\n" + |
351 |
"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [ §|Types|§ method(Types param) throws Types {@193] EXACT_MATCH\n" + |
352 |
"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [ Object obj = new §|Types|§();@253] EXACT_MATCH\n" + |
353 |
"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [ §|Types|§ local = (Types) obj;@264] EXACT_MATCH\n" + |
354 |
"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [ Types local = (§|Types|§) obj;@279] EXACT_MATCH\n" + |
355 |
"src/type/ref/TestTypes.java Bug type.ref.TestTypes.bar(Bug) [ } catch (§|Types|§ ex) {@366] EXACT_MATCH" |
356 |
); |
357 |
} |
358 |
public void testTypeRef_Allocation() throws CoreException { |
359 |
search(setUpTypeRef(0), ALLOCATION_EXPRESSION_TYPE_REFERENCE); |
360 |
assertSearchResults( |
361 |
"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [ Object obj = new §|Types|§();@253] EXACT_MATCH" |
362 |
); |
363 |
} |
364 |
public void testTypeRef_Annotation() throws CoreException { |
365 |
search(setUpTypeRef(1), ANNOTATION_TYPE_REFERENCE); |
366 |
assertSearchResults( |
367 |
"src/type/def/Types.java type.def.Types [@§|Bug|§@19] EXACT_MATCH\n" + |
368 |
"src/type/def/Types.java type.def.ITest1 [@§|Bug|§@128] EXACT_MATCH\n" + |
369 |
"src/type/def/Types.java type.def.ETest [@§|Bug|§@195] EXACT_MATCH\n" + |
370 |
"src/type/def/Types.java type.def.ATest [@§|Bug|§@221] EXACT_MATCH\n" + |
371 |
"src/type/ref/TestTypes.java type.ref.TestTypes [@§|Bug|§(num=155013)@64] EXACT_MATCH\n" + |
372 |
"src/type/ref/TestTypes.java type.ref.TestTypes.field [ @§|Bug|§(comment=\"field\")@121] EXACT_MATCH\n" + |
373 |
"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [ @§|Bug|§(comment=\"method\", num=155013)@158] EXACT_MATCH" |
374 |
); |
375 |
} |
376 |
public void testTypeRef_Cast() throws CoreException { |
377 |
search(setUpTypeRef(0), CAST_TYPE_REFERENCE); |
378 |
assertSearchResults( |
379 |
"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [ Types local = (§|Types|§) obj;@279] EXACT_MATCH" |
380 |
); |
381 |
} |
382 |
public void testTypeRef_Catch() throws CoreException { |
383 |
search(setUpTypeRef(0), CATCH_TYPE_REFERENCE); |
384 |
assertSearchResults( |
385 |
"src/type/ref/TestTypes.java Bug type.ref.TestTypes.bar(Bug) [ } catch (§|Types|§ ex) {@366] EXACT_MATCH" |
386 |
); |
387 |
} |
388 |
public void testTypeRef_Field() throws CoreException { |
389 |
search(setUpTypeRef(0), FIELD_TYPE_DECLARATION_TYPE_REFERENCE); |
390 |
assertSearchResults( |
391 |
"src/type/ref/TestTypes.java type.ref.TestTypes.field [ §|Types|§ field;@143] EXACT_MATCH" |
392 |
); |
393 |
} |
394 |
public void testTypeRef_Import() throws CoreException { |
395 |
search(setUpTypeRef(0), IMPORT_DECLARATION_TYPE_REFERENCE); |
396 |
assertSearchResults( |
397 |
"src/type/ref/TestTypes.java [import §|type.def.Types|§;@25] EXACT_MATCH" |
398 |
); |
399 |
} |
400 |
public void testTypeRef_MethodParameter() throws CoreException { |
401 |
search(setUpTypeRef(0), PARAMETER_TYPE_DECLARATION_TYPE_REFERENCE); |
402 |
assertSearchResults( |
403 |
"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [ Types method(§|Types|§ param) throws Types {@206] EXACT_MATCH" |
404 |
); |
405 |
} |
406 |
public void testTypeRef_Return() throws CoreException { |
407 |
search(setUpTypeRef(0), RETURN_TYPE_REFERENCE); |
408 |
assertSearchResults( |
409 |
"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [ §|Types|§ method(Types param) throws Types {@193] EXACT_MATCH" |
410 |
); |
411 |
} |
412 |
public void testTypeRef_Superinterface() throws CoreException { |
413 |
IType type = setUpTypeRef(0); |
414 |
search(((ICompilationUnit) type.getParent()).getType("ITest1"), SUPERINTERFACE_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope()); |
415 |
assertSearchResults( |
416 |
"src/type/def/Types.java type.def.Types [public class Types extends Exception implements §|ITest1|§, ITest2 {@78] EXACT_MATCH\n" + |
417 |
"src/type/def/Types.java type.def.ITest2 [interface ITest2 extends §|ITest1|§ {}@184] EXACT_MATCH" |
418 |
); |
419 |
} |
420 |
public void testTypeRef_Supertype() throws CoreException { |
421 |
search(setUpTypeRef(0), SUPERTYPE_TYPE_REFERENCE); |
422 |
assertSearchResults( |
423 |
"src/type/ref/TestTypes.java type.ref.TestTypes [public class TestTypes extends §|Types|§ {@111] EXACT_MATCH" |
424 |
); |
425 |
} |
426 |
public void testTypeRef_Throws() throws CoreException { |
427 |
search(setUpTypeRef(0), THROWS_CLAUSE_TYPE_REFERENCE); |
428 |
assertSearchResults( |
429 |
"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [ Types method(Types param) throws §|Types|§ {@226] EXACT_MATCH" |
430 |
); |
431 |
} |
432 |
public void testTypeRef_Variable() throws CoreException { |
433 |
search(setUpTypeRef(0), LOCAL_VARIABLE_DECLARATION_TYPE_REFERENCE); |
434 |
assertSearchResults( |
435 |
"src/type/ref/TestTypes.java Types type.ref.TestTypes.method(Types) [ §|Types|§ local = (Types) obj;@264] EXACT_MATCH" |
436 |
); |
437 |
} |
438 |
|
439 |
/* |
440 |
* References to a all types (using '*' string pattern) |
441 |
*/ |
442 |
private void setUpTypeRefAll() throws JavaModelException { |
443 |
final ProblemRequestor problemRequestor = new ProblemRequestor(); |
444 |
this.wcOwner = new WorkingCopyOwner() { |
445 |
public IProblemRequestor getProblemRequestor(ICompilationUnit workingCopy) { |
446 |
return problemRequestor; |
447 |
} |
448 |
}; |
449 |
workingCopies = new ICompilationUnit[3]; |
450 |
workingCopies[0] = getWorkingCopy("/JavaSearch15/src/type/def/Types.java", |
451 |
"package type.def;\n" + |
452 |
"@Bug\n" + |
453 |
"@ATest\n" + |
454 |
"public class Types extends Exception implements ITest1, ITest2 {\n" + |
455 |
" ITest1 test1;\n" + |
456 |
" ITest2 test2;\n" + |
457 |
"}\n" + |
458 |
"@Bug\n" + |
459 |
"interface ITest1 {}\n" + |
460 |
"@ATest\n" + |
461 |
"interface ITest2 extends ITest1 {}\n" + |
462 |
"@Bug\n" + |
463 |
"@ATest\n" + |
464 |
"enum ETest {}\n" + |
465 |
"@Bug\n" + |
466 |
"@interface ATest {}\n" |
467 |
); |
468 |
workingCopies[1] = getWorkingCopy("/JavaSearch15/src/type/def/Bug.java", |
469 |
"package type.def;\n" + |
470 |
"public @interface Bug {\n" + |
471 |
" int num() default 0;\n" + |
472 |
" String comment() default \"\";\n" + |
473 |
"}\n" |
474 |
); |
475 |
workingCopies[2] = getWorkingCopy("/JavaSearch15/src/all/types/ref/TestTypes.java", |
476 |
"package all.types.ref;\n" + |
477 |
"\n" + |
478 |
"import type.def.Bug;\n" + |
479 |
"import type.def.Types;\n" + |
480 |
"\n" + |
481 |
"@Bug(num=155013)\n" + |
482 |
"public class TestTypes extends Types {\n" + |
483 |
" @Bug(comment=\"field\")\n" + |
484 |
" Types field = new Types(), local, other = new Types();\n" + |
485 |
" {\n" + |
486 |
" Object o;\n" + |
487 |
" Types t;\n" + |
488 |
" if (this.field == null) {\n" + |
489 |
" try {\n" + |
490 |
" t = new TestTypes();\n" + |
491 |
" } catch (RuntimeException e) {\n" + |
492 |
" t = new Types();\n" + |
493 |
" } \n" + |
494 |
" } else {\n" + |
495 |
" o = this.field;\n" + |
496 |
" t = (Types) o;\n" + |
497 |
" }\n" + |
498 |
" local = t;\n" + |
499 |
" };\n" + |
500 |
" @Bug(comment=\"method\", num=155013)\n" + |
501 |
" Types method(Types param) throws Types {\n" + |
502 |
" Object obj = new Types();\n" + |
503 |
" Types local = (Types) obj;\n" + |
504 |
" return local;\n" + |
505 |
" }\n" + |
506 |
" Bug bar(Bug bug) {\n" + |
507 |
" try {\n" + |
508 |
" method(this);\n" + |
509 |
" }\n" + |
510 |
" catch (Types ex) {}\n" + |
511 |
" catch (Exception ex) {}\n" + |
512 |
" return bug; \n" + |
513 |
" }\n" + |
514 |
" // Other types references\n" + |
515 |
" Object object;\n" + |
516 |
" String str;\n" + |
517 |
" TestTypes() throws Types, RuntimeException {\n" + |
518 |
" if (this.object instanceof String) {\n" + |
519 |
" this.str = (String) this.object;\n" + |
520 |
" } else {\n" + |
521 |
" this.str = new String();\n" + |
522 |
" this.object = new Object();\n" + |
523 |
" }\n" + |
524 |
" }\n" + |
525 |
"}\n" |
526 |
); |
527 |
assertEquals("CU Should not have any problem!", |
528 |
"----------\n" + |
529 |
"----------\n", |
530 |
problemRequestor.problems.toString() |
531 |
); |
532 |
this.resultCollector.showSelection = true; |
533 |
this.resultCollector.showOffset = true; |
534 |
} |
535 |
public void testTypeRefAll_Allocation() throws CoreException { |
536 |
setUpTypeRefAll(); |
537 |
search("*", TYPE, ALLOCATION_EXPRESSION_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope()); |
538 |
assertSearchResults( |
539 |
"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.field [ Types field = new §|Types|§(), local, other = new Types();@167] EXACT_MATCH\n" + |
540 |
"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.other [ Types field = new Types(), local, other = new §|Types|§();@195] EXACT_MATCH\n" + |
541 |
"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.{} [ t = new §|TestTypes|§();@279] EXACT_MATCH\n" + |
542 |
"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.{} [ t = new §|Types|§();@338] EXACT_MATCH\n" + |
543 |
"src/all/types/ref/TestTypes.java Types all.types.ref.TestTypes.method(Types) [ Object obj = new §|Types|§();@519] EXACT_MATCH\n" + |
544 |
"src/all/types/ref/TestTypes.java all.types.ref.TestTypes() [ this.str = new §|String|§();@897] EXACT_MATCH\n" + |
545 |
"src/all/types/ref/TestTypes.java all.types.ref.TestTypes() [ this.object = new §|Object|§();@928] EXACT_MATCH" |
546 |
); |
547 |
} |
548 |
public void testTypeRefAll_Annotation() throws CoreException { |
549 |
setUpTypeRefAll(); |
550 |
search("*", TYPE, ANNOTATION_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope()); |
551 |
assertSearchResults( |
552 |
"src/all/types/ref/TestTypes.java all.types.ref.TestTypes [@§|Bug|§(num=155013)@70] EXACT_MATCH\n" + |
553 |
"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.field [ @§|Bug|§(comment=\"field\")@127] EXACT_MATCH\n" + |
554 |
"src/all/types/ref/TestTypes.java Types all.types.ref.TestTypes.method(Types) [ @§|Bug|§(comment=\"method\", num=155013)@424] EXACT_MATCH\n" + |
555 |
"src/type/def/Types.java type.def.Types [@§|Bug|§@19] EXACT_MATCH\n" + |
556 |
"src/type/def/Types.java type.def.Types [@§|ATest|§@24] EXACT_MATCH\n" + |
557 |
"src/type/def/Types.java type.def.ITest1 [@§|Bug|§@128] EXACT_MATCH\n" + |
558 |
"src/type/def/Types.java type.def.ITest2 [@§|ATest|§@153] EXACT_MATCH\n" + |
559 |
"src/type/def/Types.java type.def.ETest [@§|Bug|§@195] EXACT_MATCH\n" + |
560 |
"src/type/def/Types.java type.def.ETest [@§|ATest|§@200] EXACT_MATCH\n" + |
561 |
"src/type/def/Types.java type.def.ATest [@§|Bug|§@221] EXACT_MATCH" |
562 |
); |
563 |
} |
564 |
public void testTypeRefAll_Cast() throws CoreException { |
565 |
setUpTypeRefAll(); |
566 |
search("*", TYPE, CAST_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope()); |
567 |
assertSearchResults( |
568 |
"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.{} [ t = (§|Types|§) o;@391] EXACT_MATCH\n" + |
569 |
"src/all/types/ref/TestTypes.java Types all.types.ref.TestTypes.method(Types) [ Types local = (§|Types|§) obj;@545] EXACT_MATCH\n" + |
570 |
"src/all/types/ref/TestTypes.java all.types.ref.TestTypes() [ this.str = (§|String|§) this.object;@847] EXACT_MATCH" |
571 |
); |
572 |
} |
573 |
public void testTypeRefAll_Catch() throws CoreException { |
574 |
setUpTypeRefAll(); |
575 |
search("*", TYPE, CATCH_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope()); |
576 |
assertSearchResults( |
577 |
"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.{} [ } catch (§|RuntimeException|§ e) {@304] EXACT_MATCH\n" + |
578 |
"src/all/types/ref/TestTypes.java Bug all.types.ref.TestTypes.bar(Bug) [ catch (§|Types|§ ex) {}@634] EXACT_MATCH\n" + |
579 |
"src/all/types/ref/TestTypes.java Bug all.types.ref.TestTypes.bar(Bug) [ catch (§|Exception|§ ex) {}@656] EXACT_MATCH" |
580 |
); |
581 |
} |
582 |
public void testTypeRefAll_Field() throws CoreException { |
583 |
setUpTypeRefAll(); |
584 |
search("*", TYPE, FIELD_TYPE_DECLARATION_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope()); |
585 |
assertSearchResults( |
586 |
"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.field [ §|Types|§ field = new Types(), local, other = new Types();@149] EXACT_MATCH\n" + |
587 |
"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.object [ §|Object|§ object;@719] EXACT_MATCH\n" + |
588 |
"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.str [ §|String|§ str;@735] EXACT_MATCH\n" + |
589 |
"src/type/def/Types.java type.def.Types.test1 [ §|ITest1|§ test1;@96] EXACT_MATCH\n" + |
590 |
"src/type/def/Types.java type.def.Types.test2 [ §|ITest2|§ test2;@111] EXACT_MATCH" |
591 |
); |
592 |
} |
593 |
public void testTypeRefAll_Import() throws CoreException { |
594 |
setUpTypeRefAll(); |
595 |
search("*", TYPE, IMPORT_DECLARATION_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope()); |
596 |
assertSearchResults( |
597 |
"src/all/types/ref/TestTypes.java [import §|type.def.Bug|§;@31] EXACT_MATCH\n" + |
598 |
"src/all/types/ref/TestTypes.java [import §|type.def.Types|§;@52] EXACT_MATCH" |
599 |
); |
600 |
} |
601 |
public void testTypeRefAll_MethodParameter() throws CoreException { |
602 |
setUpTypeRefAll(); |
603 |
search("*", TYPE, PARAMETER_TYPE_DECLARATION_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope()); |
604 |
assertSearchResults( |
605 |
"src/all/types/ref/TestTypes.java Types all.types.ref.TestTypes.method(Types) [ Types method(§|Types|§ param) throws Types {@472] EXACT_MATCH\n" + |
606 |
"src/all/types/ref/TestTypes.java Bug all.types.ref.TestTypes.bar(Bug) [ Bug bar(§|Bug|§ bug) {@585] EXACT_MATCH" |
607 |
); |
608 |
} |
609 |
public void testTypeRefAll_Return() throws CoreException { |
610 |
setUpTypeRefAll(); |
611 |
search("*", TYPE, RETURN_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope()); |
612 |
assertSearchResults( |
613 |
"src/all/types/ref/TestTypes.java Types all.types.ref.TestTypes.method(Types) [ §|Types|§ method(Types param) throws Types {@459] EXACT_MATCH\n" + |
614 |
"src/all/types/ref/TestTypes.java Bug all.types.ref.TestTypes.bar(Bug) [ §|Bug|§ bar(Bug bug) {@577] EXACT_MATCH" |
615 |
); |
616 |
} |
617 |
public void testTypeRefAll_Superinterface() throws CoreException { |
618 |
setUpTypeRefAll(); |
619 |
search("*", TYPE, SUPERINTERFACE_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope()); |
620 |
assertSearchResults( |
621 |
"src/type/def/Types.java type.def.Types [public class Types extends Exception implements §|ITest1|§, ITest2 {@78] EXACT_MATCH\n" + |
622 |
"src/type/def/Types.java type.def.Types [public class Types extends Exception implements ITest1, §|ITest2|§ {@86] EXACT_MATCH\n" + |
623 |
"src/type/def/Types.java type.def.ITest2 [interface ITest2 extends §|ITest1|§ {}@184] EXACT_MATCH" |
624 |
); |
625 |
} |
626 |
public void testTypeRefAll_Supertype() throws CoreException { |
627 |
setUpTypeRefAll(); |
628 |
search("*", TYPE, SUPERTYPE_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope()); |
629 |
assertSearchResults( |
630 |
"src/all/types/ref/TestTypes.java all.types.ref.TestTypes [public class TestTypes extends §|Types|§ {@117] EXACT_MATCH\n" + |
631 |
"src/type/def/Types.java type.def.Types [public class Types extends §|Exception|§ implements ITest1, ITest2 {@57] EXACT_MATCH" |
632 |
); |
633 |
} |
634 |
public void testTypeRefAll_Throws() throws CoreException { |
635 |
setUpTypeRefAll(); |
636 |
search("*", TYPE, THROWS_CLAUSE_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope()); |
637 |
assertSearchResults( |
638 |
"src/all/types/ref/TestTypes.java Types all.types.ref.TestTypes.method(Types) [ Types method(Types param) throws §|Types|§ {@492] EXACT_MATCH\n" + |
639 |
"src/all/types/ref/TestTypes.java all.types.ref.TestTypes() [ TestTypes() throws §|Types|§, RuntimeException {@767] EXACT_MATCH\n" + |
640 |
"src/all/types/ref/TestTypes.java all.types.ref.TestTypes() [ TestTypes() throws Types, §|RuntimeException|§ {@774] EXACT_MATCH" |
641 |
); |
642 |
} |
643 |
public void testTypeRefAll_Variable() throws CoreException { |
644 |
setUpTypeRefAll(); |
645 |
search("*", TYPE, LOCAL_VARIABLE_DECLARATION_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope()); |
646 |
assertSearchResults( |
647 |
"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.{} [ §|Object|§ o;@209] EXACT_MATCH\n" + |
648 |
"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.{} [ §|Types|§ t;@221] EXACT_MATCH\n" + |
649 |
"src/all/types/ref/TestTypes.java Types all.types.ref.TestTypes.method(Types) [ §|Object|§ obj = new Types();@502] EXACT_MATCH\n" + |
650 |
"src/all/types/ref/TestTypes.java Types all.types.ref.TestTypes.method(Types) [ §|Types|§ local = (Types) obj;@530] EXACT_MATCH" |
651 |
); |
652 |
} |
653 |
|
654 |
private final static int ALL_GENERIC_TYPE_FINE_GRAIN_FLAGS = |
655 |
TYPE_VARIABLE_BOUND_TYPE_REFERENCE | |
656 |
PARAMETERIZED_TYPE_REFERENCE | |
657 |
WILDCARD_BOUND_TYPE_REFERENCE; |
658 |
|
659 |
/* |
660 |
* References to a specific generic IType and all types. |
661 |
*/ |
662 |
private IType setUpTypeRefGeneric01() throws JavaModelException { |
663 |
final ProblemRequestor problemRequestor = new ProblemRequestor(); |
664 |
this.wcOwner = new WorkingCopyOwner() { |
665 |
public IProblemRequestor getProblemRequestor(ICompilationUnit workingCopy) { |
666 |
return problemRequestor; |
667 |
} |
668 |
}; |
669 |
workingCopies = new ICompilationUnit[3]; |
670 |
workingCopies[0] = getWorkingCopy("/JavaSearch15/src/type/def/Types.java", |
671 |
"package type.def;\n" + |
672 |
"public class Types {}\n" |
673 |
); |
674 |
workingCopies[1] = getWorkingCopy("/JavaSearch15/src/test01/Generic.java", |
675 |
"package test01;\n" + |
676 |
"import java.io.Serializable;\n" + |
677 |
"import type.def.Types;\n" + |
678 |
"public class Generic<T extends Types, U extends Types & Comparable<Types> & Serializable, V extends A<? super Types>> {\n" + |
679 |
" Generic<? extends Types, ?, ?> field;\n" + |
680 |
" Comparable<String> comp;\n" + |
681 |
" Class<? extends Exception> clazz;\n" + |
682 |
"}\n" + |
683 |
"class A<R> {}\n" |
684 |
); |
685 |
workingCopies[2] = getWorkingCopy("/JavaSearch15/src/test01/TestGeneric.java", |
686 |
"package test01;\n" + |
687 |
"import java.io.Serializable;\n" + |
688 |
"import type.def.Types;\n" + |
689 |
"public class TestGeneric<T> extends Generic<Types, UClass, VClass> {\n" + |
690 |
" TestGeneric<Types> test;\n" + |
691 |
" TestGeneric<String> foo(TestGeneric<Types> param1, Comparable<String> param2) {\n" + |
692 |
" return null;\n" + |
693 |
" }\n" + |
694 |
" Comparable<TestGeneric<Types>> bar() {\n" + |
695 |
" return null;\n" + |
696 |
" } \n" + |
697 |
"}\n" + |
698 |
"class UClass extends Types implements Comparable<Types>, Serializable {\n" + |
699 |
" private static final long serialVersionUID = 1L;\n" + |
700 |
" public int compareTo(Types o) {\n" + |
701 |
" return 0;\n" + |
702 |
" }\n" + |
703 |
"}\n" + |
704 |
"class VClass extends A<Types> {}\n" |
705 |
); |
706 |
assertEquals("CU Should not have any problem!", |
707 |
"----------\n" + |
708 |
"----------\n", |
709 |
problemRequestor.problems.toString() |
710 |
); |
711 |
this.resultCollector.showSelection = true; |
712 |
this.resultCollector.showOffset = true; |
713 |
return workingCopies[0].getType("Types"); |
714 |
} |
715 |
public void testTypeRefGeneric01() throws CoreException { |
716 |
search(setUpTypeRefGeneric01(), REFERENCES); |
717 |
assertSearchResults( |
718 |
"src/test01/Generic.java [import §|type.def.Types|§;@52] EXACT_MATCH\n" + |
719 |
"src/test01/Generic.java test01.Generic [public class Generic<T extends §|Types|§, U extends Types & Comparable<Types> & Serializable, V extends A<? super Types>> {@99] EXACT_MATCH\n" + |
720 |
"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends §|Types|§ & Comparable<Types> & Serializable, V extends A<? super Types>> {@116] EXACT_MATCH\n" + |
721 |
"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<§|Types|§> & Serializable, V extends A<? super Types>> {@135] EXACT_MATCH\n" + |
722 |
"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & Serializable, V extends A<? super §|Types|§>> {@178] EXACT_MATCH\n" + |
723 |
"src/test01/Generic.java test01.Generic.field [ Generic<? extends §|Types|§, ?, ?> field;@207] EXACT_MATCH\n" + |
724 |
"src/test01/TestGeneric.java [import §|type.def.Types|§;@52] EXACT_MATCH\n" + |
725 |
"src/test01/TestGeneric.java test01.TestGeneric [public class TestGeneric<T> extends Generic<§|Types|§, UClass, VClass> {@112] EXACT_MATCH\n" + |
726 |
"src/test01/TestGeneric.java test01.TestGeneric.test [ TestGeneric<§|Types|§> test;@150] EXACT_MATCH\n" + |
727 |
"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [ TestGeneric<String> foo(TestGeneric<§|Types|§> param1, Comparable<String> param2) {@200] EXACT_MATCH\n" + |
728 |
"src/test01/TestGeneric.java Comparable<TestGeneric<Types>> test01.TestGeneric.bar() [ Comparable<TestGeneric<§|Types|§>> bar() {@287] EXACT_MATCH\n" + |
729 |
"src/test01/TestGeneric.java test01.UClass [class UClass extends §|Types|§ implements Comparable<Types>, Serializable {@345] EXACT_MATCH\n" + |
730 |
"src/test01/TestGeneric.java test01.UClass [class UClass extends Types implements Comparable<§|Types|§>, Serializable {@373] EXACT_MATCH\n" + |
731 |
"src/test01/TestGeneric.java int test01.UClass.compareTo(Types) [ public int compareTo(§|Types|§ o) {@468] EXACT_MATCH\n" + |
732 |
"src/test01/TestGeneric.java test01.VClass [class VClass extends A<§|Types|§> {}@519] EXACT_MATCH" |
733 |
); |
734 |
} |
735 |
public void testTypeRefGeneric01_AllFlags() throws CoreException { |
736 |
search(setUpTypeRefGeneric01(), ALL_TYPE_FINE_GRAIN_FLAGS); |
737 |
assertSearchResults( |
738 |
"src/test01/Generic.java [import §|type.def.Types|§;@52] EXACT_MATCH\n" + |
739 |
"src/test01/Generic.java test01.Generic [public class Generic<T extends §|Types|§, U extends Types & Comparable<Types> & Serializable, V extends A<? super Types>> {@99] EXACT_MATCH\n" + |
740 |
"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends §|Types|§ & Comparable<Types> & Serializable, V extends A<? super Types>> {@116] EXACT_MATCH\n" + |
741 |
"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<§|Types|§> & Serializable, V extends A<? super Types>> {@135] EXACT_MATCH\n" + |
742 |
"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & Serializable, V extends A<? super §|Types|§>> {@178] EXACT_MATCH\n" + |
743 |
"src/test01/Generic.java test01.Generic.field [ Generic<? extends §|Types|§, ?, ?> field;@207] EXACT_MATCH\n" + |
744 |
"src/test01/TestGeneric.java [import §|type.def.Types|§;@52] EXACT_MATCH\n" + |
745 |
"src/test01/TestGeneric.java test01.TestGeneric [public class TestGeneric<T> extends Generic<§|Types|§, UClass, VClass> {@112] EXACT_MATCH\n" + |
746 |
"src/test01/TestGeneric.java test01.TestGeneric.test [ TestGeneric<§|Types|§> test;@150] EXACT_MATCH\n" + |
747 |
"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [ TestGeneric<String> foo(TestGeneric<§|Types|§> param1, Comparable<String> param2) {@200] EXACT_MATCH\n" + |
748 |
"src/test01/TestGeneric.java Comparable<TestGeneric<Types>> test01.TestGeneric.bar() [ Comparable<TestGeneric<§|Types|§>> bar() {@287] EXACT_MATCH\n" + |
749 |
"src/test01/TestGeneric.java test01.UClass [class UClass extends §|Types|§ implements Comparable<Types>, Serializable {@345] EXACT_MATCH\n" + |
750 |
"src/test01/TestGeneric.java test01.UClass [class UClass extends Types implements Comparable<§|Types|§>, Serializable {@373] EXACT_MATCH\n" + |
751 |
"src/test01/TestGeneric.java int test01.UClass.compareTo(Types) [ public int compareTo(§|Types|§ o) {@468] EXACT_MATCH\n" + |
752 |
"src/test01/TestGeneric.java test01.VClass [class VClass extends A<§|Types|§> {}@519] EXACT_MATCH" |
753 |
); |
754 |
} |
755 |
public void testTypeRefGeneric01_Parameterized() throws CoreException { |
756 |
search(setUpTypeRefGeneric01(), PARAMETERIZED_TYPE_REFERENCE); |
757 |
assertSearchResults( |
758 |
"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<§|Types|§> & Serializable, V extends A<? super Types>> {@135] EXACT_MATCH\n" + |
759 |
"src/test01/TestGeneric.java test01.TestGeneric [public class TestGeneric<T> extends Generic<§|Types|§, UClass, VClass> {@112] EXACT_MATCH\n" + |
760 |
"src/test01/TestGeneric.java test01.TestGeneric.test [ TestGeneric<§|Types|§> test;@150] EXACT_MATCH\n" + |
761 |
"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [ TestGeneric<String> foo(TestGeneric<§|Types|§> param1, Comparable<String> param2) {@200] EXACT_MATCH\n" + |
762 |
"src/test01/TestGeneric.java Comparable<TestGeneric<Types>> test01.TestGeneric.bar() [ Comparable<TestGeneric<§|Types|§>> bar() {@287] EXACT_MATCH\n" + |
763 |
"src/test01/TestGeneric.java test01.UClass [class UClass extends Types implements Comparable<§|Types|§>, Serializable {@373] EXACT_MATCH\n" + |
764 |
"src/test01/TestGeneric.java test01.VClass [class VClass extends A<§|Types|§> {}@519] EXACT_MATCH" |
765 |
); |
766 |
} |
767 |
public void testTypeRefGeneric01_TypeVariableBound() throws CoreException { |
768 |
search(setUpTypeRefGeneric01(), TYPE_VARIABLE_BOUND_TYPE_REFERENCE); |
769 |
assertSearchResults( |
770 |
"src/test01/Generic.java test01.Generic [public class Generic<T extends §|Types|§, U extends Types & Comparable<Types> & Serializable, V extends A<? super Types>> {@99] EXACT_MATCH\n" + |
771 |
"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends §|Types|§ & Comparable<Types> & Serializable, V extends A<? super Types>> {@116] EXACT_MATCH" |
772 |
); |
773 |
} |
774 |
public void testTypeRefGeneric01_WildcardBound() throws CoreException { |
775 |
search(setUpTypeRefGeneric01(), WILDCARD_BOUND_TYPE_REFERENCE); |
776 |
assertSearchResults( |
777 |
"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & Serializable, V extends A<? super §|Types|§>> {@178] EXACT_MATCH\n" + |
778 |
"src/test01/Generic.java test01.Generic.field [ Generic<? extends §|Types|§, ?, ?> field;@207] EXACT_MATCH" |
779 |
); |
780 |
} |
781 |
public void testTypeRefGenericAll01() throws CoreException { |
782 |
setUpTypeRefGeneric01(); |
783 |
search("*", TYPE, REFERENCES, getJavaSearchWorkingCopiesScope()); |
784 |
assertSearchResults( |
785 |
"src/test01/Generic.java [import §|java.io.Serializable|§;@23] EXACT_MATCH\n" + |
786 |
"src/test01/Generic.java [import §|type.def.Types|§;@52] EXACT_MATCH\n" + |
787 |
"src/test01/Generic.java test01.Generic [public class Generic<T extends §|Types|§, U extends Types & Comparable<Types> & Serializable, V extends A<? super Types>> {@99] EXACT_MATCH\n" + |
788 |
"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends §|Types|§ & Comparable<Types> & Serializable, V extends A<? super Types>> {@116] EXACT_MATCH\n" + |
789 |
"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & §|Comparable|§<Types> & Serializable, V extends A<? super Types>> {@124] EXACT_MATCH\n" + |
790 |
"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<§|Types|§> & Serializable, V extends A<? super Types>> {@135] EXACT_MATCH\n" + |
791 |
"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & §|Serializable|§, V extends A<? super Types>> {@144] EXACT_MATCH\n" + |
792 |
"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & Serializable, V extends §|A|§<? super Types>> {@168] EXACT_MATCH\n" + |
793 |
"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & Serializable, V extends A<? super §|Types|§>> {@178] EXACT_MATCH\n" + |
794 |
"src/test01/Generic.java test01.Generic.field [ §|Generic|§<? extends Types, ?, ?> field;@189] EXACT_MATCH\n" + |
795 |
"src/test01/Generic.java test01.Generic.field [ Generic<? extends §|Types|§, ?, ?> field;@207] EXACT_MATCH\n" + |
796 |
"src/test01/Generic.java test01.Generic.comp [ §|Comparable|§<String> comp;@228] EXACT_MATCH\n" + |
797 |
"src/test01/Generic.java test01.Generic.comp [ Comparable<§|String|§> comp;@239] EXACT_MATCH\n" + |
798 |
"src/test01/Generic.java test01.Generic.clazz [ §|Class|§<? extends Exception> clazz;@254] EXACT_MATCH\n" + |
799 |
"src/test01/Generic.java test01.Generic.clazz [ Class<? extends §|Exception|§> clazz;@270] EXACT_MATCH\n" + |
800 |
"src/test01/TestGeneric.java [import §|java.io.Serializable|§;@23] EXACT_MATCH\n" + |
801 |
"src/test01/TestGeneric.java [import §|type.def.Types|§;@52] EXACT_MATCH\n" + |
802 |
"src/test01/TestGeneric.java test01.TestGeneric [public class TestGeneric<T> extends §|Generic|§<Types, UClass, VClass> {@104] EXACT_MATCH\n" + |
803 |
"src/test01/TestGeneric.java test01.TestGeneric [public class TestGeneric<T> extends Generic<§|Types|§, UClass, VClass> {@112] EXACT_MATCH\n" + |
804 |
"src/test01/TestGeneric.java test01.TestGeneric [public class TestGeneric<T> extends Generic<Types, §|UClass|§, VClass> {@119] EXACT_MATCH\n" + |
805 |
"src/test01/TestGeneric.java test01.TestGeneric [public class TestGeneric<T> extends Generic<Types, UClass, §|VClass|§> {@127] EXACT_MATCH\n" + |
806 |
"src/test01/TestGeneric.java test01.TestGeneric.test [ §|TestGeneric|§<Types> test;@138] EXACT_MATCH\n" + |
807 |
"src/test01/TestGeneric.java test01.TestGeneric.test [ TestGeneric<§|Types|§> test;@150] EXACT_MATCH\n" + |
808 |
"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [ §|TestGeneric|§<String> foo(TestGeneric<Types> param1, Comparable<String> param2) {@164] EXACT_MATCH\n" + |
809 |
"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [ TestGeneric<§|String|§> foo(TestGeneric<Types> param1, Comparable<String> param2) {@176] EXACT_MATCH\n" + |
810 |
"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [ TestGeneric<String> foo(§|TestGeneric|§<Types> param1, Comparable<String> param2) {@188] EXACT_MATCH\n" + |
811 |
"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [ TestGeneric<String> foo(TestGeneric<§|Types|§> param1, Comparable<String> param2) {@200] EXACT_MATCH\n" + |
812 |
"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [ TestGeneric<String> foo(TestGeneric<Types> param1, §|Comparable|§<String> param2) {@215] EXACT_MATCH\n" + |
813 |
"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [ TestGeneric<String> foo(TestGeneric<Types> param1, Comparable<§|String|§> param2) {@226] EXACT_MATCH\n" + |
814 |
"src/test01/TestGeneric.java Comparable<TestGeneric<Types>> test01.TestGeneric.bar() [ §|Comparable|§<TestGeneric<Types>> bar() {@264] EXACT_MATCH\n" + |
815 |
"src/test01/TestGeneric.java Comparable<TestGeneric<Types>> test01.TestGeneric.bar() [ Comparable<§|TestGeneric|§<Types>> bar() {@275] EXACT_MATCH\n" + |
816 |
"src/test01/TestGeneric.java Comparable<TestGeneric<Types>> test01.TestGeneric.bar() [ Comparable<TestGeneric<§|Types|§>> bar() {@287] EXACT_MATCH\n" + |
817 |
"src/test01/TestGeneric.java test01.UClass [class UClass extends §|Types|§ implements Comparable<Types>, Serializable {@345] EXACT_MATCH\n" + |
818 |
"src/test01/TestGeneric.java test01.UClass [class UClass extends Types implements §|Comparable|§<Types>, Serializable {@362] EXACT_MATCH\n" + |
819 |
"src/test01/TestGeneric.java test01.UClass [class UClass extends Types implements Comparable<§|Types|§>, Serializable {@373] EXACT_MATCH\n" + |
820 |
"src/test01/TestGeneric.java test01.UClass [class UClass extends Types implements Comparable<Types>, §|Serializable|§ {@381] EXACT_MATCH\n" + |
821 |
"src/test01/TestGeneric.java test01.UClass.serialVersionUID [ private static final §|long|§ serialVersionUID = 1L;@418] EXACT_MATCH\n" + |
822 |
"src/test01/TestGeneric.java int test01.UClass.compareTo(Types) [ public §|int|§ compareTo(Types o) {@454] EXACT_MATCH\n" + |
823 |
"src/test01/TestGeneric.java int test01.UClass.compareTo(Types) [ public int compareTo(§|Types|§ o) {@468] EXACT_MATCH\n" + |
824 |
"src/test01/TestGeneric.java test01.VClass [class VClass extends §|A|§<Types> {}@517] EXACT_MATCH\n" + |
825 |
"src/test01/TestGeneric.java test01.VClass [class VClass extends A<§|Types|§> {}@519] EXACT_MATCH" |
826 |
); |
827 |
} |
828 |
public void testTypeRefGenericAll01_AllGenericFlags() throws CoreException { |
829 |
setUpTypeRefGeneric01(); |
830 |
search("*", TYPE, ALL_GENERIC_TYPE_FINE_GRAIN_FLAGS, getJavaSearchWorkingCopiesScope()); |
831 |
assertSearchResults( |
832 |
"src/test01/Generic.java test01.Generic [public class Generic<T extends §|Types|§, U extends Types & Comparable<Types> & Serializable, V extends A<? super Types>> {@99] EXACT_MATCH\n" + |
833 |
"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends §|Types|§ & Comparable<Types> & Serializable, V extends A<? super Types>> {@116] EXACT_MATCH\n" + |
834 |
"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & §|Comparable|§<Types> & Serializable, V extends A<? super Types>> {@124] EXACT_MATCH\n" + |
835 |
"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<§|Types|§> & Serializable, V extends A<? super Types>> {@135] EXACT_MATCH\n" + |
836 |
"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & §|Serializable|§, V extends A<? super Types>> {@144] EXACT_MATCH\n" + |
837 |
"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & Serializable, V extends §|A|§<? super Types>> {@168] EXACT_MATCH\n" + |
838 |
"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & Serializable, V extends A<? super §|Types|§>> {@178] EXACT_MATCH\n" + |
839 |
"src/test01/Generic.java test01.Generic.field [ Generic<? extends §|Types|§, ?, ?> field;@207] EXACT_MATCH\n" + |
840 |
"src/test01/Generic.java test01.Generic.comp [ Comparable<§|String|§> comp;@239] EXACT_MATCH\n" + |
841 |
"src/test01/Generic.java test01.Generic.clazz [ Class<? extends §|Exception|§> clazz;@270] EXACT_MATCH\n" + |
842 |
"src/test01/TestGeneric.java test01.TestGeneric [public class TestGeneric<T> extends Generic<§|Types|§, UClass, VClass> {@112] EXACT_MATCH\n" + |
843 |
"src/test01/TestGeneric.java test01.TestGeneric [public class TestGeneric<T> extends Generic<Types, §|UClass|§, VClass> {@119] EXACT_MATCH\n" + |
844 |
"src/test01/TestGeneric.java test01.TestGeneric [public class TestGeneric<T> extends Generic<Types, UClass, §|VClass|§> {@127] EXACT_MATCH\n" + |
845 |
"src/test01/TestGeneric.java test01.TestGeneric.test [ TestGeneric<§|Types|§> test;@150] EXACT_MATCH\n" + |
846 |
"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [ TestGeneric<§|String|§> foo(TestGeneric<Types> param1, Comparable<String> param2) {@176] EXACT_MATCH\n" + |
847 |
"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [ TestGeneric<String> foo(TestGeneric<§|Types|§> param1, Comparable<String> param2) {@200] EXACT_MATCH\n" + |
848 |
"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [ TestGeneric<String> foo(TestGeneric<Types> param1, Comparable<§|String|§> param2) {@226] EXACT_MATCH\n" + |
849 |
"src/test01/TestGeneric.java Comparable<TestGeneric<Types>> test01.TestGeneric.bar() [ Comparable<§|TestGeneric|§<Types>> bar() {@275] EXACT_MATCH\n" + |
850 |
"src/test01/TestGeneric.java Comparable<TestGeneric<Types>> test01.TestGeneric.bar() [ Comparable<TestGeneric<§|Types|§>> bar() {@287] EXACT_MATCH\n" + |
851 |
"src/test01/TestGeneric.java test01.UClass [class UClass extends Types implements Comparable<§|Types|§>, Serializable {@373] EXACT_MATCH\n" + |
852 |
"src/test01/TestGeneric.java test01.VClass [class VClass extends A<§|Types|§> {}@519] EXACT_MATCH" |
853 |
); |
854 |
} |
855 |
public void testTypeRefGenericAll01_Parameterized() throws CoreException { |
856 |
setUpTypeRefGeneric01(); |
857 |
search("*", TYPE, PARAMETERIZED_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope()); |
858 |
assertSearchResults( |
859 |
"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<§|Types|§> & Serializable, V extends A<? super Types>> {@135] EXACT_MATCH\n" + |
860 |
"src/test01/Generic.java test01.Generic.comp [ Comparable<§|String|§> comp;@239] EXACT_MATCH\n" + |
861 |
"src/test01/TestGeneric.java test01.TestGeneric [public class TestGeneric<T> extends Generic<§|Types|§, UClass, VClass> {@112] EXACT_MATCH\n" + |
862 |
"src/test01/TestGeneric.java test01.TestGeneric [public class TestGeneric<T> extends Generic<Types, §|UClass|§, VClass> {@119] EXACT_MATCH\n" + |
863 |
"src/test01/TestGeneric.java test01.TestGeneric [public class TestGeneric<T> extends Generic<Types, UClass, §|VClass|§> {@127] EXACT_MATCH\n" + |
864 |
"src/test01/TestGeneric.java test01.TestGeneric.test [ TestGeneric<§|Types|§> test;@150] EXACT_MATCH\n" + |
865 |
"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [ TestGeneric<§|String|§> foo(TestGeneric<Types> param1, Comparable<String> param2) {@176] EXACT_MATCH\n" + |
866 |
"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [ TestGeneric<String> foo(TestGeneric<§|Types|§> param1, Comparable<String> param2) {@200] EXACT_MATCH\n" + |
867 |
"src/test01/TestGeneric.java TestGeneric<String> test01.TestGeneric.foo(TestGeneric<Types>, Comparable<String>) [ TestGeneric<String> foo(TestGeneric<Types> param1, Comparable<§|String|§> param2) {@226] EXACT_MATCH\n" + |
868 |
"src/test01/TestGeneric.java Comparable<TestGeneric<Types>> test01.TestGeneric.bar() [ Comparable<§|TestGeneric|§<Types>> bar() {@275] EXACT_MATCH\n" + |
869 |
"src/test01/TestGeneric.java Comparable<TestGeneric<Types>> test01.TestGeneric.bar() [ Comparable<TestGeneric<§|Types|§>> bar() {@287] EXACT_MATCH\n" + |
870 |
"src/test01/TestGeneric.java test01.UClass [class UClass extends Types implements Comparable<§|Types|§>, Serializable {@373] EXACT_MATCH\n" + |
871 |
"src/test01/TestGeneric.java test01.VClass [class VClass extends A<§|Types|§> {}@519] EXACT_MATCH" |
872 |
); |
873 |
} |
874 |
public void testTypeRefGenericAll01_TypeVariableBound() throws CoreException { |
875 |
setUpTypeRefGeneric01(); |
876 |
search("*", TYPE, TYPE_VARIABLE_BOUND_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope()); |
877 |
assertSearchResults( |
878 |
"src/test01/Generic.java test01.Generic [public class Generic<T extends §|Types|§, U extends Types & Comparable<Types> & Serializable, V extends A<? super Types>> {@99] EXACT_MATCH\n" + |
879 |
"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends §|Types|§ & Comparable<Types> & Serializable, V extends A<? super Types>> {@116] EXACT_MATCH\n" + |
880 |
"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & §|Comparable|§<Types> & Serializable, V extends A<? super Types>> {@124] EXACT_MATCH\n" + |
881 |
"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & §|Serializable|§, V extends A<? super Types>> {@144] EXACT_MATCH\n" + |
882 |
"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & Serializable, V extends §|A|§<? super Types>> {@168] EXACT_MATCH" |
883 |
); |
884 |
} |
885 |
public void testTypeRefGenericAll01_WildcardBound() throws CoreException { |
886 |
setUpTypeRefGeneric01(); |
887 |
search("*", TYPE, WILDCARD_BOUND_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope()); |
888 |
assertSearchResults( |
889 |
"src/test01/Generic.java test01.Generic [public class Generic<T extends Types, U extends Types & Comparable<Types> & Serializable, V extends A<? super §|Types|§>> {@178] EXACT_MATCH\n" + |
890 |
"src/test01/Generic.java test01.Generic.field [ Generic<? extends §|Types|§, ?, ?> field;@207] EXACT_MATCH\n" + |
891 |
"src/test01/Generic.java test01.Generic.clazz [ Class<? extends §|Exception|§> clazz;@270] EXACT_MATCH" |
892 |
); |
893 |
} |
894 |
/* |
895 |
* Same test than previous ones with another example |
896 |
*/ |
897 |
private IType setUpTypeRefGeneric02() throws JavaModelException { |
898 |
final ProblemRequestor problemRequestor = new ProblemRequestor(); |
899 |
this.wcOwner = new WorkingCopyOwner() { |
900 |
public IProblemRequestor getProblemRequestor(ICompilationUnit workingCopy) { |
901 |
return problemRequestor; |
902 |
} |
903 |
}; |
904 |
workingCopies = new ICompilationUnit[1]; |
905 |
workingCopies[0] = getWorkingCopy("/JavaSearch15/src/test02/Test.java", |
906 |
"package test02;\n" + |
907 |
"public class Test <T, U, V> {\n" + |
908 |
" Test<A, ? extends B, ? super C> field = new Test<A, Z<String>, X<String>> () {\n" + |
909 |
" X<String> x;\n" + |
910 |
" Test<A, B, C> t;\n" + |
911 |
" Test<X<Y<Z<String>>>, Y<Z<String>>, Z<String>> bar() {\n" + |
912 |
" return new Test<X<Y<Z<String>>>, Y<Z<String>>, Z<String>>();\n" + |
913 |
" }\n" + |
914 |
" };\n" + |
915 |
" Test<? super A, B, ? extends C> foo(Test<? extends A, ? super B, C> param) {\n" + |
916 |
" return null;\n" + |
917 |
" };\n" + |
918 |
"}\n" + |
919 |
"class A {}\n" + |
920 |
"class B {}\n" + |
921 |
"class C extends X<String> {}\n" + |
922 |
"class X<R> {}\n" + |
923 |
"class Y<S> extends A {}\n" + |
924 |
"class Z<P> extends B {}\n" + |
925 |
"\n" |
926 |
); |
927 |
assertEquals("CU Should not have any problem!", |
928 |
"----------\n" + |
929 |
"----------\n", |
930 |
problemRequestor.problems.toString() |
931 |
); |
932 |
this.resultCollector.showSelection = true; |
933 |
this.resultCollector.showOffset = true; |
934 |
return workingCopies[0].getType("Types"); |
935 |
} |
936 |
public void testTypeRefGenericAll02() throws CoreException { |
937 |
setUpTypeRefGeneric02(); |
938 |
search("*", TYPE, REFERENCES, getJavaSearchWorkingCopiesScope()); |
939 |
assertSearchResults( |
940 |
"src/test02/Test.java test02.Test.field:<anonymous>#1 [ Test<A, ? extends B, ? super C> field = new §|Test|§<A, Z<String>, X<String>> () {@91] EXACT_MATCH\n" + |
941 |
"src/test02/Test.java test02.Test.field:<anonymous>#1.x [ §|X|§<String> x;@128] EXACT_MATCH\n" + |
942 |
"src/test02/Test.java test02.Test.field:<anonymous>#1.x [ X<§|String|§> x;@130] EXACT_MATCH\n" + |
943 |
"src/test02/Test.java test02.Test.field:<anonymous>#1.t [ §|Test|§<A, B, C> t;@143] EXACT_MATCH\n" + |
944 |
"src/test02/Test.java test02.Test.field:<anonymous>#1.t [ Test<§|A|§, B, C> t;@148] EXACT_MATCH\n" + |
945 |
"src/test02/Test.java test02.Test.field:<anonymous>#1.t [ Test<A, §|B|§, C> t;@151] EXACT_MATCH\n" + |
946 |
"src/test02/Test.java test02.Test.field:<anonymous>#1.t [ Test<A, B, §|C|§> t;@154] EXACT_MATCH\n" + |
947 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ §|Test|§<X<Y<Z<String>>>, Y<Z<String>>, Z<String>> bar() {@162] EXACT_MATCH\n" + |
948 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ Test<§|X|§<Y<Z<String>>>, Y<Z<String>>, Z<String>> bar() {@167] EXACT_MATCH\n" + |
949 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ Test<X<§|Y|§<Z<String>>>, Y<Z<String>>, Z<String>> bar() {@169] EXACT_MATCH\n" + |
950 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ Test<X<Y<§|Z|§<String>>>, Y<Z<String>>, Z<String>> bar() {@171] EXACT_MATCH\n" + |
951 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ Test<X<Y<Z<§|String|§>>>, Y<Z<String>>, Z<String>> bar() {@173] EXACT_MATCH\n" + |
952 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ Test<X<Y<Z<String>>>, §|Y|§<Z<String>>, Z<String>> bar() {@184] EXACT_MATCH\n" + |
953 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ Test<X<Y<Z<String>>>, Y<§|Z|§<String>>, Z<String>> bar() {@186] EXACT_MATCH\n" + |
954 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ Test<X<Y<Z<String>>>, Y<Z<§|String|§>>, Z<String>> bar() {@188] EXACT_MATCH\n" + |
955 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ Test<X<Y<Z<String>>>, Y<Z<String>>, §|Z|§<String>> bar() {@198] EXACT_MATCH\n" + |
956 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ Test<X<Y<Z<String>>>, Y<Z<String>>, Z<§|String|§>> bar() {@200] EXACT_MATCH\n" + |
957 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ return new §|Test|§<X<Y<Z<String>>>, Y<Z<String>>, Z<String>>();@231] EXACT_MATCH\n" + |
958 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ return new Test<§|X|§<Y<Z<String>>>, Y<Z<String>>, Z<String>>();@236] EXACT_MATCH\n" + |
959 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ return new Test<X<§|Y|§<Z<String>>>, Y<Z<String>>, Z<String>>();@238] EXACT_MATCH\n" + |
960 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ return new Test<X<Y<§|Z|§<String>>>, Y<Z<String>>, Z<String>>();@240] EXACT_MATCH\n" + |
961 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ return new Test<X<Y<Z<§|String|§>>>, Y<Z<String>>, Z<String>>();@242] EXACT_MATCH\n" + |
962 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ return new Test<X<Y<Z<String>>>, §|Y|§<Z<String>>, Z<String>>();@253] EXACT_MATCH\n" + |
963 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ return new Test<X<Y<Z<String>>>, Y<§|Z|§<String>>, Z<String>>();@255] EXACT_MATCH\n" + |
964 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ return new Test<X<Y<Z<String>>>, Y<Z<§|String|§>>, Z<String>>();@257] EXACT_MATCH\n" + |
965 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ return new Test<X<Y<Z<String>>>, Y<Z<String>>, §|Z|§<String>>();@267] EXACT_MATCH\n" + |
966 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ return new Test<X<Y<Z<String>>>, Y<Z<String>>, Z<§|String|§>>();@269] EXACT_MATCH\n" + |
967 |
"src/test02/Test.java test02.Test.field [ §|Test|§<A, ? extends B, ? super C> field = new Test<A, Z<String>, X<String>> () {@47] EXACT_MATCH\n" + |
968 |
"src/test02/Test.java test02.Test.field [ Test<§|A|§, ? extends B, ? super C> field = new Test<A, Z<String>, X<String>> () {@52] EXACT_MATCH\n" + |
969 |
"src/test02/Test.java test02.Test.field [ Test<A, ? extends §|B|§, ? super C> field = new Test<A, Z<String>, X<String>> () {@65] EXACT_MATCH\n" + |
970 |
"src/test02/Test.java test02.Test.field [ Test<A, ? extends B, ? super §|C|§> field = new Test<A, Z<String>, X<String>> () {@76] EXACT_MATCH\n" + |
971 |
"src/test02/Test.java test02.Test.field [ Test<A, ? extends B, ? super C> field = new Test<§|A|§, Z<String>, X<String>> () {@96] EXACT_MATCH\n" + |
972 |
"src/test02/Test.java test02.Test.field [ Test<A, ? extends B, ? super C> field = new Test<A, §|Z|§<String>, X<String>> () {@99] EXACT_MATCH\n" + |
973 |
"src/test02/Test.java test02.Test.field [ Test<A, ? extends B, ? super C> field = new Test<A, Z<§|String|§>, X<String>> () {@101] EXACT_MATCH\n" + |
974 |
"src/test02/Test.java test02.Test.field [ Test<A, ? extends B, ? super C> field = new Test<A, Z<String>, §|X|§<String>> () {@110] EXACT_MATCH\n" + |
975 |
"src/test02/Test.java test02.Test.field [ Test<A, ? extends B, ? super C> field = new Test<A, Z<String>, X<§|String|§>> () {@112] EXACT_MATCH\n" + |
976 |
"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [ §|Test|§<? super A, B, ? extends C> foo(Test<? extends A, ? super B, C> param) {@290] EXACT_MATCH\n" + |
977 |
"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [ Test<? super §|A|§, B, ? extends C> foo(Test<? extends A, ? super B, C> param) {@303] EXACT_MATCH\n" + |
978 |
"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [ Test<? super A, §|B|§, ? extends C> foo(Test<? extends A, ? super B, C> param) {@306] EXACT_MATCH\n" + |
979 |
"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [ Test<? super A, B, ? extends §|C|§> foo(Test<? extends A, ? super B, C> param) {@319] EXACT_MATCH\n" + |
980 |
"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [ Test<? super A, B, ? extends C> foo(§|Test|§<? extends A, ? super B, C> param) {@326] EXACT_MATCH\n" + |
981 |
"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [ Test<? super A, B, ? extends C> foo(Test<? extends §|A|§, ? super B, C> param) {@341] EXACT_MATCH\n" + |
982 |
"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [ Test<? super A, B, ? extends C> foo(Test<? extends A, ? super §|B|§, C> param) {@352] EXACT_MATCH\n" + |
983 |
"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [ Test<? super A, B, ? extends C> foo(Test<? extends A, ? super B, §|C|§> param) {@355] EXACT_MATCH\n" + |
984 |
"src/test02/Test.java test02.C [class C extends §|X|§<String> {}@426] EXACT_MATCH\n" + |
985 |
"src/test02/Test.java test02.C [class C extends X<§|String|§> {}@428] EXACT_MATCH\n" + |
986 |
"src/test02/Test.java test02.Y [class Y<S> extends §|A|§ {}@472] EXACT_MATCH\n" + |
987 |
"src/test02/Test.java test02.Z [class Z<P> extends §|B|§ {}@496] EXACT_MATCH" |
988 |
); |
989 |
} |
990 |
public void testTypeRefGenericAll02_AllGenericFlags() throws CoreException { |
991 |
setUpTypeRefGeneric02(); |
992 |
search("*", TYPE, ALL_GENERIC_TYPE_FINE_GRAIN_FLAGS, getJavaSearchWorkingCopiesScope()); |
993 |
assertSearchResults( |
994 |
"src/test02/Test.java test02.Test.field:<anonymous>#1.x [ X<§|String|§> x;@130] EXACT_MATCH\n" + |
995 |
"src/test02/Test.java test02.Test.field:<anonymous>#1.t [ Test<§|A|§, B, C> t;@148] EXACT_MATCH\n" + |
996 |
"src/test02/Test.java test02.Test.field:<anonymous>#1.t [ Test<A, §|B|§, C> t;@151] EXACT_MATCH\n" + |
997 |
"src/test02/Test.java test02.Test.field:<anonymous>#1.t [ Test<A, B, §|C|§> t;@154] EXACT_MATCH\n" + |
998 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ Test<§|X|§<Y<Z<String>>>, Y<Z<String>>, Z<String>> bar() {@167] EXACT_MATCH\n" + |
999 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ Test<X<§|Y|§<Z<String>>>, Y<Z<String>>, Z<String>> bar() {@169] EXACT_MATCH\n" + |
1000 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ Test<X<Y<§|Z|§<String>>>, Y<Z<String>>, Z<String>> bar() {@171] EXACT_MATCH\n" + |
1001 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ Test<X<Y<Z<§|String|§>>>, Y<Z<String>>, Z<String>> bar() {@173] EXACT_MATCH\n" + |
1002 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ Test<X<Y<Z<String>>>, §|Y|§<Z<String>>, Z<String>> bar() {@184] EXACT_MATCH\n" + |
1003 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ Test<X<Y<Z<String>>>, Y<§|Z|§<String>>, Z<String>> bar() {@186] EXACT_MATCH\n" + |
1004 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ Test<X<Y<Z<String>>>, Y<Z<§|String|§>>, Z<String>> bar() {@188] EXACT_MATCH\n" + |
1005 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ Test<X<Y<Z<String>>>, Y<Z<String>>, §|Z|§<String>> bar() {@198] EXACT_MATCH\n" + |
1006 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ Test<X<Y<Z<String>>>, Y<Z<String>>, Z<§|String|§>> bar() {@200] EXACT_MATCH\n" + |
1007 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ return new Test<§|X|§<Y<Z<String>>>, Y<Z<String>>, Z<String>>();@236] EXACT_MATCH\n" + |
1008 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ return new Test<X<§|Y|§<Z<String>>>, Y<Z<String>>, Z<String>>();@238] EXACT_MATCH\n" + |
1009 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ return new Test<X<Y<§|Z|§<String>>>, Y<Z<String>>, Z<String>>();@240] EXACT_MATCH\n" + |
1010 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ return new Test<X<Y<Z<§|String|§>>>, Y<Z<String>>, Z<String>>();@242] EXACT_MATCH\n" + |
1011 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ return new Test<X<Y<Z<String>>>, §|Y|§<Z<String>>, Z<String>>();@253] EXACT_MATCH\n" + |
1012 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ return new Test<X<Y<Z<String>>>, Y<§|Z|§<String>>, Z<String>>();@255] EXACT_MATCH\n" + |
1013 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ return new Test<X<Y<Z<String>>>, Y<Z<§|String|§>>, Z<String>>();@257] EXACT_MATCH\n" + |
1014 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ return new Test<X<Y<Z<String>>>, Y<Z<String>>, §|Z|§<String>>();@267] EXACT_MATCH\n" + |
1015 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ return new Test<X<Y<Z<String>>>, Y<Z<String>>, Z<§|String|§>>();@269] EXACT_MATCH\n" + |
1016 |
"src/test02/Test.java test02.Test.field [ Test<§|A|§, ? extends B, ? super C> field = new Test<A, Z<String>, X<String>> () {@52] EXACT_MATCH\n" + |
1017 |
"src/test02/Test.java test02.Test.field [ Test<A, ? extends §|B|§, ? super C> field = new Test<A, Z<String>, X<String>> () {@65] EXACT_MATCH\n" + |
1018 |
"src/test02/Test.java test02.Test.field [ Test<A, ? extends B, ? super §|C|§> field = new Test<A, Z<String>, X<String>> () {@76] EXACT_MATCH\n" + |
1019 |
"src/test02/Test.java test02.Test.field [ Test<A, ? extends B, ? super C> field = new Test<§|A|§, Z<String>, X<String>> () {@96] EXACT_MATCH\n" + |
1020 |
"src/test02/Test.java test02.Test.field [ Test<A, ? extends B, ? super C> field = new Test<A, §|Z|§<String>, X<String>> () {@99] EXACT_MATCH\n" + |
1021 |
"src/test02/Test.java test02.Test.field [ Test<A, ? extends B, ? super C> field = new Test<A, Z<§|String|§>, X<String>> () {@101] EXACT_MATCH\n" + |
1022 |
"src/test02/Test.java test02.Test.field [ Test<A, ? extends B, ? super C> field = new Test<A, Z<String>, §|X|§<String>> () {@110] EXACT_MATCH\n" + |
1023 |
"src/test02/Test.java test02.Test.field [ Test<A, ? extends B, ? super C> field = new Test<A, Z<String>, X<§|String|§>> () {@112] EXACT_MATCH\n" + |
1024 |
"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [ Test<? super §|A|§, B, ? extends C> foo(Test<? extends A, ? super B, C> param) {@303] EXACT_MATCH\n" + |
1025 |
"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [ Test<? super A, §|B|§, ? extends C> foo(Test<? extends A, ? super B, C> param) {@306] EXACT_MATCH\n" + |
1026 |
"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [ Test<? super A, B, ? extends §|C|§> foo(Test<? extends A, ? super B, C> param) {@319] EXACT_MATCH\n" + |
1027 |
"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [ Test<? super A, B, ? extends C> foo(Test<? extends §|A|§, ? super B, C> param) {@341] EXACT_MATCH\n" + |
1028 |
"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [ Test<? super A, B, ? extends C> foo(Test<? extends A, ? super §|B|§, C> param) {@352] EXACT_MATCH\n" + |
1029 |
"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [ Test<? super A, B, ? extends C> foo(Test<? extends A, ? super B, §|C|§> param) {@355] EXACT_MATCH\n" + |
1030 |
"src/test02/Test.java test02.C [class C extends X<§|String|§> {}@428] EXACT_MATCH" |
1031 |
); |
1032 |
} |
1033 |
public void testTypeRefGenericAll02_Parameterizedl() throws CoreException { |
1034 |
setUpTypeRefGeneric02(); |
1035 |
search("*", TYPE, PARAMETERIZED_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope()); |
1036 |
assertSearchResults( |
1037 |
"src/test02/Test.java test02.Test.field:<anonymous>#1.x [ X<§|String|§> x;@130] EXACT_MATCH\n" + |
1038 |
"src/test02/Test.java test02.Test.field:<anonymous>#1.t [ Test<§|A|§, B, C> t;@148] EXACT_MATCH\n" + |
1039 |
"src/test02/Test.java test02.Test.field:<anonymous>#1.t [ Test<A, §|B|§, C> t;@151] EXACT_MATCH\n" + |
1040 |
"src/test02/Test.java test02.Test.field:<anonymous>#1.t [ Test<A, B, §|C|§> t;@154] EXACT_MATCH\n" + |
1041 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ Test<§|X|§<Y<Z<String>>>, Y<Z<String>>, Z<String>> bar() {@167] EXACT_MATCH\n" + |
1042 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ Test<X<§|Y|§<Z<String>>>, Y<Z<String>>, Z<String>> bar() {@169] EXACT_MATCH\n" + |
1043 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ Test<X<Y<§|Z|§<String>>>, Y<Z<String>>, Z<String>> bar() {@171] EXACT_MATCH\n" + |
1044 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ Test<X<Y<Z<§|String|§>>>, Y<Z<String>>, Z<String>> bar() {@173] EXACT_MATCH\n" + |
1045 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ Test<X<Y<Z<String>>>, §|Y|§<Z<String>>, Z<String>> bar() {@184] EXACT_MATCH\n" + |
1046 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ Test<X<Y<Z<String>>>, Y<§|Z|§<String>>, Z<String>> bar() {@186] EXACT_MATCH\n" + |
1047 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ Test<X<Y<Z<String>>>, Y<Z<§|String|§>>, Z<String>> bar() {@188] EXACT_MATCH\n" + |
1048 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ Test<X<Y<Z<String>>>, Y<Z<String>>, §|Z|§<String>> bar() {@198] EXACT_MATCH\n" + |
1049 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ Test<X<Y<Z<String>>>, Y<Z<String>>, Z<§|String|§>> bar() {@200] EXACT_MATCH\n" + |
1050 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ return new Test<§|X|§<Y<Z<String>>>, Y<Z<String>>, Z<String>>();@236] EXACT_MATCH\n" + |
1051 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ return new Test<X<§|Y|§<Z<String>>>, Y<Z<String>>, Z<String>>();@238] EXACT_MATCH\n" + |
1052 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ return new Test<X<Y<§|Z|§<String>>>, Y<Z<String>>, Z<String>>();@240] EXACT_MATCH\n" + |
1053 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ return new Test<X<Y<Z<§|String|§>>>, Y<Z<String>>, Z<String>>();@242] EXACT_MATCH\n" + |
1054 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ return new Test<X<Y<Z<String>>>, §|Y|§<Z<String>>, Z<String>>();@253] EXACT_MATCH\n" + |
1055 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ return new Test<X<Y<Z<String>>>, Y<§|Z|§<String>>, Z<String>>();@255] EXACT_MATCH\n" + |
1056 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ return new Test<X<Y<Z<String>>>, Y<Z<§|String|§>>, Z<String>>();@257] EXACT_MATCH\n" + |
1057 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ return new Test<X<Y<Z<String>>>, Y<Z<String>>, §|Z|§<String>>();@267] EXACT_MATCH\n" + |
1058 |
"src/test02/Test.java Test<X<Y<Z<String>>>,Y<Z<String>>,Z<String>> test02.Test.field:<anonymous>#1.bar() [ return new Test<X<Y<Z<String>>>, Y<Z<String>>, Z<§|String|§>>();@269] EXACT_MATCH\n" + |
1059 |
"src/test02/Test.java test02.Test.field [ Test<§|A|§, ? extends B, ? super C> field = new Test<A, Z<String>, X<String>> () {@52] EXACT_MATCH\n" + |
1060 |
"src/test02/Test.java test02.Test.field [ Test<A, ? extends B, ? super C> field = new Test<§|A|§, Z<String>, X<String>> () {@96] EXACT_MATCH\n" + |
1061 |
"src/test02/Test.java test02.Test.field [ Test<A, ? extends B, ? super C> field = new Test<A, §|Z|§<String>, X<String>> () {@99] EXACT_MATCH\n" + |
1062 |
"src/test02/Test.java test02.Test.field [ Test<A, ? extends B, ? super C> field = new Test<A, Z<§|String|§>, X<String>> () {@101] EXACT_MATCH\n" + |
1063 |
"src/test02/Test.java test02.Test.field [ Test<A, ? extends B, ? super C> field = new Test<A, Z<String>, §|X|§<String>> () {@110] EXACT_MATCH\n" + |
1064 |
"src/test02/Test.java test02.Test.field [ Test<A, ? extends B, ? super C> field = new Test<A, Z<String>, X<§|String|§>> () {@112] EXACT_MATCH\n" + |
1065 |
"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [ Test<? super A, §|B|§, ? extends C> foo(Test<? extends A, ? super B, C> param) {@306] EXACT_MATCH\n" + |
1066 |
"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [ Test<? super A, B, ? extends C> foo(Test<? extends A, ? super B, §|C|§> param) {@355] EXACT_MATCH\n" + |
1067 |
"src/test02/Test.java test02.C [class C extends X<§|String|§> {}@428] EXACT_MATCH" |
1068 |
); |
1069 |
} |
1070 |
public void testTypeRefGenericAll02_TypeVariableBound() throws CoreException { |
1071 |
setUpTypeRefGeneric02(); |
1072 |
search("*", TYPE, TYPE_VARIABLE_BOUND_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope()); |
1073 |
assertSearchResults(""); |
1074 |
} |
1075 |
public void testTypeRefGenericAll02_WildcardBound() throws CoreException { |
1076 |
setUpTypeRefGeneric02(); |
1077 |
search("*", TYPE, WILDCARD_BOUND_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope()); |
1078 |
assertSearchResults( |
1079 |
"src/test02/Test.java test02.Test.field [ Test<A, ? extends §|B|§, ? super C> field = new Test<A, Z<String>, X<String>> () {@65] EXACT_MATCH\n" + |
1080 |
"src/test02/Test.java test02.Test.field [ Test<A, ? extends B, ? super §|C|§> field = new Test<A, Z<String>, X<String>> () {@76] EXACT_MATCH\n" + |
1081 |
"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [ Test<? super §|A|§, B, ? extends C> foo(Test<? extends A, ? super B, C> param) {@303] EXACT_MATCH\n" + |
1082 |
"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [ Test<? super A, B, ? extends §|C|§> foo(Test<? extends A, ? super B, C> param) {@319] EXACT_MATCH\n" + |
1083 |
"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [ Test<? super A, B, ? extends C> foo(Test<? extends §|A|§, ? super B, C> param) {@341] EXACT_MATCH\n" + |
1084 |
"src/test02/Test.java Test<? super A,B,? extends C> test02.Test.foo(Test<? extends A,? super B,C>) [ Test<? super A, B, ? extends C> foo(Test<? extends A, ? super §|B|§, C> param) {@352] EXACT_MATCH" |
1085 |
); |
1086 |
} |
1087 |
|
1088 |
/* |
1089 |
* References to all qualified types (using '*' string pattern) |
1090 |
*/ |
1091 |
private void setUpTypeRefGenericMethod() throws JavaModelException { |
1092 |
final ProblemRequestor problemRequestor = new ProblemRequestor(); |
1093 |
this.wcOwner = new WorkingCopyOwner() { |
1094 |
public IProblemRequestor getProblemRequestor(ICompilationUnit workingCopy) { |
1095 |
return problemRequestor; |
1096 |
} |
1097 |
}; |
1098 |
workingCopies = new ICompilationUnit[1]; |
1099 |
workingCopies[0] = getWorkingCopy("/JavaSearch15/src/test/Test.java", |
1100 |
"package test;\n" + |
1101 |
"public class Test {\n" + |
1102 |
" void foo(A<String> a) {\n" + |
1103 |
" a.<String>foo();\n" + |
1104 |
" a.<A<? extends Exception>>foo();\n" + |
1105 |
" }\n" + |
1106 |
"}\n" + |
1107 |
"class A<T> {\n" + |
1108 |
" <U> void foo() {}\n" + |
1109 |
"}\n" |
1110 |
); |
1111 |
assertEquals("CU Should not have any problem!", |
1112 |
"----------\n" + |
1113 |
"----------\n", |
1114 |
problemRequestor.problems.toString() |
1115 |
); |
1116 |
this.resultCollector.showSelection = true; |
1117 |
this.resultCollector.showOffset = true; |
1118 |
} |
1119 |
public void testTypeRefGenericMethod_AllGenericFlags() throws CoreException { |
1120 |
setUpTypeRefGenericMethod(); |
1121 |
search("*", TYPE, ALL_GENERIC_TYPE_FINE_GRAIN_FLAGS, getJavaSearchWorkingCopiesScope()); |
1122 |
assertSearchResults( |
1123 |
"src/test/Test.java void test.Test.foo(A<String>) [ void foo(A<§|String|§> a) {@46] EXACT_MATCH\n" + |
1124 |
"src/test/Test.java void test.Test.foo(A<String>) [ a.<§|String|§>foo();@64] EXACT_MATCH\n" + |
1125 |
"src/test/Test.java void test.Test.foo(A<String>) [ a.<§|A|§<? extends Exception>>foo();@83] EXACT_MATCH\n" + |
1126 |
"src/test/Test.java void test.Test.foo(A<String>) [ a.<A<? extends §|Exception|§>>foo();@95] EXACT_MATCH" |
1127 |
); |
1128 |
} |
1129 |
public void testTypeRefGenericMethod_Parameterized() throws CoreException { |
1130 |
setUpTypeRefGenericMethod(); |
1131 |
search("*", TYPE, PARAMETERIZED_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope()); |
1132 |
assertSearchResults( |
1133 |
"src/test/Test.java void test.Test.foo(A<String>) [ void foo(A<§|String|§> a) {@46] EXACT_MATCH\n" + |
1134 |
"src/test/Test.java void test.Test.foo(A<String>) [ a.<§|String|§>foo();@64] EXACT_MATCH\n" + |
1135 |
"src/test/Test.java void test.Test.foo(A<String>) [ a.<§|A|§<? extends Exception>>foo();@83] EXACT_MATCH" |
1136 |
); |
1137 |
} |
1138 |
public void testTypeRefGenericMethod_TypeVariableBound() throws CoreException { |
1139 |
setUpTypeRefGenericMethod(); |
1140 |
search("*", TYPE, TYPE_VARIABLE_BOUND_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope()); |
1141 |
assertSearchResults(""); |
1142 |
} |
1143 |
public void testTypeRefGenericMethod_WildcardBound() throws CoreException { |
1144 |
setUpTypeRefGenericMethod(); |
1145 |
search("*", TYPE, WILDCARD_BOUND_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope()); |
1146 |
assertSearchResults( |
1147 |
"src/test/Test.java void test.Test.foo(A<String>) [ a.<A<? extends §|Exception|§>>foo();@95] EXACT_MATCH" |
1148 |
); |
1149 |
} |
1150 |
|
1151 |
/* |
1152 |
* References to all qualified types (using '*' string pattern) |
1153 |
*/ |
1154 |
private void setUpTypeRefQualifiedAll() throws JavaModelException { |
1155 |
final ProblemRequestor problemRequestor = new ProblemRequestor(); |
1156 |
this.wcOwner = new WorkingCopyOwner() { |
1157 |
public IProblemRequestor getProblemRequestor(ICompilationUnit workingCopy) { |
1158 |
return problemRequestor; |
1159 |
} |
1160 |
}; |
1161 |
workingCopies = new ICompilationUnit[3]; |
1162 |
workingCopies[0] = getWorkingCopy("/JavaSearch15/src/type/def/Types.java", |
1163 |
"package type.def;\n" + |
1164 |
"@Bug\n" + |
1165 |
"@ATest\n" + |
1166 |
"public class Types extends Exception implements ITest1, ITest2 {\n" + |
1167 |
" ITest1 test1;\n" + |
1168 |
" ITest2 test2;\n" + |
1169 |
"}\n" + |
1170 |
"@Bug\n" + |
1171 |
"interface ITest1 {}\n" + |
1172 |
"@ATest\n" + |
1173 |
"interface ITest2 extends ITest1 {}\n" + |
1174 |
"@Bug\n" + |
1175 |
"@ATest\n" + |
1176 |
"enum ETest {}\n" + |
1177 |
"@Bug\n" + |
1178 |
"@interface ATest {}\n" |
1179 |
); |
1180 |
workingCopies[1] = getWorkingCopy("/JavaSearch15/src/type/def/Bug.java", |
1181 |
"package type.def;\n" + |
1182 |
"public @interface Bug {\n" + |
1183 |
" int num() default 0;\n" + |
1184 |
" String comment() default \"\";\n" + |
1185 |
"}\n" |
1186 |
); |
1187 |
workingCopies[2] = getWorkingCopy("/JavaSearch15/src/all/types/ref/TestTypes.java", |
1188 |
"package all.types.ref;\n" + |
1189 |
"\n" + |
1190 |
"@type.def.Bug(num=155013)\n" + |
1191 |
"public class TestTypes extends type.def.Types {\n" + |
1192 |
" @type.def.Bug(comment=\"field\")\n" + |
1193 |
" type.def.Types field = new type.def.Types(), local, other = new type.def.Types();\n" + |
1194 |
" {\n" + |
1195 |
" Object o;\n" + |
1196 |
" type.def.Types t;\n" + |
1197 |
" if (this.field == null) {\n" + |
1198 |
" try {\n" + |
1199 |
" t = new TestTypes();\n" + |
1200 |
" } catch (RuntimeException e) {\n" + |
1201 |
" t = new type.def.Types();\n" + |
1202 |
" } \n" + |
1203 |
" } else {\n" + |
1204 |
" o = this.field;\n" + |
1205 |
" t = (type.def.Types) o;\n" + |
1206 |
" }\n" + |
1207 |
" local = t;\n" + |
1208 |
" };\n" + |
1209 |
" @type.def.Bug(comment=\"method\", num=155013)\n" + |
1210 |
" type.def.Types method(type.def.Types param) throws type.def.Types {\n" + |
1211 |
" Object obj = new type.def.Types();\n" + |
1212 |
" type.def.Types local = (type.def.Types) obj;\n" + |
1213 |
" return local;\n" + |
1214 |
" }\n" + |
1215 |
" type.def.Bug bar(type.def.Bug bug) {\n" + |
1216 |
" try {\n" + |
1217 |
" method(this);\n" + |
1218 |
" }\n" + |
1219 |
" catch (type.def.Types ex) {}\n" + |
1220 |
" catch (Exception ex) {}\n" + |
1221 |
" return bug; \n" + |
1222 |
" }\n" + |
1223 |
" // Other types references\n" + |
1224 |
" Object object;\n" + |
1225 |
" String str;\n" + |
1226 |
" TestTypes() throws type.def.Types, RuntimeException {\n" + |
1227 |
" if (this.object instanceof String) {\n" + |
1228 |
" this.str = (String) this.object;\n" + |
1229 |
" } else {\n" + |
1230 |
" this.str = new String();\n" + |
1231 |
" this.object = new Object();\n" + |
1232 |
" }\n" + |
1233 |
" }\n" + |
1234 |
"}\n" |
1235 |
); |
1236 |
assertEquals("CU Should not have any problem!", |
1237 |
"----------\n" + |
1238 |
"----------\n", |
1239 |
problemRequestor.problems.toString() |
1240 |
); |
1241 |
this.resultCollector.showSelection = true; |
1242 |
this.resultCollector.showOffset = true; |
1243 |
} |
1244 |
public void testTypeRefQualifiedAll_Allocation() throws CoreException { |
1245 |
setUpTypeRefQualifiedAll(); |
1246 |
search("*", TYPE, ALLOCATION_EXPRESSION_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope()); |
1247 |
assertSearchResults( |
1248 |
"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.field [ type.def.Types field = new §|type.def.Types|§(), local, other = new type.def.Types();@158] EXACT_MATCH\n" + |
1249 |
"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.other [ type.def.Types field = new type.def.Types(), local, other = new §|type.def.Types|§();@195] EXACT_MATCH\n" + |
1250 |
"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.{} [ t = new §|TestTypes|§();@297] EXACT_MATCH\n" + |
1251 |
"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.{} [ t = new §|type.def.Types|§();@356] EXACT_MATCH\n" + |
1252 |
"src/all/types/ref/TestTypes.java type.def.Types all.types.ref.TestTypes.method(type.def.Types) [ Object obj = new §|type.def.Types|§();@591] EXACT_MATCH\n" + |
1253 |
"src/all/types/ref/TestTypes.java all.types.ref.TestTypes() [ this.str = new §|String|§();@1032] EXACT_MATCH\n" + |
1254 |
"src/all/types/ref/TestTypes.java all.types.ref.TestTypes() [ this.object = new §|Object|§();@1063] EXACT_MATCH" |
1255 |
); |
1256 |
} |
1257 |
public void testTypeRefQualifiedAll_Annotation() throws CoreException { |
1258 |
setUpTypeRefQualifiedAll(); |
1259 |
search("*", TYPE, ANNOTATION_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope()); |
1260 |
assertSearchResults( |
1261 |
"src/all/types/ref/TestTypes.java all.types.ref.TestTypes [@§|type.def.Bug|§(num=155013)@25] EXACT_MATCH\n" + |
1262 |
"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.field [ @§|type.def.Bug|§(comment=\"field\")@100] EXACT_MATCH\n" + |
1263 |
"src/all/types/ref/TestTypes.java type.def.Types all.types.ref.TestTypes.method(type.def.Types) [ @§|type.def.Bug|§(comment=\"method\", num=155013)@460] EXACT_MATCH\n" + |
1264 |
"src/type/def/Types.java type.def.Types [@§|Bug|§@19] EXACT_MATCH\n" + |
1265 |
"src/type/def/Types.java type.def.Types [@§|ATest|§@24] EXACT_MATCH\n" + |
1266 |
"src/type/def/Types.java type.def.ITest1 [@§|Bug|§@128] EXACT_MATCH\n" + |
1267 |
"src/type/def/Types.java type.def.ITest2 [@§|ATest|§@153] EXACT_MATCH\n" + |
1268 |
"src/type/def/Types.java type.def.ETest [@§|Bug|§@195] EXACT_MATCH\n" + |
1269 |
"src/type/def/Types.java type.def.ETest [@§|ATest|§@200] EXACT_MATCH\n" + |
1270 |
"src/type/def/Types.java type.def.ATest [@§|Bug|§@221] EXACT_MATCH" |
1271 |
); |
1272 |
} |
1273 |
public void testTypeRefQualifiedAll_Cast() throws CoreException { |
1274 |
setUpTypeRefQualifiedAll(); |
1275 |
search("*", TYPE, CAST_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope()); |
1276 |
assertSearchResults( |
1277 |
"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.{} [ t = (§|type.def.Types|§) o;@418] EXACT_MATCH\n" + |
1278 |
"src/all/types/ref/TestTypes.java type.def.Types all.types.ref.TestTypes.method(type.def.Types) [ type.def.Types local = (§|type.def.Types|§) obj;@635] EXACT_MATCH\n" + |
1279 |
"src/all/types/ref/TestTypes.java all.types.ref.TestTypes() [ this.str = (§|String|§) this.object;@982] EXACT_MATCH" |
1280 |
); |
1281 |
} |
1282 |
public void testTypeRefQualifiedAll_Catch() throws CoreException { |
1283 |
setUpTypeRefQualifiedAll(); |
1284 |
search("*", TYPE, CATCH_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope()); |
1285 |
assertSearchResults( |
1286 |
"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.{} [ } catch (§|RuntimeException|§ e) {@322] EXACT_MATCH\n" + |
1287 |
"src/all/types/ref/TestTypes.java type.def.Bug all.types.ref.TestTypes.bar(type.def.Bug) [ catch (§|type.def.Types|§ ex) {}@751] EXACT_MATCH\n" + |
1288 |
"src/all/types/ref/TestTypes.java type.def.Bug all.types.ref.TestTypes.bar(type.def.Bug) [ catch (§|Exception|§ ex) {}@782] EXACT_MATCH" |
1289 |
); |
1290 |
} |
1291 |
public void testTypeRefQualifiedAll_Field() throws CoreException { |
1292 |
setUpTypeRefQualifiedAll(); |
1293 |
search("*", TYPE, FIELD_TYPE_DECLARATION_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope()); |
1294 |
assertSearchResults( |
1295 |
"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.field [ §|type.def.Types|§ field = new type.def.Types(), local, other = new type.def.Types();@131] EXACT_MATCH\n" + |
1296 |
"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.object [ §|Object|§ object;@845] EXACT_MATCH\n" + |
1297 |
"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.str [ §|String|§ str;@861] EXACT_MATCH\n" + |
1298 |
"src/type/def/Types.java type.def.Types.test1 [ §|ITest1|§ test1;@96] EXACT_MATCH\n" + |
1299 |
"src/type/def/Types.java type.def.Types.test2 [ §|ITest2|§ test2;@111] EXACT_MATCH" |
1300 |
); |
1301 |
} |
1302 |
public void testTypeRefQualifiedAll_Import() throws CoreException { |
1303 |
setUpTypeRefQualifiedAll(); |
1304 |
search("*", TYPE, IMPORT_DECLARATION_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope()); |
1305 |
assertSearchResults(""); |
1306 |
} |
1307 |
public void testTypeRefQualifiedAll_MethodParameter() throws CoreException { |
1308 |
setUpTypeRefQualifiedAll(); |
1309 |
search("*", TYPE, PARAMETER_TYPE_DECLARATION_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope()); |
1310 |
assertSearchResults( |
1311 |
"src/all/types/ref/TestTypes.java type.def.Types all.types.ref.TestTypes.method(type.def.Types) [ type.def.Types method(§|type.def.Types|§ param) throws type.def.Types {@526] EXACT_MATCH\n" + |
1312 |
"src/all/types/ref/TestTypes.java type.def.Bug all.types.ref.TestTypes.bar(type.def.Bug) [ type.def.Bug bar(§|type.def.Bug|§ bug) {@693] EXACT_MATCH" |
1313 |
); |
1314 |
} |
1315 |
public void testTypeRefQualifiedAll_Return() throws CoreException { |
1316 |
setUpTypeRefQualifiedAll(); |
1317 |
search("*", TYPE, RETURN_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope()); |
1318 |
assertSearchResults( |
1319 |
"src/all/types/ref/TestTypes.java type.def.Types all.types.ref.TestTypes.method(type.def.Types) [ §|type.def.Types|§ method(type.def.Types param) throws type.def.Types {@504] EXACT_MATCH\n" + |
1320 |
"src/all/types/ref/TestTypes.java type.def.Bug all.types.ref.TestTypes.bar(type.def.Bug) [ §|type.def.Bug|§ bar(type.def.Bug bug) {@676] EXACT_MATCH" |
1321 |
); |
1322 |
} |
1323 |
public void testTypeRefQualifiedAll_Superinterface() throws CoreException { |
1324 |
setUpTypeRefQualifiedAll(); |
1325 |
search("*", TYPE, SUPERINTERFACE_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope()); |
1326 |
assertSearchResults( |
1327 |
"src/type/def/Types.java type.def.Types [public class Types extends Exception implements §|ITest1|§, ITest2 {@78] EXACT_MATCH\n" + |
1328 |
"src/type/def/Types.java type.def.Types [public class Types extends Exception implements ITest1, §|ITest2|§ {@86] EXACT_MATCH\n" + |
1329 |
"src/type/def/Types.java type.def.ITest2 [interface ITest2 extends §|ITest1|§ {}@184] EXACT_MATCH" |
1330 |
); |
1331 |
} |
1332 |
public void testTypeRefQualifiedAll_Supertype() throws CoreException { |
1333 |
setUpTypeRefQualifiedAll(); |
1334 |
search("*", TYPE, SUPERTYPE_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope()); |
1335 |
assertSearchResults( |
1336 |
"src/all/types/ref/TestTypes.java all.types.ref.TestTypes [public class TestTypes extends §|type.def.Types|§ {@81] EXACT_MATCH\n" + |
1337 |
"src/type/def/Types.java type.def.Types [public class Types extends §|Exception|§ implements ITest1, ITest2 {@57] EXACT_MATCH" |
1338 |
); |
1339 |
} |
1340 |
public void testTypeRefQualifiedAll_Throws() throws CoreException { |
1341 |
setUpTypeRefQualifiedAll(); |
1342 |
search("*", TYPE, THROWS_CLAUSE_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope()); |
1343 |
assertSearchResults( |
1344 |
"src/all/types/ref/TestTypes.java type.def.Types all.types.ref.TestTypes.method(type.def.Types) [ type.def.Types method(type.def.Types param) throws §|type.def.Types|§ {@555] EXACT_MATCH\n" + |
1345 |
"src/all/types/ref/TestTypes.java all.types.ref.TestTypes() [ TestTypes() throws §|type.def.Types|§, RuntimeException {@893] EXACT_MATCH\n" + |
1346 |
"src/all/types/ref/TestTypes.java all.types.ref.TestTypes() [ TestTypes() throws type.def.Types, §|RuntimeException|§ {@909] EXACT_MATCH" |
1347 |
); |
1348 |
} |
1349 |
public void testTypeRefQualifiedAll_Variable() throws CoreException { |
1350 |
setUpTypeRefQualifiedAll(); |
1351 |
search("*", TYPE, LOCAL_VARIABLE_DECLARATION_TYPE_REFERENCE, getJavaSearchWorkingCopiesScope()); |
1352 |
assertSearchResults( |
1353 |
"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.{} [ §|Object|§ o;@218] EXACT_MATCH\n" + |
1354 |
"src/all/types/ref/TestTypes.java all.types.ref.TestTypes.{} [ §|type.def.Types|§ t;@230] EXACT_MATCH\n" + |
1355 |
"src/all/types/ref/TestTypes.java type.def.Types all.types.ref.TestTypes.method(type.def.Types) [ §|Object|§ obj = new type.def.Types();@574] EXACT_MATCH\n" + |
1356 |
"src/all/types/ref/TestTypes.java type.def.Types all.types.ref.TestTypes.method(type.def.Types) [ §|type.def.Types|§ local = (type.def.Types) obj;@611] EXACT_MATCH" |
1357 |
); |
1358 |
} |
1359 |
|
1360 |
/* |
1361 |
* Tests using classes defined in JavaSearch15 project |
1362 |
*/ |
1363 |
public void testTypeRefGenericAllG1_Parameterized() throws CoreException { |
1364 |
IType type = getCompilationUnit("JavaSearch15/src/g1/t/s/ref/R3.java").getType("R3"); |
1365 |
IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type }); |
1366 |
search("*", TYPE, PARAMETERIZED_TYPE_REFERENCE, scope); |
1367 |
assertSearchResults( |
1368 |
"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.gen_obj [ public Generic<§|Object|§>.MemberGeneric<Object> gen_obj;@393] EXACT_MATCH\n" + |
1369 |
"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.gen_obj [ public Generic<Object>.MemberGeneric<§|Object|§> gen_obj;@415] EXACT_MATCH\n" + |
1370 |
"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.gen_exc [ public Generic<§|Exception|§>.MemberGeneric<Exception> gen_exc;@448] EXACT_MATCH\n" + |
1371 |
"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.gen_exc [ public Generic<Exception>.MemberGeneric<§|Exception|§> gen_exc;@473] EXACT_MATCH\n" + |
1372 |
"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.qgen_obj [ public g1.t.s.def.Generic<§|Object|§>.MemberGeneric<Object> qgen_obj;@803] EXACT_MATCH\n" + |
1373 |
"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.qgen_obj [ public g1.t.s.def.Generic<Object>.MemberGeneric<§|Object|§> qgen_obj;@825] EXACT_MATCH\n" + |
1374 |
"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.qgen_exc [ public g1.t.s.def.Generic<§|Exception|§>.MemberGeneric<Exception> qgen_exc;@870] EXACT_MATCH\n" + |
1375 |
"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.qgen_exc [ public g1.t.s.def.Generic<Exception>.MemberGeneric<§|Exception|§> qgen_exc;@895] EXACT_MATCH" |
1376 |
); |
1377 |
} |
1378 |
public void testTypeRefGenericAllG1_WildcardBounds() throws CoreException { |
1379 |
IType type = getCompilationUnit("JavaSearch15/src/g1/t/s/ref/R3.java").getType("R3"); |
1380 |
IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type }); |
1381 |
search("*", TYPE, WILDCARD_BOUND_TYPE_REFERENCE, scope); |
1382 |
assertSearchResults( |
1383 |
"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.gen_thr [ public Generic<? extends §|Throwable|§>.MemberGeneric<? super RuntimeException> gen_thr;@564] EXACT_MATCH\n" + |
1384 |
"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.gen_thr [ public Generic<? extends Throwable>.MemberGeneric<? super §|RuntimeException|§> gen_thr;@597] EXACT_MATCH\n" + |
1385 |
"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.gen_run [ public Generic<? super §|RuntimeException|§>.MemberGeneric<? extends Throwable> gen_run;@648] EXACT_MATCH\n" + |
1386 |
"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.gen_run [ public Generic<? super RuntimeException>.MemberGeneric<? extends §|Throwable|§> gen_run;@690] EXACT_MATCH\n" + |
1387 |
"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.qgen_thr [ public g1.t.s.def.Generic<? extends §|Throwable|§>.MemberGeneric<? super RuntimeException> qgen_thr;@1010] EXACT_MATCH\n" + |
1388 |
"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.qgen_thr [ public g1.t.s.def.Generic<? extends Throwable>.MemberGeneric<? super §|RuntimeException|§> qgen_thr;@1043] EXACT_MATCH\n" + |
1389 |
"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.qgen_run [ public g1.t.s.def.Generic<? super §|RuntimeException|§>.MemberGeneric<? extends Throwable> qgen_run;@1106] EXACT_MATCH\n" + |
1390 |
"src/g1/t/s/ref/R3.java g1.t.s.ref.R3.qgen_run [ public g1.t.s.def.Generic<? super RuntimeException>.MemberGeneric<? extends §|Throwable|§> qgen_run;@1148] EXACT_MATCH" |
1391 |
); |
1392 |
} |
1393 |
public void testTypeRefGenericAllG2_Parameterized() throws CoreException { |
1394 |
// TODO The JavaSearch15/src/g2/f/s/def/R3.java should be updated as it contains compilation errors! |
1395 |
IType type = getCompilationUnit("JavaSearch15/src/g2/f/s/def/R3.java").getType("R3"); |
1396 |
IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type }); |
1397 |
search("*", TYPE, PARAMETERIZED_TYPE_REFERENCE, scope); |
1398 |
assertSearchResults( |
1399 |
"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [ Generic<§|Object|§>.MemberGeneric<Object> member = new Generic<Object>().new MemberGeneric<Object>();@177] EXACT_MATCH\n" + |
1400 |
"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [ Generic<Object>.MemberGeneric<§|Object|§> member = new Generic<Object>().new MemberGeneric<Object>();@199] EXACT_MATCH\n" + |
1401 |
"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [ Generic<Object>.MemberGeneric<Object> member = new Generic<§|Object|§>().new MemberGeneric<Object>();@228] EXACT_MATCH\n" + |
1402 |
"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [ Generic<Object>.MemberGeneric<Object> member = new Generic<Object>().new MemberGeneric<§|Object|§>();@256] EXACT_MATCH\n" + |
1403 |
"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [ Generic<§|Exception|§>.MemberGeneric<Exception> member = new Generic<Exception>().new MemberGeneric<Exception>();@306] EXACT_MATCH\n" + |
1404 |
"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [ Generic<Exception>.MemberGeneric<§|Exception|§> member = new Generic<Exception>().new MemberGeneric<Exception>();@331] EXACT_MATCH\n" + |
1405 |
"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [ Generic<Exception>.MemberGeneric<Exception> member = new Generic<§|Exception|§>().new MemberGeneric<Exception>();@363] EXACT_MATCH\n" + |
1406 |
"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [ Generic<Exception>.MemberGeneric<Exception> member = new Generic<Exception>().new MemberGeneric<§|Exception|§>();@394] EXACT_MATCH\n" + |
1407 |
"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [ Generic<? extends Throwable>.MemberGeneric<? extends Throwable> member = new Generic<§|Exception|§>().new MemberGeneric<Exception>();@633] EXACT_MATCH\n" + |
1408 |
"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [ Generic<? extends Throwable>.MemberGeneric<? extends Throwable> member = new Generic<Exception>().new MemberGeneric<§|Exception|§>();@664] EXACT_MATCH\n" + |
1409 |
"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [ Generic<? extends Throwable>.MemberGeneric<? extends Throwable> member = new Generic<§|Exception|§>().new MemberGeneric<? extends Throwable>();@794] EXACT_MATCH\n" + |
1410 |
"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [ Generic<? extends Throwable>.MemberGeneric<? extends Throwable> member = new Generic<? extends Throwable>().new MemberGeneric<§|Exception|§>();@1006] EXACT_MATCH\n" + |
1411 |
"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [ Generic<? super RuntimeException>.MemberGeneric<? super RuntimeException> member = new Generic<§|Exception|§>().new MemberGeneric<Exception>();@1327] EXACT_MATCH\n" + |
1412 |
"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [ Generic<? super RuntimeException>.MemberGeneric<? super RuntimeException> member = new Generic<Exception>().new MemberGeneric<§|Exception|§>();@1358] EXACT_MATCH\n" + |
1413 |
"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [ Generic<? super RuntimeException>.MemberGeneric<? super RuntimeException> member = new Generic<§|Exception|§>().new MemberGeneric<? super RuntimeException>();@1498] EXACT_MATCH\n" + |
1414 |
"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [ Generic<? super RuntimeException>.MemberGeneric<? super RuntimeException> member = new Generic<? super RuntimeException>().new MemberGeneric<§|Exception|§>();@1730] EXACT_MATCH" |
1415 |
); |
1416 |
} |
1417 |
public void testTypeRefGenericAllG2_WildcardBounds() throws CoreException { |
1418 |
// TODO The JavaSearch15/src/g2/f/s/def/R3.java should be updated as it contains compilation errors! |
1419 |
IType type = getCompilationUnit("JavaSearch15/src/g2/f/s/def/R3.java").getType("R3"); |
1420 |
IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type }); |
1421 |
search("*", TYPE, WILDCARD_BOUND_TYPE_REFERENCE, scope); |
1422 |
assertSearchResults( |
1423 |
"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [ Generic<? extends §|Throwable|§>.MemberGeneric<? extends Throwable> member = new Generic<Exception>().new MemberGeneric<Exception>();@566] EXACT_MATCH\n" + |
1424 |
"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [ Generic<? extends Throwable>.MemberGeneric<? extends §|Throwable|§> member = new Generic<Exception>().new MemberGeneric<Exception>();@601] EXACT_MATCH\n" + |
1425 |
"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [ Generic<? extends §|Throwable|§>.MemberGeneric<? extends Throwable> member = new Generic<Exception>().new MemberGeneric<? extends Throwable>();@727] EXACT_MATCH\n" + |
1426 |
"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [ Generic<? extends Throwable>.MemberGeneric<? extends §|Throwable|§> member = new Generic<Exception>().new MemberGeneric<? extends Throwable>();@762] EXACT_MATCH\n" + |
1427 |
"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [ Generic<? extends Throwable>.MemberGeneric<? extends Throwable> member = new Generic<Exception>().new MemberGeneric<? extends §|Throwable|§>();@835] EXACT_MATCH\n" + |
1428 |
"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [ Generic<? extends §|Throwable|§>.MemberGeneric<? extends Throwable> member = new Generic<? extends Throwable>().new MemberGeneric<Exception>();@898] EXACT_MATCH\n" + |
1429 |
"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [ Generic<? extends Throwable>.MemberGeneric<? extends §|Throwable|§> member = new Generic<? extends Throwable>().new MemberGeneric<Exception>();@933] EXACT_MATCH\n" + |
1430 |
"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [ Generic<? extends Throwable>.MemberGeneric<? extends Throwable> member = new Generic<? extends §|Throwable|§>().new MemberGeneric<Exception>();@975] EXACT_MATCH\n" + |
1431 |
"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [ Generic<? extends §|Throwable|§>.MemberGeneric<? extends Throwable> member = new Generic<? extends Throwable>().new MemberGeneric<? extends Throwable>();@1069] EXACT_MATCH\n" + |
1432 |
"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [ Generic<? extends Throwable>.MemberGeneric<? extends §|Throwable|§> member = new Generic<? extends Throwable>().new MemberGeneric<? extends Throwable>();@1104] EXACT_MATCH\n" + |
1433 |
"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [ Generic<? extends Throwable>.MemberGeneric<? extends Throwable> member = new Generic<? extends §|Throwable|§>().new MemberGeneric<? extends Throwable>();@1146] EXACT_MATCH\n" + |
1434 |
"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [ Generic<? extends Throwable>.MemberGeneric<? extends Throwable> member = new Generic<? extends Throwable>().new MemberGeneric<? extends §|Throwable|§>();@1187] EXACT_MATCH\n" + |
1435 |
"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [ Generic<? super §|RuntimeException|§>.MemberGeneric<? super RuntimeException> member = new Generic<Exception>().new MemberGeneric<Exception>();@1248] EXACT_MATCH\n" + |
1436 |
"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [ Generic<? super RuntimeException>.MemberGeneric<? super §|RuntimeException|§> member = new Generic<Exception>().new MemberGeneric<Exception>();@1288] EXACT_MATCH\n" + |
1437 |
"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [ Generic<? super §|RuntimeException|§>.MemberGeneric<? super RuntimeException> member = new Generic<Exception>().new MemberGeneric<? super RuntimeException>();@1419] EXACT_MATCH\n" + |
1438 |
"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [ Generic<? super RuntimeException>.MemberGeneric<? super §|RuntimeException|§> member = new Generic<Exception>().new MemberGeneric<? super RuntimeException>();@1459] EXACT_MATCH\n" + |
1439 |
"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [ Generic<? super RuntimeException>.MemberGeneric<? super RuntimeException> member = new Generic<Exception>().new MemberGeneric<? super §|RuntimeException|§>();@1537] EXACT_MATCH\n" + |
1440 |
"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [ Generic<? super §|RuntimeException|§>.MemberGeneric<? super RuntimeException> member = new Generic<? super RuntimeException>().new MemberGeneric<Exception>();@1605] EXACT_MATCH\n" + |
1441 |
"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [ Generic<? super RuntimeException>.MemberGeneric<? super §|RuntimeException|§> member = new Generic<? super RuntimeException>().new MemberGeneric<Exception>();@1645] EXACT_MATCH\n" + |
1442 |
"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [ Generic<? super RuntimeException>.MemberGeneric<? super RuntimeException> member = new Generic<? super §|RuntimeException|§>().new MemberGeneric<Exception>();@1692] EXACT_MATCH\n" + |
1443 |
"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [ Generic<? super §|RuntimeException|§>.MemberGeneric<? super RuntimeException> member = new Generic<? super RuntimeException>().new MemberGeneric<? super RuntimeException>();@1791] EXACT_MATCH\n" + |
1444 |
"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [ Generic<? super RuntimeException>.MemberGeneric<? super §|RuntimeException|§> member = new Generic<? super RuntimeException>().new MemberGeneric<? super RuntimeException>();@1831] EXACT_MATCH\n" + |
1445 |
"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [ Generic<? super RuntimeException>.MemberGeneric<? super RuntimeException> member = new Generic<? super §|RuntimeException|§>().new MemberGeneric<? super RuntimeException>();@1878] EXACT_MATCH\n" + |
1446 |
"src/g2/f/s/def/R3.java g2.f.s.def.R3.{} [ Generic<? super RuntimeException>.MemberGeneric<? super RuntimeException> member = new Generic<? super RuntimeException>().new MemberGeneric<? super §|RuntimeException|§>();@1924] EXACT_MATCH" |
1447 |
); |
1448 |
} |
1449 |
public void testTypeRefGenericAllG3R1_Parameterized() throws CoreException { |
1450 |
IType type = getCompilationUnit("JavaSearch15/src/g3/t/ref/R1.java").getType("R1"); |
1451 |
IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type }); |
1452 |
search("*", TYPE, PARAMETERIZED_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope); |
1453 |
assertSearchResults( |
1454 |
"src/g3/t/ref/R1.java g3.t.ref.R1.sgsm_wld [ public GS<§|GM|§<?, ?, ?>> sgsm_wld;@321] EXACT_MATCH\n" + |
1455 |
"src/g3/t/ref/R1.java g3.t.ref.R1.sgsm_www [ public GS<§|GM|§<GM<?, ?, ?>,GM<?, ?, ?>,GM<?, ?, ?>>> sgsm_www;@355] EXACT_MATCH\n" + |
1456 |
"src/g3/t/ref/R1.java g3.t.ref.R1.sgsm_www [ public GS<GM<§|GM|§<?, ?, ?>,GM<?, ?, ?>,GM<?, ?, ?>>> sgsm_www;@358] EXACT_MATCH\n" + |
1457 |
"src/g3/t/ref/R1.java g3.t.ref.R1.sgsm_www [ public GS<GM<GM<?, ?, ?>,§|GM|§<?, ?, ?>,GM<?, ?, ?>>> sgsm_www;@370] EXACT_MATCH\n" + |
1458 |
"src/g3/t/ref/R1.java g3.t.ref.R1.sgsm_www [ public GS<GM<GM<?, ?, ?>,GM<?, ?, ?>,§|GM|§<?, ?, ?>>> sgsm_www;@382] EXACT_MATCH\n" + |
1459 |
"src/g3/t/ref/R1.java g3.t.ref.R1.sgsm_obj [ public GS<§|GM|§<Object, Exception, RuntimeException>> sgsm_obj;@417] EXACT_MATCH\n" + |
1460 |
"src/g3/t/ref/R1.java g3.t.ref.R1.sgsm_obj [ public GS<GM<§|Object|§, Exception, RuntimeException>> sgsm_obj;@420] EXACT_MATCH\n" + |
1461 |
"src/g3/t/ref/R1.java g3.t.ref.R1.sgsm_obj [ public GS<GM<Object, §|Exception|§, RuntimeException>> sgsm_obj;@428] EXACT_MATCH\n" + |
1462 |
"src/g3/t/ref/R1.java g3.t.ref.R1.sgsm_obj [ public GS<GM<Object, Exception, §|RuntimeException|§>> sgsm_obj;@439] EXACT_MATCH\n" + |
1463 |
"src/g3/t/ref/R1.java g3.t.ref.R1.sgms_wld [ public GM<§|GS|§<?>, GS<?>, GS<?>> sgms_wld;@479] EXACT_MATCH\n" + |
1464 |
"src/g3/t/ref/R1.java g3.t.ref.R1.sgms_wld [ public GM<GS<?>, §|GS|§<?>, GS<?>> sgms_wld;@486] EXACT_MATCH\n" + |
1465 |
"src/g3/t/ref/R1.java g3.t.ref.R1.sgms_wld [ public GM<GS<?>, GS<?>, §|GS|§<?>> sgms_wld;@493] EXACT_MATCH\n" + |
1466 |
"src/g3/t/ref/R1.java g3.t.ref.R1.sgms_www [ public GM<§|GS|§<?>, GS<GS<?>>, GS<GS<GS<?>>>> sgms_www;@521] EXACT_MATCH\n" + |
1467 |
"src/g3/t/ref/R1.java g3.t.ref.R1.sgms_www [ public GM<GS<?>, §|GS|§<GS<?>>, GS<GS<GS<?>>>> sgms_www;@528] EXACT_MATCH\n" + |
1468 |
"src/g3/t/ref/R1.java g3.t.ref.R1.sgms_www [ public GM<GS<?>, GS<§|GS|§<?>>, GS<GS<GS<?>>>> sgms_www;@531] EXACT_MATCH\n" + |
1469 |
"src/g3/t/ref/R1.java g3.t.ref.R1.sgms_www [ public GM<GS<?>, GS<GS<?>>, §|GS|§<GS<GS<?>>>> sgms_www;@539] EXACT_MATCH\n" + |
1470 |
"src/g3/t/ref/R1.java g3.t.ref.R1.sgms_www [ public GM<GS<?>, GS<GS<?>>, GS<§|GS|§<GS<?>>>> sgms_www;@542] EXACT_MATCH\n" + |
1471 |
"src/g3/t/ref/R1.java g3.t.ref.R1.sgms_www [ public GM<GS<?>, GS<GS<?>>, GS<GS<§|GS|§<?>>>> sgms_www;@545] EXACT_MATCH\n" + |
1472 |
"src/g3/t/ref/R1.java g3.t.ref.R1.sgms_obj [ public GM<§|GS|§<Object>, GS<? extends Throwable>, GS<? super RuntimeException>> sgms_obj;@575] EXACT_MATCH\n" + |
1473 |
"src/g3/t/ref/R1.java g3.t.ref.R1.sgms_obj [ public GM<GS<§|Object|§>, GS<? extends Throwable>, GS<? super RuntimeException>> sgms_obj;@578] EXACT_MATCH\n" + |
1474 |
"src/g3/t/ref/R1.java g3.t.ref.R1.sgms_obj [ public GM<GS<Object>, §|GS|§<? extends Throwable>, GS<? super RuntimeException>> sgms_obj;@587] EXACT_MATCH\n" + |
1475 |
"src/g3/t/ref/R1.java g3.t.ref.R1.sgms_obj [ public GM<GS<Object>, GS<? extends Throwable>, §|GS|§<? super RuntimeException>> sgms_obj;@612] EXACT_MATCH\n" + |
1476 |
"src/g3/t/ref/R1.java g3.t.ref.R1.qgsm_wld [ public g3.t.def.GS<§|g3.t.def.GM|§<?, ?, ?>> qgsm_wld;@691] EXACT_MATCH\n" + |
1477 |
"src/g3/t/ref/R1.java g3.t.ref.R1.qgsm_www [ public g3.t.def.GS<§|g3.t.def.GM|§<g3.t.def.GM<?, ?, ?>, g3.t.def.GM<?, ?, ?>, g3.t.def.GM<?, ?, ?>>> qgsm_www;@743] EXACT_MATCH\n" + |
1478 |
"src/g3/t/ref/R1.java g3.t.ref.R1.qgsm_www [ public g3.t.def.GS<g3.t.def.GM<§|g3.t.def.GM|§<?, ?, ?>, g3.t.def.GM<?, ?, ?>, g3.t.def.GM<?, ?, ?>>> qgsm_www;@755] EXACT_MATCH\n" + |
1479 |
"src/g3/t/ref/R1.java g3.t.ref.R1.qgsm_www [ public g3.t.def.GS<g3.t.def.GM<g3.t.def.GM<?, ?, ?>, §|g3.t.def.GM|§<?, ?, ?>, g3.t.def.GM<?, ?, ?>>> qgsm_www;@777] EXACT_MATCH\n" + |
1480 |
"src/g3/t/ref/R1.java g3.t.ref.R1.qgsm_www [ public g3.t.def.GS<g3.t.def.GM<g3.t.def.GM<?, ?, ?>, g3.t.def.GM<?, ?, ?>, §|g3.t.def.GM|§<?, ?, ?>>> qgsm_www;@799] EXACT_MATCH\n" + |
1481 |
"src/g3/t/ref/R1.java g3.t.ref.R1.qgsm_obj [ public g3.t.def.GS<§|g3.t.def.GM|§<java.lang.Object, java.lang.Exception, java.lang.RuntimeException>> qgsm_obj;@852] EXACT_MATCH\n" + |
1482 |
"src/g3/t/ref/R1.java g3.t.ref.R1.qgsm_obj [ public g3.t.def.GS<g3.t.def.GM<§|java.lang.Object|§, java.lang.Exception, java.lang.RuntimeException>> qgsm_obj;@864] EXACT_MATCH\n" + |
1483 |
"src/g3/t/ref/R1.java g3.t.ref.R1.qgsm_obj [ public g3.t.def.GS<g3.t.def.GM<java.lang.Object, §|java.lang.Exception|§, java.lang.RuntimeException>> qgsm_obj;@882] EXACT_MATCH\n" + |
1484 |
"src/g3/t/ref/R1.java g3.t.ref.R1.qgsm_obj [ public g3.t.def.GS<g3.t.def.GM<java.lang.Object, java.lang.Exception, §|java.lang.RuntimeException|§>> qgsm_obj;@903] EXACT_MATCH\n" + |
1485 |
"src/g3/t/ref/R1.java g3.t.ref.R1.qgms_wld [ public g3.t.def.GM<§|g3.t.def.GS|§<?>, g3.t.def.GS<?>, g3.t.def.GS<?>> qgms_wld;@962] EXACT_MATCH\n" + |
1486 |
"src/g3/t/ref/R1.java g3.t.ref.R1.qgms_wld [ public g3.t.def.GM<g3.t.def.GS<?>, §|g3.t.def.GS|§<?>, g3.t.def.GS<?>> qgms_wld;@978] EXACT_MATCH\n" + |
1487 |
"src/g3/t/ref/R1.java g3.t.ref.R1.qgms_wld [ public g3.t.def.GM<g3.t.def.GS<?>, g3.t.def.GS<?>, §|g3.t.def.GS|§<?>> qgms_wld;@994] EXACT_MATCH\n" + |
1488 |
"src/g3/t/ref/R1.java g3.t.ref.R1.qgms_www [ public g3.t.def.GM<§|g3.t.def.GS|§<?>, g3.t.def.GS<g3.t.def.GS<?>>, g3.t.def.GS<g3.t.def.GS<g3.t.def.GS<?>>>> qgms_www;@1040] EXACT_MATCH\n" + |
1489 |
"src/g3/t/ref/R1.java g3.t.ref.R1.qgms_www [ public g3.t.def.GM<g3.t.def.GS<?>, §|g3.t.def.GS|§<g3.t.def.GS<?>>, g3.t.def.GS<g3.t.def.GS<g3.t.def.GS<?>>>> qgms_www;@1056] EXACT_MATCH\n" + |
1490 |
"src/g3/t/ref/R1.java g3.t.ref.R1.qgms_www [ public g3.t.def.GM<g3.t.def.GS<?>, g3.t.def.GS<§|g3.t.def.GS|§<?>>, g3.t.def.GS<g3.t.def.GS<g3.t.def.GS<?>>>> qgms_www;@1068] EXACT_MATCH\n" + |
1491 |
"src/g3/t/ref/R1.java g3.t.ref.R1.qgms_www [ public g3.t.def.GM<g3.t.def.GS<?>, g3.t.def.GS<g3.t.def.GS<?>>, §|g3.t.def.GS|§<g3.t.def.GS<g3.t.def.GS<?>>>> qgms_www;@1085] EXACT_MATCH\n" + |
1492 |
"src/g3/t/ref/R1.java g3.t.ref.R1.qgms_www [ public g3.t.def.GM<g3.t.def.GS<?>, g3.t.def.GS<g3.t.def.GS<?>>, g3.t.def.GS<§|g3.t.def.GS|§<g3.t.def.GS<?>>>> qgms_www;@1097] EXACT_MATCH\n" + |
1493 |
"src/g3/t/ref/R1.java g3.t.ref.R1.qgms_www [ public g3.t.def.GM<g3.t.def.GS<?>, g3.t.def.GS<g3.t.def.GS<?>>, g3.t.def.GS<g3.t.def.GS<§|g3.t.def.GS|§<?>>>> qgms_www;@1109] EXACT_MATCH\n" + |
1494 |
"src/g3/t/ref/R1.java g3.t.ref.R1.qgms_obj [ public g3.t.def.GM<§|g3.t.def.GS|§<java.lang.Object>, g3.t.def.GS<? extends java.lang.Throwable>, g3.t.def.GS<? super java.lang.RuntimeException>> qgms_obj;@1157] EXACT_MATCH\n" + |
1495 |
"src/g3/t/ref/R1.java g3.t.ref.R1.qgms_obj [ public g3.t.def.GM<g3.t.def.GS<§|java.lang.Object|§>, g3.t.def.GS<? extends java.lang.Throwable>, g3.t.def.GS<? super java.lang.RuntimeException>> qgms_obj;@1169] EXACT_MATCH\n" + |
1496 |
"src/g3/t/ref/R1.java g3.t.ref.R1.qgms_obj [ public g3.t.def.GM<g3.t.def.GS<java.lang.Object>, §|g3.t.def.GS|§<? extends java.lang.Throwable>, g3.t.def.GS<? super java.lang.RuntimeException>> qgms_obj;@1188] EXACT_MATCH\n" + |
1497 |
"src/g3/t/ref/R1.java g3.t.ref.R1.qgms_obj [ public g3.t.def.GM<g3.t.def.GS<java.lang.Object>, g3.t.def.GS<? extends java.lang.Throwable>, §|g3.t.def.GS|§<? super java.lang.RuntimeException>> qgms_obj;@1232] EXACT_MATCH" |
1498 |
); |
1499 |
} |
1500 |
public void testTypeRefGenericAllG3R1_WildcardBounds() throws CoreException { |
1501 |
IType type = getCompilationUnit("JavaSearch15/src/g3/t/ref/R1.java").getType("R1"); |
1502 |
IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type }); |
1503 |
search("*", TYPE, WILDCARD_BOUND_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope); |
1504 |
assertSearchResults( |
1505 |
"src/g3/t/ref/R1.java g3.t.ref.R1.sgms_obj [ public GM<GS<Object>, GS<? extends §|Throwable|§>, GS<? super RuntimeException>> sgms_obj;@600] EXACT_MATCH\n" + |
1506 |
"src/g3/t/ref/R1.java g3.t.ref.R1.sgms_obj [ public GM<GS<Object>, GS<? extends Throwable>, GS<? super §|RuntimeException|§>> sgms_obj;@623] EXACT_MATCH\n" + |
1507 |
"src/g3/t/ref/R1.java g3.t.ref.R1.qgms_obj [ public g3.t.def.GM<g3.t.def.GS<java.lang.Object>, g3.t.def.GS<? extends §|java.lang.Throwable|§>, g3.t.def.GS<? super java.lang.RuntimeException>> qgms_obj;@1210] EXACT_MATCH\n" + |
1508 |
"src/g3/t/ref/R1.java g3.t.ref.R1.qgms_obj [ public g3.t.def.GM<g3.t.def.GS<java.lang.Object>, g3.t.def.GS<? extends java.lang.Throwable>, g3.t.def.GS<? super §|java.lang.RuntimeException|§>> qgms_obj;@1252] EXACT_MATCH" |
1509 |
); |
1510 |
} |
1511 |
public void testTypeRefGenericAllG3R1_TypeVariableBounds() throws CoreException { |
1512 |
IType type = getCompilationUnit("JavaSearch15/src/g3/t/ref/R1.java").getType("R1"); |
1513 |
IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type }); |
1514 |
search("*", TYPE, TYPE_VARIABLE_BOUND_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope); |
1515 |
assertSearchResults(""); |
1516 |
} |
1517 |
public void testTypeRefGenericAllG5_Parameterized() throws CoreException { |
1518 |
IType type = getCompilationUnit("JavaSearch15/src/g5/m/ref/RefMultiple.java").getType("RefMultiple"); |
1519 |
IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type }); |
1520 |
search("*", TYPE, PARAMETERIZED_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope); |
1521 |
assertSearchResults( |
1522 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [ Multiple<§|Object|§, Exception, RuntimeException> gm = new Multiple<Object, Exception, RuntimeException>();@115] EXACT_MATCH\n" + |
1523 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [ Multiple<Object, §|Exception|§, RuntimeException> gm = new Multiple<Object, Exception, RuntimeException>();@123] EXACT_MATCH\n" + |
1524 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [ Multiple<Object, Exception, §|RuntimeException|§> gm = new Multiple<Object, Exception, RuntimeException>();@134] EXACT_MATCH\n" + |
1525 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [ Multiple<Object, Exception, RuntimeException> gm = new Multiple<§|Object|§, Exception, RuntimeException>();@170] EXACT_MATCH\n" + |
1526 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [ Multiple<Object, Exception, RuntimeException> gm = new Multiple<Object, §|Exception|§, RuntimeException>();@178] EXACT_MATCH\n" + |
1527 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [ Multiple<Object, Exception, RuntimeException> gm = new Multiple<Object, Exception, §|RuntimeException|§>();@189] EXACT_MATCH\n" + |
1528 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [ gm.<§|Object|§, Exception, RuntimeException>generic(new Object(), new Exception(), new RuntimeException());@367] EXACT_MATCH\n" + |
1529 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [ gm.<Object, §|Exception|§, RuntimeException>generic(new Object(), new Exception(), new RuntimeException());@375] EXACT_MATCH\n" + |
1530 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [ gm.<Object, Exception, §|RuntimeException|§>generic(new Object(), new Exception(), new RuntimeException());@386] EXACT_MATCH\n" + |
1531 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [ gm.paramTypesArgs(new Single<§|Object|§>(), new Single<Exception>(), new Single<RuntimeException>(), gm);@656] EXACT_MATCH\n" + |
1532 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [ gm.paramTypesArgs(new Single<Object>(), new Single<§|Exception|§>(), new Single<RuntimeException>(), gm);@678] EXACT_MATCH\n" + |
1533 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [ gm.paramTypesArgs(new Single<Object>(), new Single<Exception>(), new Single<§|RuntimeException|§>(), gm);@703] EXACT_MATCH\n" + |
1534 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [ gm = gm.<§|Object|§, Exception, RuntimeException>complete(new Object(), new Exception(), new RuntimeException(), gm);@838] EXACT_MATCH\n" + |
1535 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [ gm = gm.<Object, §|Exception|§, RuntimeException>complete(new Object(), new Exception(), new RuntimeException(), gm);@846] EXACT_MATCH\n" + |
1536 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.test() [ gm = gm.<Object, Exception, §|RuntimeException|§>complete(new Object(), new Exception(), new RuntimeException(), gm);@857] EXACT_MATCH\n" + |
1537 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testUnbound() [ gm.paramTypesArgs(new Single<§|Object|§>(), new Single<Object>(), new Single<Object>(), gm);@1095] EXACT_MATCH\n" + |
1538 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testUnbound() [ gm.paramTypesArgs(new Single<Object>(), new Single<§|Object|§>(), new Single<Object>(), gm);@1117] EXACT_MATCH\n" + |
1539 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testUnbound() [ gm.paramTypesArgs(new Single<Object>(), new Single<Object>(), new Single<§|Object|§>(), gm);@1139] EXACT_MATCH\n" + |
1540 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [ Multiple<§|Object|§, ? extends Throwable, ? extends Exception> gm = new Multiple<Object, Exception, RuntimeException>();@1295] EXACT_MATCH\n" + |
1541 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [ Multiple<Object, ? extends Throwable, ? extends Exception> gm = new Multiple<§|Object|§, Exception, RuntimeException>();@1363] EXACT_MATCH\n" + |
1542 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [ Multiple<Object, ? extends Throwable, ? extends Exception> gm = new Multiple<Object, §|Exception|§, RuntimeException>();@1371] EXACT_MATCH\n" + |
1543 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [ Multiple<Object, ? extends Throwable, ? extends Exception> gm = new Multiple<Object, Exception, §|RuntimeException|§>();@1382] EXACT_MATCH\n" + |
1544 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [ gm.<§|Object|§, RuntimeException, RuntimeException>generic(new Object(), new RuntimeException(), new RuntimeException());@1409] EXACT_MATCH\n" + |
1545 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [ gm.<Object, §|RuntimeException|§, RuntimeException>generic(new Object(), new RuntimeException(), new RuntimeException());@1417] EXACT_MATCH\n" + |
1546 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [ gm.<Object, RuntimeException, §|RuntimeException|§>generic(new Object(), new RuntimeException(), new RuntimeException());@1435] EXACT_MATCH\n" + |
1547 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [ gm.paramTypesArgs(new Single<§|Object|§>(), new Single<Throwable>(), new Single<Exception>(), gm);@1554] EXACT_MATCH\n" + |
1548 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [ gm.paramTypesArgs(new Single<Object>(), new Single<§|Throwable|§>(), new Single<Exception>(), gm);@1576] EXACT_MATCH\n" + |
1549 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [ gm.paramTypesArgs(new Single<Object>(), new Single<Throwable>(), new Single<§|Exception|§>(), gm);@1601] EXACT_MATCH\n" + |
1550 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [ gm = gm.<§|Object|§, RuntimeException, RuntimeException>complete(new Object(), new RuntimeException(), new RuntimeException(), gm);@1660] EXACT_MATCH\n" + |
1551 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [ gm = gm.<Object, §|RuntimeException|§, RuntimeException>complete(new Object(), new RuntimeException(), new RuntimeException(), gm);@1668] EXACT_MATCH\n" + |
1552 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [ gm = gm.<Object, RuntimeException, §|RuntimeException|§>complete(new Object(), new RuntimeException(), new RuntimeException(), gm);@1686] EXACT_MATCH\n" + |
1553 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [ Multiple<§|Object|§, ? super RuntimeException, ? super IllegalMonitorStateException> gm = new Multiple<Object, Exception, RuntimeException>();@1893] EXACT_MATCH\n" + |
1554 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [ Multiple<Object, ? super RuntimeException, ? super IllegalMonitorStateException> gm = new Multiple<§|Object|§, Exception, RuntimeException>();@1983] EXACT_MATCH\n" + |
1555 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [ Multiple<Object, ? super RuntimeException, ? super IllegalMonitorStateException> gm = new Multiple<Object, §|Exception|§, RuntimeException>();@1991] EXACT_MATCH\n" + |
1556 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [ Multiple<Object, ? super RuntimeException, ? super IllegalMonitorStateException> gm = new Multiple<Object, Exception, §|RuntimeException|§>();@2002] EXACT_MATCH\n" + |
1557 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [ gm.<§|Object|§, RuntimeException, IllegalMonitorStateException>generic(new Object(), new RuntimeException(), new IllegalMonitorStateException());@2029] EXACT_MATCH\n" + |
1558 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [ gm.<Object, §|RuntimeException|§, IllegalMonitorStateException>generic(new Object(), new RuntimeException(), new IllegalMonitorStateException());@2037] EXACT_MATCH\n" + |
1559 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [ gm.<Object, RuntimeException, §|IllegalMonitorStateException|§>generic(new Object(), new RuntimeException(), new IllegalMonitorStateException());@2055] EXACT_MATCH\n" + |
1560 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [ gm.paramTypesArgs(new Single<§|Object|§>(), new Single<RuntimeException>(), new Single<RuntimeException>(), gm);@2198] EXACT_MATCH\n" + |
1561 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [ gm.paramTypesArgs(new Single<Object>(), new Single<§|RuntimeException|§>(), new Single<RuntimeException>(), gm);@2220] EXACT_MATCH\n" + |
1562 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [ gm.paramTypesArgs(new Single<Object>(), new Single<RuntimeException>(), new Single<§|RuntimeException|§>(), gm);@2252] EXACT_MATCH\n" + |
1563 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [ gm = gm.<§|Object|§, RuntimeException, IllegalMonitorStateException>complete(new Object(), new RuntimeException(), new IllegalMonitorStateException(), gm);@2318] EXACT_MATCH\n" + |
1564 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [ gm = gm.<Object, §|RuntimeException|§, IllegalMonitorStateException>complete(new Object(), new RuntimeException(), new IllegalMonitorStateException(), gm);@2326] EXACT_MATCH\n" + |
1565 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [ gm = gm.<Object, RuntimeException, §|IllegalMonitorStateException|§>complete(new Object(), new RuntimeException(), new IllegalMonitorStateException(), gm);@2344] EXACT_MATCH" |
1566 |
); |
1567 |
} |
1568 |
public void testTypeRefGenericAllG5_WildcardBounds() throws CoreException { |
1569 |
IType type = getCompilationUnit("JavaSearch15/src/g5/m/ref/RefMultiple.java").getType("RefMultiple"); |
1570 |
IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type }); |
1571 |
search("*", TYPE, WILDCARD_BOUND_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope); |
1572 |
assertSearchResults( |
1573 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [ Multiple<Object, ? extends §|Throwable|§, ? extends Exception> gm = new Multiple<Object, Exception, RuntimeException>();@1313] EXACT_MATCH\n" + |
1574 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testExtends() [ Multiple<Object, ? extends Throwable, ? extends §|Exception|§> gm = new Multiple<Object, Exception, RuntimeException>();@1334] EXACT_MATCH\n" + |
1575 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [ Multiple<Object, ? super §|RuntimeException|§, ? super IllegalMonitorStateException> gm = new Multiple<Object, Exception, RuntimeException>();@1909] EXACT_MATCH\n" + |
1576 |
"src/g5/m/ref/RefMultiple.java void g5.m.ref.RefMultiple.testSuper() [ Multiple<Object, ? super RuntimeException, ? super §|IllegalMonitorStateException|§> gm = new Multiple<Object, Exception, RuntimeException>();@1935] EXACT_MATCH" |
1577 |
); |
1578 |
} |
1579 |
public void testTypeRefGenericAllG5_TypeVariableBounds() throws CoreException { |
1580 |
IType type = getCompilationUnit("JavaSearch15/src/g5/m/ref/RefMultiple.java").getType("RefMultiple"); |
1581 |
IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type }); |
1582 |
search("*", TYPE, TYPE_VARIABLE_BOUND_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope); |
1583 |
assertSearchResults(""); |
1584 |
} |
1585 |
public void testTypeRefGenericAllG6_Parameterized() throws CoreException { |
1586 |
IType type = getCompilationUnit("JavaSearch15/src/g6/t/ref/QualifMultiple.java").getType("QualifMultiple"); |
1587 |
IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type }); |
1588 |
search("*", TYPE, PARAMETERIZED_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope); |
1589 |
assertSearchResults( |
1590 |
"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.entryException [ g6.t.def.Table<§|String|§, Exception>.Entry<String, Exception> entryException;@64] EXACT_MATCH\n" + |
1591 |
"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.entryException [ g6.t.def.Table<String, §|Exception|§>.Entry<String, Exception> entryException;@72] EXACT_MATCH\n" + |
1592 |
"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.entryException [ g6.t.def.Table<String, Exception>.Entry<§|String|§, Exception> entryException;@89] EXACT_MATCH\n" + |
1593 |
"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.entryException [ g6.t.def.Table<String, Exception>.Entry<String, §|Exception|§> entryException;@97] EXACT_MATCH\n" + |
1594 |
"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.entryExceptionArray [ g6.t.def.Table<§|String|§, Exception>.Entry<String, Exception>[] entryExceptionArray;@140] EXACT_MATCH\n" + |
1595 |
"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.entryExceptionArray [ g6.t.def.Table<String, §|Exception|§>.Entry<String, Exception>[] entryExceptionArray;@148] EXACT_MATCH\n" + |
1596 |
"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.entryExceptionArray [ g6.t.def.Table<String, Exception>.Entry<§|String|§, Exception>[] entryExceptionArray;@165] EXACT_MATCH\n" + |
1597 |
"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.entryExceptionArray [ g6.t.def.Table<String, Exception>.Entry<String, §|Exception|§>[] entryExceptionArray;@173] EXACT_MATCH\n" + |
1598 |
"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.tableOfEntryExceptionArray [ g6.t.def.Table<§|String|§, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]>.Entry<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]> tableOfEntryExceptionArray;@223] EXACT_MATCH\n" + |
1599 |
"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.tableOfEntryExceptionArray [ g6.t.def.Table<String, §|g6.t.def.Table<String, Exception>.Entry<String, Exception>[]|§>.Entry<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]> tableOfEntryExceptionArray;@231] EXACT_MATCH\n" + |
1600 |
"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.tableOfEntryExceptionArray [ g6.t.def.Table<String, g6.t.def.Table<§|String|§, Exception>.Entry<String, Exception>[]>.Entry<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]> tableOfEntryExceptionArray;@246] EXACT_MATCH\n" + |
1601 |
"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.tableOfEntryExceptionArray [ g6.t.def.Table<String, g6.t.def.Table<String, §|Exception|§>.Entry<String, Exception>[]>.Entry<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]> tableOfEntryExceptionArray;@254] EXACT_MATCH\n" + |
1602 |
"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.tableOfEntryExceptionArray [ g6.t.def.Table<String, g6.t.def.Table<String, Exception>.Entry<§|String|§, Exception>[]>.Entry<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]> tableOfEntryExceptionArray;@271] EXACT_MATCH\n" + |
1603 |
"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.tableOfEntryExceptionArray [ g6.t.def.Table<String, g6.t.def.Table<String, Exception>.Entry<String, §|Exception|§>[]>.Entry<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]> tableOfEntryExceptionArray;@279] EXACT_MATCH\n" + |
1604 |
"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.tableOfEntryExceptionArray [ g6.t.def.Table<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]>.Entry<§|String|§, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]> tableOfEntryExceptionArray;@299] EXACT_MATCH\n" + |
1605 |
"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.tableOfEntryExceptionArray [ g6.t.def.Table<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]>.Entry<String, §|g6.t.def.Table<String, Exception>.Entry<String, Exception>[]|§> tableOfEntryExceptionArray;@307] EXACT_MATCH\n" + |
1606 |
"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.tableOfEntryExceptionArray [ g6.t.def.Table<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]>.Entry<String, g6.t.def.Table<§|String|§, Exception>.Entry<String, Exception>[]> tableOfEntryExceptionArray;@322] EXACT_MATCH\n" + |
1607 |
"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.tableOfEntryExceptionArray [ g6.t.def.Table<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]>.Entry<String, g6.t.def.Table<String, §|Exception|§>.Entry<String, Exception>[]> tableOfEntryExceptionArray;@330] EXACT_MATCH\n" + |
1608 |
"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.tableOfEntryExceptionArray [ g6.t.def.Table<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]>.Entry<String, g6.t.def.Table<String, Exception>.Entry<§|String|§, Exception>[]> tableOfEntryExceptionArray;@347] EXACT_MATCH\n" + |
1609 |
"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.tableOfEntryExceptionArray [ g6.t.def.Table<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]>.Entry<String, g6.t.def.Table<String, Exception>.Entry<String, §|Exception|§>[]> tableOfEntryExceptionArray;@355] EXACT_MATCH" |
1610 |
); |
1611 |
} |
1612 |
public void testTypeRefGenericAllG6_WildcardBounds() throws CoreException { |
1613 |
IType type = getCompilationUnit("JavaSearch15/src/g6/t/ref/QualifMultiple.java").getType("QualifMultiple"); |
1614 |
IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type }); |
1615 |
search("*", TYPE, FIELD_TYPE_DECLARATION_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope); |
1616 |
assertSearchResults( |
1617 |
"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.entryException [ §|g6.t.def.Table<String, Exception>.Entry|§<String, Exception> entryException;@49] EXACT_MATCH\n" + |
1618 |
"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.entryExceptionArray [ §|g6.t.def.Table<String, Exception>.Entry<String, Exception>[]|§ entryExceptionArray;@125] EXACT_MATCH\n" + |
1619 |
"src/g6/t/ref/QualifMultiple.java g6.t.ref.QualifMultiple.tableOfEntryExceptionArray [ §|g6.t.def.Table<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]>.Entry|§<String, g6.t.def.Table<String, Exception>.Entry<String, Exception>[]> tableOfEntryExceptionArray;@208] EXACT_MATCH" |
1620 |
); |
1621 |
} |
1622 |
public void testTypeRefGenericAllG6_TypeVariableBounds() throws CoreException { |
1623 |
IType type = getCompilationUnit("JavaSearch15/src/g6/t/ref/QualifMultiple.java").getType("QualifMultiple"); |
1624 |
IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { type }); |
1625 |
search("*", TYPE, TYPE_VARIABLE_BOUND_TYPE_REFERENCE | WILDCARD_BOUND_TYPE_REFERENCE, SearchPattern.R_ERASURE_MATCH, scope); |
1626 |
assertSearchResults(""); |
1627 |
} |
1628 |
} |