| 86 | /* ── Run sequential pipeline on files, returning gbuf ─────────────── */ |
| 87 | |
| 88 | static cbm_gbuf_t *run_sequential(const char *project, const char *repo_path, |
| 89 | cbm_file_info_t *files, int file_count) { |
| 90 | cbm_gbuf_t *gbuf = cbm_gbuf_new(project, repo_path); |
| 91 | cbm_registry_t *reg = cbm_registry_new(); |
| 92 | atomic_int cancelled; |
| 93 | atomic_init(&cancelled, 0); |
| 94 | |
| 95 | cbm_pipeline_ctx_t ctx = { |
| 96 | .project_name = project, |
| 97 | .repo_path = repo_path, |
| 98 | .gbuf = gbuf, |
| 99 | .registry = reg, |
| 100 | .cancelled = &cancelled, |
| 101 | }; |
| 102 | |
| 103 | cbm_init(); |
| 104 | cbm_pipeline_pass_definitions(&ctx, files, file_count); |
| 105 | cbm_pipeline_pass_calls(&ctx, files, file_count); |
| 106 | cbm_pipeline_pass_usages(&ctx, files, file_count); |
| 107 | cbm_pipeline_pass_semantic(&ctx, files, file_count); |
| 108 | |
| 109 | cbm_registry_free(reg); |
| 110 | return gbuf; |
| 111 | } |
| 112 | |
| 113 | /* ── Run parallel pipeline on files, returning gbuf ───────────────── */ |
| 114 |
no test coverage detected