Branch Coverage

XS.xs
Criterion Covered Total %
branch 27 42 64.2


line true false branch
22 0 3 if (!RETVAL) XSRETURN_UNDEF;
31 0 2 if (!SvROK(rv)) croak("Panda::XS::rv_payload_attach: argument is not a reference");
37 0 5 if (!SvROK(rv)) croak("Panda::XS::rv_payload_exists: argument is not a reference");
42 0 3 if (!SvROK(rv)) croak("Panda::XS::rv_payload: argument is not a reference");
44 0 3 if (!RETVAL) XSRETURN_UNDEF;
49 0 1 if (!SvROK(rv)) croak("Panda::XS::rv_payload_detach: argument is not a reference");
54 2 2 if (SvROK(sv)) {
65 5 5 if (SvROK(sv)) RETVAL = xs::sv_payload_exists(aTHX_ SvRV(sv), &marker);
70 2 1 if (SvROK(sv)) RETVAL = xs::sv_payload_sv(aTHX_ SvRV(sv), &marker);
73 0 3 if (!RETVAL) XSRETURN_UNDEF;
78 1 1 if (SvROK(sv)) RETVAL = xs::sv_payload_detach(aTHX_ SvRV(sv), &marker);
84 0 3 if (!SvROK(rv)) croak("Panda::XS::obj2hv: argument is not a reference");
86 1 2 if (SvOK(obj)) croak("Panda::XS::obj2hv: only references to undefs can be upgraded");
1 0 if (SvOK(obj)) croak("Panda::XS::obj2hv: only references to undefs can be upgraded");
0 1 if (SvOK(obj)) croak("Panda::XS::obj2hv: only references to undefs can be upgraded");
87 1 0 SvUPGRADE(obj, SVt_PVHV);
91 0 2 if (!SvROK(rv)) croak("Panda::XS::obj2av: argument is not a reference");
93 1 1 if (SvOK(obj)) croak("Panda::XS::obj2av: only references to undefs can be upgraded");
1 0 if (SvOK(obj)) croak("Panda::XS::obj2av: only references to undefs can be upgraded");
0 1 if (SvOK(obj)) croak("Panda::XS::obj2av: only references to undefs can be upgraded");
94 1 0 SvUPGRADE(obj, SVt_PVAV);