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

Function find_source_node

src/pipeline/pass_parallel.c:2033–2051  ·  view source on GitHub ↗

Find the source node for an edge: enclosing function or file node. */

Source from the content-addressed store, hash-verified

2031
2032/* Find the source node for an edge: enclosing function or file node. */
2033static const cbm_gbuf_node_t *find_source_node(const cbm_gbuf_t *gbuf, const char *project,
2034 const char *rel, const char *enclosing_qn) {
2035 const cbm_gbuf_node_t *src = NULL;
2036 if (enclosing_qn) {
2037 src = cbm_gbuf_find_by_qn(gbuf, enclosing_qn);
2038 /* A class-level reference in a directory-module language carries the
2039 * DIRECTORY module QN, which hits the shared Folder/Project node —
2040 * attribute to this file's File node instead (#787). */
2041 if (cbm_pipeline_node_is_dir_container(src)) {
2042 src = NULL;
2043 }
2044 }
2045 if (!src) {
2046 char *file_qn = cbm_pipeline_fqn_compute(project, rel, "__file__");
2047 src = cbm_gbuf_find_by_qn(gbuf, file_qn);
2048 free(file_qn);
2049 }
2050 return src;
2051}
2052
2053/* Field type hint resolution for obj.Method() with multiple candidates.
2054 * Strips C# field prefixes (_ / m_), capitalizes to get type name, and

Callers 4

resolve_file_callsFunction · 0.85
resolve_file_usagesFunction · 0.85
resolve_file_throwsFunction · 0.85
resolve_file_rwFunction · 0.85

Calls 3

cbm_gbuf_find_by_qnFunction · 0.85
cbm_pipeline_fqn_computeFunction · 0.85

Tested by

no test coverage detected