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

Function cr_walk

internal/cbm/result_compact.c:283–370  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

281}
282
283static void cr_walk(cr_ctx_t *c, CBMFileResult *r) {
284 cr_array(c, (void **)&r->defs.items, r->defs.count, sizeof(CBMDefinition));
285 for (int i = 0; i < r->defs.count && r->defs.items; i++) {
286 cr_walk_def(c, &r->defs.items[i]);
287 }
288 cr_array(c, (void **)&r->calls.items, r->calls.count, sizeof(CBMCall));
289 for (int i = 0; i < r->calls.count && r->calls.items; i++) {
290 cr_walk_call(c, &r->calls.items[i]);
291 }
292 cr_array(c, (void **)&r->imports.items, r->imports.count, sizeof(CBMImport));
293 for (int i = 0; i < r->imports.count && r->imports.items; i++) {
294 cr_str(c, &r->imports.items[i].local_name);
295 cr_str(c, &r->imports.items[i].module_path);
296 }
297 cr_array(c, (void **)&r->usages.items, r->usages.count, sizeof(CBMUsage));
298 for (int i = 0; i < r->usages.count && r->usages.items; i++) {
299 cr_str(c, &r->usages.items[i].ref_name);
300 cr_str(c, &r->usages.items[i].enclosing_func_qn);
301 }
302 cr_array(c, (void **)&r->throws.items, r->throws.count, sizeof(CBMThrow));
303 for (int i = 0; i < r->throws.count && r->throws.items; i++) {
304 cr_str(c, &r->throws.items[i].exception_name);
305 cr_str(c, &r->throws.items[i].enclosing_func_qn);
306 }
307 cr_array(c, (void **)&r->rw.items, r->rw.count, sizeof(CBMReadWrite));
308 for (int i = 0; i < r->rw.count && r->rw.items; i++) {
309 cr_str(c, &r->rw.items[i].var_name);
310 cr_str(c, &r->rw.items[i].enclosing_func_qn);
311 }
312 cr_array(c, (void **)&r->type_refs.items, r->type_refs.count, sizeof(CBMTypeRef));
313 for (int i = 0; i < r->type_refs.count && r->type_refs.items; i++) {
314 cr_str(c, &r->type_refs.items[i].type_name);
315 cr_str(c, &r->type_refs.items[i].enclosing_func_qn);
316 }
317 cr_array(c, (void **)&r->env_accesses.items, r->env_accesses.count, sizeof(CBMEnvAccess));
318 for (int i = 0; i < r->env_accesses.count && r->env_accesses.items; i++) {
319 cr_str(c, &r->env_accesses.items[i].env_key);
320 cr_str(c, &r->env_accesses.items[i].enclosing_func_qn);
321 }
322 cr_array(c, (void **)&r->type_assigns.items, r->type_assigns.count, sizeof(CBMTypeAssign));
323 for (int i = 0; i < r->type_assigns.count && r->type_assigns.items; i++) {
324 cr_str(c, &r->type_assigns.items[i].var_name);
325 cr_str(c, &r->type_assigns.items[i].type_name);
326 cr_str(c, &r->type_assigns.items[i].enclosing_func_qn);
327 }
328 cr_array(c, (void **)&r->impl_traits.items, r->impl_traits.count, sizeof(CBMImplTrait));
329 for (int i = 0; i < r->impl_traits.count && r->impl_traits.items; i++) {
330 cr_str(c, &r->impl_traits.items[i].trait_name);
331 cr_str(c, &r->impl_traits.items[i].struct_name);
332 cr_str(c, &r->impl_traits.items[i].struct_qn);
333 }
334 cr_array(c, (void **)&r->resolved_calls.items, r->resolved_calls.count,
335 sizeof(CBMResolvedCall));
336 for (int i = 0; i < r->resolved_calls.count && r->resolved_calls.items; i++) {
337 cr_str(c, &r->resolved_calls.items[i].caller_qn);
338 cr_str(c, &r->resolved_calls.items[i].callee_qn);
339 cr_str(c, &r->resolved_calls.items[i].strategy);
340 cr_str(c, &r->resolved_calls.items[i].reason);

Callers 2

cbm_result_relocateFunction · 0.85
cbm_result_compactFunction · 0.85

Calls 6

cr_arrayFunction · 0.85
cr_walk_defFunction · 0.85
cr_walk_callFunction · 0.85
cr_strFunction · 0.85
cr_listFunction · 0.85
cr_blobFunction · 0.85

Tested by

no test coverage detected