Branch Coverage

autobox.xs
Criterion Covered Total %
branch 100 146 68.4


line true false branch
42 8 17 if (invocant->op_flags & OPf_PARENS) {
72 8 17 if (toggled) {
98 1245 1309 if ((PL_hints & 0x80020000) != 0x80020000) {
108 595 714 parent = OpHAS_SIBLING(cUNOPo->op_first) ? cUNOPo : ((UNOP *)cUNOPo->op_first);
110 1309 0 invocant = OpSIBLING(prev);
112 2408 0 for (cvop = invocant; OpHAS_SIBLING(cvop); cvop = OpSIBLING(cvop));
2408 1309 for (cvop = invocant; OpHAS_SIBLING(cvop); cvop = OpSIBLING(cvop));
118 1280 29 if ((cvop->op_type != OP_METHOD) && (cvop->op_type != OP_METHOD_NAMED)) {
595 685 if ((cvop->op_type != OP_METHOD) && (cvop->op_type != OP_METHOD_NAMED)) {
123 278 436 if ((invocant->op_type == OP_CONST) && (invocant->op_private & OPpCONST_BARE)) {
20 258 if ((invocant->op_type == OP_CONST) && (invocant->op_private & OPpCONST_BARE)) {
139 675 19 if (cvop->op_type == OP_METHOD_NAMED) {
143 642 33 if (
144 621 21 strEQ(method_name, "import") ||
145 614 7 strEQ(method_name, "unimport") ||
156 633 0 && (svp = hv_fetch(hh, "autobox", 7, FALSE))
157 633 0 && *svp
158 633 0 && SvROK(*svp);
633 0 && SvROK(*svp);
160 0 633 if (!has_bindings) {
171 25 608 switch (invocant->op_type) {
182 19 614 : autobox_method_named;
195 8 11 if (SvROK(sv)) {
198 8 0 if (SvTYPE(cv) == SVt_PVCV) {
206 8 3 if (cv) {
222 534 70 if (cv) {
223 0 534 XPUSHs(cv);
241 16 3 if (SvIOK(sv)) {
247 0 71 if (SvIOK(sv)) {
257 4 20 if (SvIOK(sv)) {
259 17 3 } else if (SvNOK(sv)) {
270 0 240 if (SvVOK(sv)) {
0 0 if (SvVOK(sv)) {
274 0 240 if (SvROK(sv)) {
280 0 0 if (SvROK(sv)) {
282 0 0 } else if (LvTYPE(sv) == 't' || LvTYPE(sv) == 'T') { /* tied lvalue */
0 0 } else if (LvTYPE(sv) == 't' || LvTYPE(sv) == 'T') { /* tied lvalue */
283 0 0 if (SvIOK(sv)) {
285 0 0 } else if (SvNOK(sv)) {
328 615 0 if ((PL_op->op_flags & OPf_SPECIAL) && ((!SvROK(sv)) || !SvOBJECT(SvRV(sv)))) {
161 454 if ((PL_op->op_flags & OPf_SPECIAL) && ((!SvROK(sv)) || !SvOBJECT(SvRV(sv)))) {
151 10 if ((PL_op->op_flags & OPf_SPECIAL) && ((!SvROK(sv)) || !SvOBJECT(SvRV(sv)))) {
331 0 605 SvGETMAGIC(sv);
0 0 SvGETMAGIC(sv);
336 605 0 if (autobox_bindings) {
346 24 581 if (SvOK(sv)) {
24 0 if (SvOK(sv)) {
0 24 if (SvOK(sv)) {
347 151 430 reftype = autobox_type(aTHX_ (SvROK(sv) ? SvRV(sv) : sv), &typelen);
355 545 60 if (svp && SvOK(*svp)) {
0 545 if (svp && SvOK(*svp)) {
0 0 if (svp && SvOK(*svp)) {
0 0 if (svp && SvOK(*svp)) {
360 545 0 const char * packname = SvPV_const(packsv, packlen);
364 534 11 if (hashp) {
368 524 10 if (he) {
375 521 3 if (
377 521 0 && GvCV(gv)
378 129 392 && (!GvCVGEN(gv) || GvCVGEN(gv) == PL_sub_generation)
0 129 && (!GvCVGEN(gv) || GvCVGEN(gv) == PL_sub_generation)
390 150 3 gv = gv_fetchmethod(
153 0 gv = gv_fetchmethod(
395 150 3 if (gv) {
396 150 0 return(isGV(gv) ? (SV*)GvCV(gv) : (SV*)gv);
408 20 0 if (AUTOBOX_OP_MAP) {
424 20 0 if (AUTOBOX_OP_MAP) {
434 9 68 if (AUTOBOX_SCOPE_DEPTH > 0) {
451 0 77 if (AUTOBOX_SCOPE_DEPTH == 0) {
455 9 68 if (AUTOBOX_SCOPE_DEPTH > 1) {
477 8 52 if (SvOK(sv)) {
8 0 if (SvOK(sv)) {
0 8 if (SvOK(sv)) {
478 18 34 type = autobox_type(aTHX_ (SvROK(sv) ? SvRV(sv) : sv), &len);