summaryrefslogtreecommitdiffstats
path: root/experiments
diff options
context:
space:
mode:
authorblasty <peter@haxx.in>2026-07-24 00:18:18 +0200
committerblasty <peter@haxx.in>2026-07-24 00:18:18 +0200
commit76101c39d1e24a588ff6bf36951d4cce9c374344 (patch)
tree7c675ae57c8c15bcfab9c37a50bc568c320fe0cd /experiments
parentnav: xref jump into pseudocode lands on the referenced symbol, not column 0 (diff)
downloadida-tui-76101c39d1e24a588ff6bf36951d4cce9c374344.tar.gz
ida-tui-76101c39d1e24a588ff6bf36951d4cce9c374344.tar.xz
ida-tui-76101c39d1e24a588ff6bf36951d4cce9c374344.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 'experiments')
0 files changed, 0 insertions, 0 deletions