Commit 984b3be
committed
fix(lsp): JRL chained-builder setter hover walks past intermediate .method(args) calls
Before: resolveReceiverBefore_ peeled ONE trailing (…) then stopped. For a chain
like foo.X.Builder(x).setPm(true).setOf(…) a hover on setOf yielded receiver
`.setPm`, which didn't resolve, so the hover returned NULL.
Now: walk backward alternating between word/dot runs and balanced (…) groups,
so the full chain `foo.X.Builder(x).setPm(true)` is captured. resolveReceiverType_
then iteratively strips trailing .method(args) (FOAM builders return `this`) —
peels `.setPm(true)`, tries `foo.X.Builder`, then `foo.X`, resolves to foam.dao.EasyDAO.
Added regression test: hovers on both setPm and setOf in a chained builder line.
497 tests total.1 parent 7b3c0be commit 984b3be
2 files changed
Lines changed: 63 additions & 30 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
827 | 827 | | |
828 | 828 | | |
829 | 829 | | |
830 | | - | |
831 | | - | |
832 | | - | |
| 830 | + | |
| 831 | + | |
| 832 | + | |
| 833 | + | |
| 834 | + | |
| 835 | + | |
| 836 | + | |
833 | 837 | | |
834 | | - | |
835 | | - | |
836 | | - | |
837 | | - | |
838 | | - | |
839 | | - | |
840 | | - | |
841 | | - | |
842 | | - | |
843 | | - | |
844 | | - | |
845 | | - | |
846 | | - | |
847 | | - | |
848 | | - | |
| 838 | + | |
| 839 | + | |
| 840 | + | |
| 841 | + | |
| 842 | + | |
| 843 | + | |
| 844 | + | |
| 845 | + | |
| 846 | + | |
| 847 | + | |
| 848 | + | |
| 849 | + | |
| 850 | + | |
| 851 | + | |
| 852 | + | |
| 853 | + | |
| 854 | + | |
| 855 | + | |
849 | 856 | | |
850 | | - | |
851 | | - | |
| 857 | + | |
852 | 858 | | |
853 | | - | |
854 | | - | |
855 | | - | |
856 | | - | |
| 859 | + | |
| 860 | + | |
| 861 | + | |
857 | 862 | | |
858 | 863 | | |
859 | 864 | | |
| |||
1032 | 1037 | | |
1033 | 1038 | | |
1034 | 1039 | | |
| 1040 | + | |
| 1041 | + | |
| 1042 | + | |
1035 | 1043 | | |
1036 | 1044 | | |
1037 | | - | |
1038 | | - | |
1039 | | - | |
1040 | | - | |
1041 | | - | |
1042 | | - | |
| 1045 | + | |
| 1046 | + | |
| 1047 | + | |
| 1048 | + | |
| 1049 | + | |
| 1050 | + | |
| 1051 | + | |
| 1052 | + | |
| 1053 | + | |
1043 | 1054 | | |
1044 | 1055 | | |
1045 | 1056 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2799 | 2799 | | |
2800 | 2800 | | |
2801 | 2801 | | |
| 2802 | + | |
| 2803 | + | |
| 2804 | + | |
| 2805 | + | |
| 2806 | + | |
| 2807 | + | |
| 2808 | + | |
| 2809 | + | |
| 2810 | + | |
| 2811 | + | |
| 2812 | + | |
| 2813 | + | |
| 2814 | + | |
| 2815 | + | |
| 2816 | + | |
| 2817 | + | |
| 2818 | + | |
| 2819 | + | |
| 2820 | + | |
| 2821 | + | |
| 2822 | + | |
| 2823 | + | |
2802 | 2824 | | |
2803 | 2825 | | |
2804 | 2826 | | |
| |||
0 commit comments