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

Function resolve_file_rw

src/pipeline/pass_parallel.c:2690–2715  ·  view source on GitHub ↗

Resolve reads/writes for one file. */

Source from the content-addressed store, hash-verified

2688
2689/* Resolve reads/writes for one file. */
2690static void resolve_file_rw(resolve_ctx_t *rc, resolve_worker_state_t *ws, CBMFileResult *result,
2691 const char *rel, const char *module_qn, const char **imp_keys,
2692 const char **imp_vals, int imp_count) {
2693 for (int r = 0; r < result->rw.count; r++) {
2694 CBMReadWrite *rw = &result->rw.items[r];
2695 if (!rw->var_name) {
2696 continue;
2697 }
2698 const cbm_gbuf_node_t *src =
2699 find_source_node(rc->main_gbuf, rc->project_name, rel, rw->enclosing_func_qn);
2700 if (!src) {
2701 continue;
2702 }
2703 cbm_resolution_t res = cbm_registry_resolve(rc->registry, rw->var_name, module_qn, imp_keys,
2704 imp_vals, imp_count);
2705 if (!res.qualified_name || res.qualified_name[0] == '\0') {
2706 continue;
2707 }
2708 const cbm_gbuf_node_t *tgt = cbm_gbuf_find_by_qn(rc->main_gbuf, res.qualified_name);
2709 if (!tgt || src->id == tgt->id) {
2710 continue;
2711 }
2712 const char *etype = rw->is_write ? "WRITES" : "READS";
2713 cbm_gbuf_insert_edge(ws->local_edge_buf, src->id, tgt->id, etype, "{}");
2714 }
2715}
2716
2717/* Resolve base_classes → INHERITS edges for one definition. */
2718static 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