Commit 2cc3f02
committed
Fix type info for FQ class values in array append
When appending a fully qualified class (like com.example.MyClass.class)
to an existing class array annotation attribute:
1. Use JavaTemplate.builder() with dependsOn to provide a class stub
so the created expression has proper type information
2. Use the FQ class name in the template so it can resolve against
the stub
3. Add ShortenFullyQualifiedTypeReferences as doAfterVisit to shorten
the FQ name to the simple name (MyClass.class)
4. Fix attributeNameOrValIsAlreadyPresent to handle FQ class names
when checking for duplicates by comparing both the full string
and the simplified class name
5. Fix maybeAddImport to use onlyIfReferenced=false for FQ classes
(same as we did for enums)1 parent 89b5137 commit 2cc3f02
2 files changed
Lines changed: 71 additions & 3 deletions
File tree
- rewrite-java-test/src/test/java/org/openrewrite/java
- rewrite-java/src/main/java/org/openrewrite/java
Lines changed: 44 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| 26 | + | |
26 | 27 | | |
27 | 28 | | |
28 | 29 | | |
| |||
2770 | 2771 | | |
2771 | 2772 | | |
2772 | 2773 | | |
| 2774 | + | |
| 2775 | + | |
| 2776 | + | |
| 2777 | + | |
| 2778 | + | |
| 2779 | + | |
| 2780 | + | |
| 2781 | + | |
| 2782 | + | |
| 2783 | + | |
| 2784 | + | |
| 2785 | + | |
| 2786 | + | |
| 2787 | + | |
| 2788 | + | |
| 2789 | + | |
| 2790 | + | |
| 2791 | + | |
| 2792 | + | |
| 2793 | + | |
| 2794 | + | |
| 2795 | + | |
| 2796 | + | |
| 2797 | + | |
| 2798 | + | |
| 2799 | + | |
| 2800 | + | |
| 2801 | + | |
| 2802 | + | |
| 2803 | + | |
| 2804 | + | |
| 2805 | + | |
| 2806 | + | |
| 2807 | + | |
| 2808 | + | |
| 2809 | + | |
| 2810 | + | |
| 2811 | + | |
| 2812 | + | |
| 2813 | + | |
| 2814 | + | |
| 2815 | + | |
| 2816 | + | |
2773 | 2817 | | |
2774 | 2818 | | |
2775 | 2819 | | |
| |||
Lines changed: 27 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
99 | 99 | | |
100 | 100 | | |
101 | 101 | | |
102 | | - | |
| 102 | + | |
103 | 103 | | |
104 | 104 | | |
105 | 105 | | |
| |||
152 | 152 | | |
153 | 153 | | |
154 | 154 | | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
155 | 158 | | |
156 | 159 | | |
157 | 160 | | |
| |||
299 | 302 | | |
300 | 303 | | |
301 | 304 | | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
302 | 316 | | |
303 | | - | |
| 317 | + | |
304 | 318 | | |
305 | 319 | | |
306 | 320 | | |
| |||
510 | 524 | | |
511 | 525 | | |
512 | 526 | | |
513 | | - | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
514 | 538 | | |
515 | 539 | | |
516 | 540 | | |
| |||
0 commit comments