Callables (Function OR Method) that have >=1 outbound edge — the cross-language * "calls are attributed to the calling routine, not lumped on the file/Module * node" invariant (a mis-attributed call would leave the callable at degree 0). */
| 176 | * "calls are attributed to the calling routine, not lumped on the file/Module |
| 177 | * node" invariant (a mis-attributed call would leave the callable at degree 0). */ |
| 178 | static int callables_with_outbound(cbm_store_t *store, const char *project) { |
| 179 | int fn = label_with_outbound(store, project, "Function"); |
| 180 | int mt = label_with_outbound(store, project, "Method"); |
| 181 | return (fn < 0 ? 0 : fn) + (mt < 0 ? 0 : mt); |
| 182 | } |
| 183 | |
| 184 | /* Count nodes carrying `label`. Returns -1 on query error. */ |
| 185 | static int count_label(cbm_store_t *store, const char *project, const char *label) { |
no test coverage detected