mirror of
https://github.com/DeusData/codebase-memory-mcp.git
synced 2026-11-09 09:11:00 +08:00
A function-pointer call `fp(args)` has textual callee `fp` (the pointer variable), but c_lsp resolves it by data-flow to the pointed-to function `target`. The pipeline join keys on the callee short-name, so `fp` != `target` dropped the lsp_func_ptr/lsp_dll_resolve resolution and no edge formed. Stash the original textual callee (`fp`) in the resolved call's `reason` field (unused and NULL for resolved calls; already copied across all cross-file paths) and have the join match the call site on it, gated to the func_ptr/dll strategies so `reason` is never misread as an unresolved-call diagnostic. No struct/ABI change. c_cpp LSP reproductions 11->12. Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>