diff options
| author | blasty <blasty@local> | 2026-07-24 00:18:18 +0200 |
|---|---|---|
| committer | blasty <blasty@local> | 2026-07-24 00:18:18 +0200 |
| commit | 59726b4c151ae59170cf2975774d89e20d162e0d (patch) | |
| tree | ee495da79d4b2c10b0452425106b51b9c900f5a3 /server | |
| parent | nav: xref jump into pseudocode lands on the referenced symbol, not column 0 (diff) | |
| download | ida-tui-59726b4c151ae59170cf2975774d89e20d162e0d.tar.gz ida-tui-59726b4c151ae59170cf2975774d89e20d162e0d.tar.xz ida-tui-59726b4c151ae59170cf2975774d89e20d162e0d.zip | |
nav: snap an xref-into-pseudocode jump to the line that holds the symbol
Hex-Rays can attribute an address to a pseudocode line a step off from where the
referenced symbol actually appears, so an xref jump could land on a line that
doesn't contain the token (cursor at column 0, wrong line).
Add _decomp_locate: anchor on the /*0xEA*/ marker line for the address, but when
a token is known, snap to the whole-word occurrence NEAREST the anchor
(preferring the anchor line, then the line just below). This fixes the marker/
symbol line discrepancy and disambiguates a symbol that appears multiple times by
picking the occurrence closest to the address. The mid-function decomp-jump
branch now uses it.
Verified: real xref (sub_2060 from sub_20DD) still lands on 'sub_2060(a2);'
cursor_x=4; synthetic discrepancy (marker on a line without the symbol) snaps to
the nearest call-site line, not the far unrelated occurrence. Full suite green.
Diffstat (limited to 'server')
0 files changed, 0 insertions, 0 deletions
