MCPcopy Create free account
hub / github.com/DeusData/codebase-memory-mcp / kt_push_implicit_call

Function kt_push_implicit_call

internal/cbm/extract_calls.c:2337–2347  ·  view source on GitHub ↗

Kotlin convention-desugared calls that the call walk never sees as call_expressions: `val (a,b) = e` -> e.component1()/e.component2(); and `for (x in e)` -> e.iterator()/hasNext()/next(). Record textual calls to those operator-convention method names so the LSP's lsp_kt_destructure / lsp_kt_iterator resolutions have a call site to join (names match the LSP's).

Source from the content-addressed store, hash-verified

2335// operator-convention method names so the LSP's lsp_kt_destructure /
2336// lsp_kt_iterator resolutions have a call site to join (names match the LSP's).
2337static void kt_push_implicit_call(CBMExtractCtx *ctx, TSNode node, const char *callee,
2338 const char *enclosing_func_qn) {
2339 CBMCall call = {0};
2340 call.callee_name = callee;
2341 call.enclosing_func_qn = enclosing_func_qn;
2342 call.start_line = (int)ts_node_start_point(node).row + TS_LINE_OFFSET;
2343 call.site_start_byte = ts_node_start_byte(node);
2344 call.site_end_byte = ts_node_end_byte(node);
2345 call.requires_lsp_resolution = true;
2346 cbm_calls_push(&ctx->result->calls, ctx->arena, call);
2347}
2348
2349static void push_cpp_semantic_call_candidate(CBMExtractCtx *ctx, TSNode node,
2350 const char *callee_name,

Callers 1

Calls 1

cbm_calls_pushFunction · 0.85

Tested by

no test coverage detected