aboutsummaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorblasty <blasty@local>2026-07-24 00:18:18 +0200
committerblasty <blasty@local>2026-07-24 00:18:18 +0200
commit59726b4c151ae59170cf2975774d89e20d162e0d (patch)
treeee495da79d4b2c10b0452425106b51b9c900f5a3 /server
parentnav: xref jump into pseudocode lands on the referenced symbol, not column 0 (diff)
downloadida-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