| 1251 | /* ── emit ───────────────────────────────────────────────────────── */ |
| 1252 | |
| 1253 | static void emit_resolved_reason(PHPLSPContext *ctx, const char *callee_qn, const char *strategy, |
| 1254 | float confidence, const char *reason) { |
| 1255 | if (!ctx->resolved_calls || !callee_qn || !ctx->enclosing_func_qn) |
| 1256 | return; |
| 1257 | CBMResolvedCall rc; |
| 1258 | rc.caller_qn = ctx->enclosing_func_qn; |
| 1259 | rc.callee_qn = callee_qn; |
| 1260 | rc.strategy = strategy; |
| 1261 | rc.confidence = confidence; |
| 1262 | rc.reason = reason; |
| 1263 | cbm_resolvedcall_push(ctx->resolved_calls, ctx->arena, rc); |
| 1264 | } |
| 1265 | |
| 1266 | static void emit_resolved(PHPLSPContext *ctx, const char *callee_qn, const char *strategy, |
| 1267 | float confidence) { |
no test coverage detected