Files
codebase-memory-mcp/internal
Martin Vogel 6c2f45da91 fix(lsp): emit precise Kotlin constructor + extension call strategies
Two Kotlin LSP resolutions emitted a callee/strategy the pipeline join
could not use:

- Constructor `Foo()` emitted callee_qn `Foo.<init>`, but the textual
  call site's callee is the bare class name `Foo` and there is no
  `Foo.<init>` graph node, only the `Foo` class node. Resolve the call to
  the class node (matches the join's callee bare-segment and the target),
  mirroring the C#/Java `new Foo()` handling.

- Extension calls `recv.ext()` were emitted as lsp_kt_method because
  kotlin_lookup_method matches both members and extension functions.
  Distinguish by QN shape: a member nests under the receiver
  (`<recv>.<member>`) while an extension is a top-level fun that does not;
  emit lsp_kt_extension for the latter.

kt LSP strategy reproductions 15->17.

Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2026-06-27 23:56:19 +02:00
..