Branch Coverage

Backtrace_xsgen.cc
Criterion Covered Total %
branch 115 356 32.3


line true false branch
167 0 12 if (items != 1)
171 12 0 dXSTARG;
0 0 dXSTARG;
172 12 0 Ref except = ST(0);
173 0 12 if (!except && SvOK(ST(0))) throw "arg is not a 'Ref' value"
0 0 if (!except && SvOK(ST(0))) throw "arg is not a 'Ref' value"
0 0 if (!except && SvOK(ST(0))) throw "arg is not a 'Ref' value"
0 0 if (!except && SvOK(ST(0))) throw "arg is not a 'Ref' value"
0 12 if (!except && SvOK(ST(0))) throw "arg is not a 'Ref' value"
178 12 0 XSprePUSH; PUSHp(RETVAL.data(), RETVAL.length());
0 12 XSprePUSH; PUSHp(RETVAL.data(), RETVAL.length());
0 0 XSprePUSH; PUSHp(RETVAL.data(), RETVAL.length());
181 12 0 }); }
188 0 1 if (items != 1)
192 1 0 dXSTARG;
0 0 dXSTARG;
193 1 0 Ref except = ST(0);
194 0 1 if (!except && SvOK(ST(0))) throw "arg is not a 'Ref' value"
0 0 if (!except && SvOK(ST(0))) throw "arg is not a 'Ref' value"
0 0 if (!except && SvOK(ST(0))) throw "arg is not a 'Ref' value"
0 0 if (!except && SvOK(ST(0))) throw "arg is not a 'Ref' value"
0 1 if (!except && SvOK(ST(0))) throw "arg is not a 'Ref' value"
199 1 0 XSprePUSH; PUSHp(RETVAL.data(), RETVAL.length());
0 1 XSprePUSH; PUSHp(RETVAL.data(), RETVAL.length());
0 0 XSprePUSH; PUSHp(RETVAL.data(), RETVAL.length());
202 1 0 }); }
209 0 2 if (items != 1)
213 2 0 Ref except = ST(0);
214 0 2 if (!except && SvOK(ST(0))) throw "arg is not a 'Ref' value"
0 0 if (!except && SvOK(ST(0))) throw "arg is not a 'Ref' value"
0 0 if (!except && SvOK(ST(0))) throw "arg is not a 'Ref' value"
0 0 if (!except && SvOK(ST(0))) throw "arg is not a 'Ref' value"
0 2 if (!except && SvOK(ST(0))) throw "arg is not a 'Ref' value"
222 2 0 RETVALSV = xs::out(RETVAL, PROTO).detach();
223 2 0 RETVALSV = sv_2mortal(RETVALSV);
228 2 0 }); }
235 0 1 if (items != 0)
245 1 0 RETVALSV = xs::out(RETVAL, PROTO).detach();
246 1 0 RETVALSV = sv_2mortal(RETVALSV);
251 1 0 }); }
258 0 21 if (items != 1)
262 21 0 Sv ex = ST(0)
270 0 21 if (!RETVAL) XSRETURN_UNDEF;
271 21 0 if (RETVAL.is_scalar()) RETVALSV = RETVAL.detach();
21 0 if (RETVAL.is_scalar()) RETVALSV = RETVAL.detach();
273 0 0 case SVt_PVAV: XSRETURN(xs::Array(RETVAL.get()).push_on_stack(MARK));
0 0 case SVt_PVAV: XSRETURN(xs::Array(RETVAL.get()).push_on_stack(MARK));
274 0 0 case SVt_PVHV: XSRETURN(xs::Hash(RETVAL.get()).push_on_stack(MARK));
0 0 case SVt_PVHV: XSRETURN(xs::Hash(RETVAL.get()).push_on_stack(MARK));
277 0 0 RETVALSV = newRV_noinc(RETVAL.detach());
281 21 0 RETVALSV = sv_2mortal(RETVALSV);
282 21 0 ST(0) = RETVALSV;
286 21 0 }); }
296 0 3 if (items != 1)
300 3 0 DualTrace* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
0 3 DualTrace* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
0 0 DualTrace* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
0 0 DualTrace* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
308 3 0 RETVALSV = xs::out(RETVAL, PROTO).detach();
309 3 0 RETVALSV = sv_2mortal(RETVALSV);
314 3 0 }); }
321 0 3 if (items != 1)
325 3 0 DualTrace* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
0 3 DualTrace* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
0 0 DualTrace* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
0 0 DualTrace* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
333 3 0 RETVALSV = xs::out(RETVAL, PROTO).detach();
334 3 0 RETVALSV = sv_2mortal(RETVALSV);
339 3 0 }); }
346 0 6 if (items != 1)
350 6 0 dXSTARG;
0 0 dXSTARG;
351 6 0 DualTrace* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
0 6 DualTrace* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
0 0 DualTrace* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
0 0 DualTrace* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
356 6 0 XSprePUSH; PUSHp(RETVAL.data(), RETVAL.length());
0 6 XSprePUSH; PUSHp(RETVAL.data(), RETVAL.length());
0 0 XSprePUSH; PUSHp(RETVAL.data(), RETVAL.length());
359 6 0 }); }
372 0 6 if (items != 1)
376 6 0 BacktraceInfo* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
0 6 BacktraceInfo* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
0 0 BacktraceInfo* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
0 0 BacktraceInfo* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
384 6 0 RETVALSV = xs::out(RETVAL, PROTO).detach();
385 6 0 RETVALSV = sv_2mortal(RETVALSV);
390 6 0 }); }
397 0 12 if (items != 1)
401 12 0 dXSTARG;
0 0 dXSTARG;
402 12 0 BacktraceInfo* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
0 12 BacktraceInfo* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
0 0 BacktraceInfo* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
0 0 BacktraceInfo* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
407 12 0 XSprePUSH; PUSHp(RETVAL.data(), RETVAL.length());
0 12 XSprePUSH; PUSHp(RETVAL.data(), RETVAL.length());
0 0 XSprePUSH; PUSHp(RETVAL.data(), RETVAL.length());
410 12 0 }); }
423 0 6 if (items != 1)
427 6 0 dXSTARG;
0 0 dXSTARG;
428 6 0 Stackframe* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
0 6 Stackframe* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
0 0 Stackframe* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
0 0 Stackframe* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
433 6 0 XSprePUSH; PUSHp(RETVAL.data(), RETVAL.length());
0 6 XSprePUSH; PUSHp(RETVAL.data(), RETVAL.length());
0 0 XSprePUSH; PUSHp(RETVAL.data(), RETVAL.length());
436 6 0 }); }
443 0 109 if (items != 1)
447 109 0 dXSTARG;
0 0 dXSTARG;
448 109 0 Stackframe* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
0 109 Stackframe* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
0 0 Stackframe* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
0 0 Stackframe* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
453 109 0 XSprePUSH; PUSHp(RETVAL.data(), RETVAL.length());
0 109 XSprePUSH; PUSHp(RETVAL.data(), RETVAL.length());
0 0 XSprePUSH; PUSHp(RETVAL.data(), RETVAL.length());
456 109 0 }); }
463 0 40 if (items != 1)
467 40 0 dXSTARG;
0 0 dXSTARG;
468 40 0 Stackframe* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
0 40 Stackframe* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
0 0 Stackframe* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
0 0 Stackframe* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
473 40 0 XSprePUSH; PUSHp(RETVAL.data(), RETVAL.length());
0 40 XSprePUSH; PUSHp(RETVAL.data(), RETVAL.length());
0 0 XSprePUSH; PUSHp(RETVAL.data(), RETVAL.length());
476 40 0 }); }
483 0 0 if (items != 1)
487 0 0 dXSTARG;
0 0 dXSTARG;
488 0 0 Stackframe* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
0 0 Stackframe* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
0 0 Stackframe* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
0 0 Stackframe* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
493 0 0 XSprePUSH; PUSHp(RETVAL.data(), RETVAL.length());
0 0 XSprePUSH; PUSHp(RETVAL.data(), RETVAL.length());
0 0 XSprePUSH; PUSHp(RETVAL.data(), RETVAL.length());
496 0 0 }); }
503 0 5 if (items != 1)
507 5 0 Stackframe* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
0 5 Stackframe* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
0 0 Stackframe* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
0 0 Stackframe* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
515 5 0 RETVALSV = xs::out(RETVAL, PROTO).detach();
516 5 0 RETVALSV = sv_2mortal(RETVALSV);
521 5 0 }); }
528 0 5 if (items != 1)
532 5 0 Stackframe* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
0 5 Stackframe* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
0 0 Stackframe* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
0 0 Stackframe* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
540 5 0 RETVALSV = xs::out(RETVAL, PROTO).detach();
541 5 0 RETVALSV = sv_2mortal(RETVALSV);
546 5 0 }); }
553 0 6 if (items != 1)
557 6 0 Stackframe* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
0 6 Stackframe* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
0 0 Stackframe* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
0 0 Stackframe* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
565 6 0 RETVALSV = xs::out(RETVAL, PROTO).detach();
566 6 0 RETVALSV = sv_2mortal(RETVALSV);
571 6 0 }); }
578 0 1 if (items != 1)
582 1 0 Stackframe* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
0 1 Stackframe* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
0 0 Stackframe* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
0 0 Stackframe* THIS = xs::in(ST(0)); if (!SvOK(ST(0))) throw "undef not allowed as THIS";
590 1 0 RETVALSV = xs::out(RETVAL, PROTO).detach();
591 1 0 RETVALSV = sv_2mortal(RETVALSV);
596 1 0 }); }
610 0 6 dVAR; dXSBOOTARGSXSAPIVERCHK;
0 6 dVAR; dXSBOOTARGSXSAPIVERCHK;
670 6 0 }); }