Lines 1389-1456
Link Here
|
1389 |
* <ul> |
1389 |
* <ul> |
1390 |
* <li>Type patterns have the following syntax: |
1390 |
* <li>Type patterns have the following syntax: |
1391 |
* <p><b><code>[qualification '.']typeName ['<' typeArguments '>']</code></b></p> |
1391 |
* <p><b><code>[qualification '.']typeName ['<' typeArguments '>']</code></b></p> |
1392 |
* <p>Some samples:<code> |
1392 |
* <p>Examples: |
1393 |
* <ul> |
1393 |
* <ul> |
1394 |
* <li>java.lang.Object</li> |
1394 |
* <li><code>java.lang.Object</code></li> |
1395 |
* <li>Runnable</li> |
1395 |
* <li><code>Runnable</code></li> |
1396 |
* <li>List<String></li> |
1396 |
* <li><code>List<String></code></li> |
1397 |
* </ul> |
1397 |
* </ul> |
1398 |
* </code> |
1398 |
* <p> |
1399 |
* </p><p> |
|
|
1400 |
* Type arguments can be specified to search for references to parameterized types |
1399 |
* Type arguments can be specified to search for references to parameterized types |
1401 |
* using following syntax:</p><p> |
1400 |
* using following syntax:</p><p> |
1402 |
* <b><code>'<' { [ '?' {'extends'|'super'} ] type ( ',' [ '?' {'extends'|'super'} ] type )* | '?' } '>'</code></b> |
1401 |
* <b><code>'<' { [ '?' {'extends'|'super'} ] type ( ',' [ '?' {'extends'|'super'} ] type )* | '?' } '>'</code></b> |
1403 |
* </p><p><i> |
1402 |
* </p><div style="font-style:italic;"> |
1404 |
* Note that: |
1403 |
* Note that: |
1405 |
* <ul> |
1404 |
* <ul> |
1406 |
* <li>'*' is not valid inside type arguments definition <></li> |
1405 |
* <li>'*' is not valid inside type arguments definition <></li> |
1407 |
* <li>'?' is treated as a wildcard when it is inside <> (i.e. it must be put on first position of the type argument)</li> |
1406 |
* <li>'?' is treated as a wildcard when it is inside <> (i.e. it must be put on first position of the type argument)</li> |
1408 |
* </ul> |
1407 |
* </ul> |
1409 |
* </i></p> |
1408 |
* </div> |
|
|
1409 |
* <br> |
1410 |
* </li> |
1410 |
* </li> |
1411 |
* <li>Method patterns have the following syntax: |
1411 |
* <li>Method patterns have the following syntax: |
1412 |
* <p><b><code>[declaringType '.'] ['<' typeArguments '>'] methodName ['(' parameterTypes ')'] [returnType]</code></b></p> |
1412 |
* <p><b><code>[declaringType '.'] ['<' typeArguments '>'] methodName ['(' parameterTypes ')'] [returnType]</code></b></p> |
1413 |
* <p>Type arguments have the same syntax as explained in the type patterns section</p> |
1413 |
* <p>Type arguments have the same syntax as explained in the type patterns section.</p> |
1414 |
* <p>Some samples:<code> |
1414 |
* <p>Examples: |
1415 |
* <ul> |
1415 |
* <ul> |
1416 |
* <li>java.lang.Runnable.run() void</li> |
1416 |
* <li><code>java.lang.Runnable.run() void</code></li> |
1417 |
* <li>main(*)</li> |
1417 |
* <li><code>main(*)</code></li> |
1418 |
* <li><String>toArray(String[])</li> |
1418 |
* <li><code><String>toArray(String[])</code></li> |
1419 |
* </ul> |
1419 |
* </ul> |
1420 |
* </code> |
1420 |
* <br> |
1421 |
* </p> |
|
|
1422 |
* </li> |
1421 |
* </li> |
1423 |
* <li>Constructor patterns have the following syntax: |
1422 |
* <li>Constructor patterns have the following syntax: |
1424 |
* <p><b><code>['<' typeArguments '>'] [declaringQualification '.'] typeName ['(' parameterTypes ')']</code></b></p> |
1423 |
* <p><b><code>['<' typeArguments '>'] [declaringQualification '.'] typeName ['(' parameterTypes ')']</code></b></p> |
1425 |
* <p>Type arguments have the same syntax as explained in the type patterns section</p> |
1424 |
* <p>Type arguments have the same syntax as explained in the type patterns section.</p> |
1426 |
* <p>Some samples:<code> |
1425 |
* <p><i>Note that the constructor name should not be entered as it is always the same as the type name.</i></p> |
|
|
1426 |
* <p>Examples: |
1427 |
* <ul> |
1427 |
* <ul> |
1428 |
* <li>java.lang.Object()</li> |
1428 |
* <li><code>java.lang.Object()</code></li> |
1429 |
* <li>Test(*)</li> |
1429 |
* <li><code>Test(*)</code></li> |
1430 |
* <li><Exception>Sample(Exception)</li> |
1430 |
* <li><code><Exception>Sample(Exception)</code></li> |
1431 |
* </ul> |
1431 |
* </ul> |
1432 |
* </code> |
1432 |
* <br> |
1433 |
* </p> |
|
|
1434 |
* </li> |
1433 |
* </li> |
1435 |
* <li>Field patterns have the following syntax: |
1434 |
* <li>Field patterns have the following syntax: |
1436 |
* <p><b><code>[declaringType '.'] fieldName [fieldType]</code></b></p> |
1435 |
* <p><b><code>[declaringType '.'] fieldName [fieldType]</code></b></p> |
1437 |
* <p>Some samples:<code> |
1436 |
* <p>Examples: |
1438 |
* <ul> |
1437 |
* <ul> |
1439 |
* <li>java.lang.String.serialVersionUID long</li> |
1438 |
* <li><code>java.lang.String.serialVersionUID long</code></li> |
1440 |
* <li>field*</li> |
1439 |
* <li><code>field*</code></li> |
1441 |
* </ul> |
1440 |
* </ul> |
1442 |
* </code> |
1441 |
* <br> |
1443 |
* </p> |
|
|
1444 |
* </li> |
1442 |
* </li> |
1445 |
* <li>Package patterns have the following syntax: |
1443 |
* <li>Package patterns have the following syntax: |
1446 |
* <p><b><code>packageNameSegment {'.' packageNameSegment}</code></b></p> |
1444 |
* <p><b><code>packageNameSegment {'.' packageNameSegment}</code></b></p> |
1447 |
* <p>Some samples:<code> |
1445 |
* <p>Examples: |
1448 |
* <ul> |
1446 |
* <ul> |
1449 |
* <li>java.lang</li> |
1447 |
* <li><code>java.lang</code></li> |
1450 |
* <li>org.e*.jdt.c*e</li> |
1448 |
* <li><code>org.e*.jdt.c*e</code></li> |
1451 |
* </ul> |
1449 |
* </ul> |
1452 |
* </code> |
|
|
1453 |
* </p> |
1454 |
* </li> |
1450 |
* </li> |
1455 |
* </ul> |
1451 |
* </ul> |
1456 |
* @param searchFor determines the nature of the searched elements |
1452 |
* @param searchFor determines the nature of the searched elements |