Commit 7d9e788
[lldb-dap] Implement value locations for function pointers (#104589)
This commit adds `valueLocationReference` to function pointers and
function references. Thereby, users can navigate directly to the
pointed-to function from within the "variables" pane.
In general, it would be useful to also a add similar location references
also to member function pointers, `std::source_location`,
`std::function`, and many more. Doing so would require extending the
formatters to provide such a source code location.
There were two RFCs about this a while ago:
https://discourse.llvm.org/t/rfc-extending-formatters-with-a-source-code-reference/68375
https://discourse.llvm.org/t/rfc-sbvalue-metadata-provider/68377/26
However, both RFCs ended without a conclusion. As such, this commit now
implements the lowest-hanging fruit, i.e. function pointers. If people
find it useful, I will revive the RFC afterwards.
(cherry picked from commit 9f8ae78)1 parent 2e26e9a commit 7d9e788
File tree
7 files changed
+192
-40
lines changed- lldb
- test/API/tools/lldb-dap/locations
- tools/lldb-dap
7 files changed
+192
-40
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
Lines changed: 45 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
22 | | - | |
| 22 | + | |
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
26 | | - | |
| 26 | + | |
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
| |||
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
39 | | - | |
40 | | - | |
| 39 | + | |
| 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 | + | |
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1195 | 1195 | | |
1196 | 1196 | | |
1197 | 1197 | | |
| 1198 | + | |
| 1199 | + | |
| 1200 | + | |
| 1201 | + | |
| 1202 | + | |
| 1203 | + | |
| 1204 | + | |
| 1205 | + | |
| 1206 | + | |
| 1207 | + | |
| 1208 | + | |
| 1209 | + | |
| 1210 | + | |
| 1211 | + | |
| 1212 | + | |
| 1213 | + | |
| 1214 | + | |
| 1215 | + | |
| 1216 | + | |
1198 | 1217 | | |
1199 | 1218 | | |
1200 | 1219 | | |
| |||
1274 | 1293 | | |
1275 | 1294 | | |
1276 | 1295 | | |
| 1296 | + | |
| 1297 | + | |
| 1298 | + | |
| 1299 | + | |
| 1300 | + | |
| 1301 | + | |
| 1302 | + | |
| 1303 | + | |
| 1304 | + | |
| 1305 | + | |
| 1306 | + | |
| 1307 | + | |
1277 | 1308 | | |
1278 | 1309 | | |
1279 | 1310 | | |
| |||
1387 | 1418 | | |
1388 | 1419 | | |
1389 | 1420 | | |
1390 | | - | |
| 1421 | + | |
| 1422 | + | |
| 1423 | + | |
| 1424 | + | |
| 1425 | + | |
1391 | 1426 | | |
1392 | 1427 | | |
1393 | 1428 | | |
| |||
1413 | 1448 | | |
1414 | 1449 | | |
1415 | 1450 | | |
1416 | | - | |
1417 | | - | |
| 1451 | + | |
| 1452 | + | |
1418 | 1453 | | |
1419 | 1454 | | |
1420 | 1455 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
458 | 458 | | |
459 | 459 | | |
460 | 460 | | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
461 | 471 | | |
462 | 472 | | |
463 | 473 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1554 | 1554 | | |
1555 | 1555 | | |
1556 | 1556 | | |
| 1557 | + | |
| 1558 | + | |
| 1559 | + | |
| 1560 | + | |
| 1561 | + | |
| 1562 | + | |
| 1563 | + | |
| 1564 | + | |
| 1565 | + | |
| 1566 | + | |
| 1567 | + | |
| 1568 | + | |
| 1569 | + | |
1557 | 1570 | | |
1558 | 1571 | | |
1559 | 1572 | | |
| |||
1640 | 1653 | | |
1641 | 1654 | | |
1642 | 1655 | | |
1643 | | - | |
1644 | | - | |
| 1656 | + | |
| 1657 | + | |
| 1658 | + | |
1645 | 1659 | | |
1646 | | - | |
1647 | | - | |
| 1660 | + | |
| 1661 | + | |
| 1662 | + | |
1648 | 1663 | | |
1649 | | - | |
1650 | 1664 | | |
1651 | 1665 | | |
1652 | 1666 | | |
| 1667 | + | |
| 1668 | + | |
1653 | 1669 | | |
1654 | 1670 | | |
1655 | 1671 | | |
| |||
3764 | 3780 | | |
3765 | 3781 | | |
3766 | 3782 | | |
| 3783 | + | |
| 3784 | + | |
| 3785 | + | |
| 3786 | + | |
| 3787 | + | |
| 3788 | + | |
| 3789 | + | |
| 3790 | + | |
| 3791 | + | |
| 3792 | + | |
| 3793 | + | |
3767 | 3794 | | |
3768 | 3795 | | |
3769 | 3796 | | |
| |||
3788 | 3815 | | |
3789 | 3816 | | |
3790 | 3817 | | |
3791 | | - | |
3792 | 3818 | | |
3793 | 3819 | | |
3794 | 3820 | | |
| |||
3818 | 3844 | | |
3819 | 3845 | | |
3820 | 3846 | | |
| 3847 | + | |
| 3848 | + | |
3821 | 3849 | | |
3822 | | - | |
3823 | | - | |
3824 | | - | |
3825 | | - | |
| 3850 | + | |
| 3851 | + | |
| 3852 | + | |
3826 | 3853 | | |
3827 | 3854 | | |
3828 | 3855 | | |
| 3856 | + | |
| 3857 | + | |
3829 | 3858 | | |
3830 | 3859 | | |
3831 | 3860 | | |
| |||
4116 | 4145 | | |
4117 | 4146 | | |
4118 | 4147 | | |
4119 | | - | |
| 4148 | + | |
4120 | 4149 | | |
4121 | | - | |
4122 | | - | |
| 4150 | + | |
| 4151 | + | |
| 4152 | + | |
| 4153 | + | |
| 4154 | + | |
4123 | 4155 | | |
4124 | 4156 | | |
4125 | 4157 | | |
4126 | 4158 | | |
4127 | 4159 | | |
4128 | 4160 | | |
4129 | 4161 | | |
4130 | | - | |
4131 | | - | |
4132 | | - | |
4133 | | - | |
4134 | | - | |
4135 | | - | |
4136 | | - | |
4137 | | - | |
4138 | | - | |
4139 | 4162 | | |
4140 | | - | |
4141 | | - | |
4142 | | - | |
4143 | | - | |
4144 | | - | |
| 4163 | + | |
| 4164 | + | |
| 4165 | + | |
| 4166 | + | |
| 4167 | + | |
| 4168 | + | |
| 4169 | + | |
| 4170 | + | |
| 4171 | + | |
| 4172 | + | |
| 4173 | + | |
| 4174 | + | |
| 4175 | + | |
| 4176 | + | |
| 4177 | + | |
| 4178 | + | |
| 4179 | + | |
| 4180 | + | |
| 4181 | + | |
| 4182 | + | |
| 4183 | + | |
| 4184 | + | |
| 4185 | + | |
| 4186 | + | |
| 4187 | + | |
| 4188 | + | |
| 4189 | + | |
| 4190 | + | |
| 4191 | + | |
| 4192 | + | |
| 4193 | + | |
| 4194 | + | |
| 4195 | + | |
| 4196 | + | |
| 4197 | + | |
| 4198 | + | |
| 4199 | + | |
| 4200 | + | |
| 4201 | + | |
| 4202 | + | |
| 4203 | + | |
| 4204 | + | |
| 4205 | + | |
4145 | 4206 | | |
4146 | 4207 | | |
4147 | 4208 | | |
| |||
0 commit comments