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

Function resolve_file_rw

src/pipeline/pass_parallel.c:2413–2438  ·  view source on GitHub ↗

Resolve reads/writes for one file. */

Source from the content-addressed store, hash-verified

2411
2412/* Resolve reads/writes for one file. */
2413static void resolve_file_rw(resolve_ctx_t *rc, resolve_worker_state_t *ws, CBMFileResult *result,
2414 const char *rel, const char *module_qn, const char **imp_keys,
2415 const char **imp_vals, int imp_count) {
2416 for (int r = 0; r < result->rw.count; r++) {
2417 CBMReadWrite *rw = &result->rw.items[r];
2418 if (!rw->var_name) {
2419 continue;
2420 }
2421 const cbm_gbuf_node_t *src =
2422 find_source_node(rc->main_gbuf, rc->project_name, rel, rw->enclosing_func_qn);
2423 if (!src) {
2424 continue;
2425 }
2426 cbm_resolution_t res = cbm_registry_resolve(rc->registry, rw->var_name, module_qn, imp_keys,
2427 imp_vals, imp_count);
2428 if (!res.qualified_name || res.qualified_name[0] == '\0') {
2429 continue;
2430 }
2431 const cbm_gbuf_node_t *tgt = cbm_gbuf_find_by_qn(rc->main_gbuf, res.qualified_name);
2432 if (!tgt || src->id == tgt->id) {
2433 continue;
2434 }
2435 const char *etype = rw->is_write ? "WRITES" : "READS";
2436 cbm_gbuf_insert_edge(ws->local_edge_buf, src->id, tgt->id, etype, "{}");
2437 }
2438}
2439
2440/* Resolve base_classes → INHERITS edges for one definition. */
2441static void resolve_def_inherits(resolve_ctx_t *rc, resolve_worker_state_t *ws,

Callers 1

resolve_workerFunction · 0.85

Calls 4

find_source_nodeFunction · 0.85
cbm_registry_resolveFunction · 0.85
cbm_gbuf_find_by_qnFunction · 0.85
cbm_gbuf_insert_edgeFunction · 0.85

Tested by

no test coverage detected