Commit de4f1d9
authored
Fix print idempotency for annotated array type casts (#6861)
When javac represents `(@nullable Object[])` as
`JCArrayTypeTree(JCAnnotatedType(@nullable, JCIdent(Object)))`, the
`arrayTypeTree` method stripped the JCAnnotatedType wrapper without
collecting its annotations, causing the cursor to advance over the
annotation text and produce garbled output like `(Objectble Object[])`.
The fix collects annotations from inner JCAnnotatedType wrappers during
the tree walk (guarded by `count > 0` to avoid double-collecting when
called from `visitAnnotatedType`), consumes them as leading annotations
before the element type, and wraps the result in `J.AnnotatedType` when
leading annotations are present.1 parent 8c6b95e commit de4f1d9
6 files changed
Lines changed: 89 additions & 6 deletions
File tree
- rewrite-java-11/src/main/java/org/openrewrite/java/isolated
- rewrite-java-17/src/main/java/org/openrewrite/java/isolated
- rewrite-java-21/src/main/java/org/openrewrite/java/isolated
- rewrite-java-25/src/main/java/org/openrewrite/java/isolated
- rewrite-java-8/src/main/java/org/openrewrite/java
- rewrite-java-tck/src/main/java/org/openrewrite/java/tree
Lines changed: 9 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1334 | 1334 | | |
1335 | 1335 | | |
1336 | 1336 | | |
| 1337 | + | |
| 1338 | + | |
| 1339 | + | |
1337 | 1340 | | |
1338 | 1341 | | |
1339 | 1342 | | |
| |||
1345 | 1348 | | |
1346 | 1349 | | |
1347 | 1350 | | |
| 1351 | + | |
1348 | 1352 | | |
1349 | 1353 | | |
1350 | 1354 | | |
1351 | 1355 | | |
1352 | 1356 | | |
1353 | | - | |
| 1357 | + | |
1354 | 1358 | | |
1355 | 1359 | | |
1356 | 1360 | | |
1357 | 1361 | | |
| 1362 | + | |
| 1363 | + | |
| 1364 | + | |
| 1365 | + | |
1358 | 1366 | | |
1359 | 1367 | | |
1360 | 1368 | | |
| |||
Lines changed: 9 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1477 | 1477 | | |
1478 | 1478 | | |
1479 | 1479 | | |
| 1480 | + | |
| 1481 | + | |
| 1482 | + | |
1480 | 1483 | | |
1481 | 1484 | | |
1482 | 1485 | | |
| |||
1488 | 1491 | | |
1489 | 1492 | | |
1490 | 1493 | | |
| 1494 | + | |
1491 | 1495 | | |
1492 | 1496 | | |
1493 | 1497 | | |
1494 | 1498 | | |
1495 | 1499 | | |
1496 | | - | |
| 1500 | + | |
1497 | 1501 | | |
1498 | 1502 | | |
1499 | 1503 | | |
1500 | 1504 | | |
| 1505 | + | |
| 1506 | + | |
| 1507 | + | |
| 1508 | + | |
1501 | 1509 | | |
1502 | 1510 | | |
1503 | 1511 | | |
| |||
Lines changed: 9 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1508 | 1508 | | |
1509 | 1509 | | |
1510 | 1510 | | |
| 1511 | + | |
| 1512 | + | |
| 1513 | + | |
1511 | 1514 | | |
1512 | 1515 | | |
1513 | 1516 | | |
| |||
1519 | 1522 | | |
1520 | 1523 | | |
1521 | 1524 | | |
| 1525 | + | |
1522 | 1526 | | |
1523 | 1527 | | |
1524 | 1528 | | |
1525 | 1529 | | |
1526 | 1530 | | |
1527 | | - | |
| 1531 | + | |
1528 | 1532 | | |
1529 | 1533 | | |
1530 | 1534 | | |
1531 | 1535 | | |
| 1536 | + | |
| 1537 | + | |
| 1538 | + | |
| 1539 | + | |
1532 | 1540 | | |
1533 | 1541 | | |
1534 | 1542 | | |
| |||
Lines changed: 9 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1540 | 1540 | | |
1541 | 1541 | | |
1542 | 1542 | | |
| 1543 | + | |
| 1544 | + | |
| 1545 | + | |
1543 | 1546 | | |
1544 | 1547 | | |
1545 | 1548 | | |
| |||
1551 | 1554 | | |
1552 | 1555 | | |
1553 | 1556 | | |
| 1557 | + | |
1554 | 1558 | | |
1555 | 1559 | | |
1556 | 1560 | | |
1557 | 1561 | | |
1558 | 1562 | | |
1559 | | - | |
| 1563 | + | |
1560 | 1564 | | |
1561 | 1565 | | |
1562 | 1566 | | |
1563 | 1567 | | |
| 1568 | + | |
| 1569 | + | |
| 1570 | + | |
| 1571 | + | |
1564 | 1572 | | |
1565 | 1573 | | |
1566 | 1574 | | |
| |||
Lines changed: 9 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1327 | 1327 | | |
1328 | 1328 | | |
1329 | 1329 | | |
1330 | | - | |
| 1330 | + | |
| 1331 | + | |
| 1332 | + | |
1331 | 1333 | | |
1332 | 1334 | | |
1333 | 1335 | | |
| |||
1339 | 1341 | | |
1340 | 1342 | | |
1341 | 1343 | | |
| 1344 | + | |
1342 | 1345 | | |
1343 | 1346 | | |
1344 | 1347 | | |
1345 | 1348 | | |
1346 | 1349 | | |
1347 | | - | |
| 1350 | + | |
1348 | 1351 | | |
1349 | 1352 | | |
1350 | 1353 | | |
1351 | 1354 | | |
| 1355 | + | |
| 1356 | + | |
| 1357 | + | |
| 1358 | + | |
1352 | 1359 | | |
1353 | 1360 | | |
1354 | 1361 | | |
| |||
Lines changed: 44 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
41 | 85 | | |
42 | 86 | | |
43 | 87 | | |
| |||
0 commit comments