| 1284 | /* ── emit ───────────────────────────────────────────────────────── */ |
| 1285 | |
| 1286 | static void emit_resolved_reason_kind(PHPLSPContext *ctx, const char *callee_qn, |
| 1287 | const char *strategy, float confidence, const char *reason, |
| 1288 | CBMResolvedKind kind) { |
| 1289 | if (!ctx->resolved_calls || !callee_qn || !ctx->enclosing_func_qn) |
| 1290 | return; |
| 1291 | CBMResolvedCall rc = {0}; |
| 1292 | rc.caller_qn = ctx->enclosing_func_qn; |
| 1293 | rc.callee_qn = callee_qn; |
| 1294 | rc.strategy = strategy; |
| 1295 | rc.confidence = confidence; |
| 1296 | rc.reason = reason; |
| 1297 | rc.kind = kind; |
| 1298 | cbm_resolvedcall_push(ctx->resolved_calls, ctx->arena, rc); |
| 1299 | } |
| 1300 | |
| 1301 | static void emit_resolved_kind(PHPLSPContext *ctx, const char *callee_qn, const char *strategy, |
| 1302 | float confidence, CBMResolvedKind kind) { |
no test coverage detected