Branch Coverage

indirect.xs
Criterion Covered Total %
branch 211 404 52.2


line true false branch
78 4 100531 if (!PL_parser)
83 100479 52 if (hint && SvOK(hint)) {
54909 45570 if (hint && SvOK(hint)) {
54909 0 if (hint && SvOK(hint)) {
0 54909 if (hint && SvOK(hint)) {
87 54961 0 if (xsh_is_loaded(&XSH_CXT))
178 1355 0 if (SvTRUE(ERRSV)) {
1355 0 if (SvTRUE(ERRSV)) {
1355 0 if (SvTRUE(ERRSV)) {
0 1355 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
1355 0 if (SvTRUE(ERRSV)) {
0 1355 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
1355 0 if (SvTRUE(ERRSV)) {
1355 0 if (SvTRUE(ERRSV)) {
1355 0 if (SvTRUE(ERRSV)) {
1355 0 if (SvTRUE(ERRSV)) {
1355 0 if (SvTRUE(ERRSV)) {
1353 2 if (SvTRUE(ERRSV)) {
1353 0 if (SvTRUE(ERRSV)) {
0 1353 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
2 1353 if (SvTRUE(ERRSV)) {
179 2 0 if (IN_PERL_COMPILETIME && PL_errors)
2 0 if (IN_PERL_COMPILETIME && PL_errors)
180 2 0 sv_catsv(PL_errors, ERRSV);
182 0 0 saved_errsv = newSVsv(ERRSV);
183 2 0 SvCUR_set(ERRSV, 0);
186 1355 0 cxix = (cxstack_ix < cxstack_max) ? (cxstack_ix + 1) : Perl_cxinc(aTHX);
195 1353 0 if (SvTRUE(ERRSV)) {
1353 0 if (SvTRUE(ERRSV)) {
1353 0 if (SvTRUE(ERRSV)) {
0 1353 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
1353 0 if (SvTRUE(ERRSV)) {
0 1353 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
1353 0 if (SvTRUE(ERRSV)) {
1353 0 if (SvTRUE(ERRSV)) {
1353 0 if (SvTRUE(ERRSV)) {
1353 0 if (SvTRUE(ERRSV)) {
1353 0 if (SvTRUE(ERRSV)) {
1344 9 if (SvTRUE(ERRSV)) {
1344 0 if (SvTRUE(ERRSV)) {
0 1344 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
9 1344 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
198 0 9 if (saved_errsv)
199 0 0 sv_setsv(saved_errsv, ERRSV);
201 9 0 saved_errsv = newSVsv(ERRSV);
202 9 0 SvCUR_set(ERRSV, 0);
204 9 0 if (IN_PERL_COMPILETIME) {
206 9 0 if (PL_parser)
213 9 0 if (PL_errors) {
214 9 0 sv_setsv(ERRSV, PL_errors);
218 9 0 sv_catsv(ERRSV, saved_errsv);
221 0 1344 } else if (saved_errsv) {
225 0 0 sv_setsv(ERRSV, saved_errsv);
246 23386 3317 if (!(oi = ptable_fetch(XSH_CXT.map, o))) {
253 14106 12597 if (sv) {
254 14106 0 s = SvPV_const(sv, len);
260 26461 242 if (len > oi->size) {
285 65652 0 if (xsh_is_loaded(&XSH_CXT) && XSH_CXT.map)
65652 0 if (xsh_is_loaded(&XSH_CXT) && XSH_CXT.map)
298 19059 0 line = SvPV_const(PL_linestr, line_len);
301 19059 0 name = SvPV_const(name_sv, name_len);
302 19059 0 if (name_len >= 1 && *name == '$') {
385 18674 if (name_len >= 1 && *name == '$') {
305 936 6 while (line_bufptr < line_end && *line_bufptr != '$')
557 379 while (line_bufptr < line_end && *line_bufptr != '$')
307 6 379 if (line_bufptr >= line_end)
315 8004 11067 if (!p)
317 11049 18 if (!isALNUM(p[name_len]))
321 30 18 while (isALNUM(*p))
337 14333 24492 if (indirect_hint()) {
340 14118 215 if (SvPOK(sv) && (SvTYPE(sv) >= SVt_PV)) {
14118 0 if (SvPOK(sv) && (SvTYPE(sv) >= SVt_PV)) {
344 25 14093 bufptr = PL_multi_close == '<' ? PL_bufptr : PL_oldbufptr;
346 10791 3327 if (indirect_find(sv, bufptr, &pos)) {
354 10791 0 if (PL_curstash
355 10791 0 && len == (STRLEN) HvNAMELEN_get(PL_curstash)
10791 0 && len == (STRLEN) HvNAMELEN_get(PL_curstash)
0 10791 && len == (STRLEN) HvNAMELEN_get(PL_curstash)
0 0 && len == (STRLEN) HvNAMELEN_get(PL_curstash)
10791 0 && len == (STRLEN) HvNAMELEN_get(PL_curstash)
0 10791 && len == (STRLEN) HvNAMELEN_get(PL_curstash)
52 10739 && len == (STRLEN) HvNAMELEN_get(PL_curstash)
356 52 0 && memcmp(SvPVX(sv), HvNAME_get(PL_curstash), len) == 0) {
52 0 && memcmp(SvPVX(sv), HvNAME_get(PL_curstash), len) == 0) {
0 52 && memcmp(SvPVX(sv), HvNAME_get(PL_curstash), len) == 0) {
0 0 && memcmp(SvPVX(sv), HvNAME_get(PL_curstash), len) == 0) {
52 0 && memcmp(SvPVX(sv), HvNAME_get(PL_curstash), len) == 0) {
0 52 && memcmp(SvPVX(sv), HvNAME_get(PL_curstash), len) == 0) {
30 22 && memcmp(SvPVX(sv), HvNAME_get(PL_curstash), len) == 0) {
361 22 8 if (indirect_find(pkg, PL_oldbufptr, &pos_pkg) && pos_pkg < pos) {
11 11 if (indirect_find(pkg, PL_oldbufptr, &pos_pkg) && pos_pkg < pos) {
382 267 1276 if (indirect_hint()) {
389 2 265 switch (type) {
398 238 27 if ((PL_opargs[type] & OA_CLASS_MASK) == OA_SVOP) {
400 238 0 if (SvPOK(nsv) && (SvTYPE(nsv) >= SVt_PV))
238 0 if (SvPOK(nsv) && (SvTYPE(nsv) >= SVt_PV))
401 238 0 name = SvPV_const(nsv, len);
404 27 240 if (!name)
409 176 64 if (!indirect_find(sv, PL_oldbufptr, &pos)) {
411 176 0 const char *stash = HvNAME_get(PL_curstash);
176 0 const char *stash = HvNAME_get(PL_curstash);
0 176 const char *stash = HvNAME_get(PL_curstash);
0 0 const char *stash = HvNAME_get(PL_curstash);
176 0 const char *stash = HvNAME_get(PL_curstash);
0 176 const char *stash = HvNAME_get(PL_curstash);
412 176 0 STRLEN stashlen = HvNAMELEN_get(PL_curstash);
176 0 STRLEN stashlen = HvNAMELEN_get(PL_curstash);
0 176 STRLEN stashlen = HvNAMELEN_get(PL_curstash);
0 0 STRLEN stashlen = HvNAMELEN_get(PL_curstash);
176 0 STRLEN stashlen = HvNAMELEN_get(PL_curstash);
0 176 STRLEN stashlen = HvNAMELEN_get(PL_curstash);
414 139 37 if ((len < stashlen + 2) || strnNE(name, stash, stashlen)
136 3 if ((len < stashlen + 2) || strnNE(name, stash, stashlen)
415 133 3 || name[stashlen] != ':' || name[stashlen+1] != ':') {
0 133 || name[stashlen] != ':' || name[stashlen+1] != ':') {
419 6 37 if ((len < stashlen + 2) || strnNE(name, stash, stashlen)
6 0 if ((len < stashlen + 2) || strnNE(name, stash, stashlen)
420 6 0 || name[stashlen] != ':' || name[stashlen+1] != ':')
6 0 || name[stashlen] != ':' || name[stashlen+1] != ':')
427 0 139 if (!indirect_find(sv, PL_oldbufptr, &pos))
451 1650 10679 if (indirect_hint()) {
455 2036 0 while (s < t && isSPACE(*s)) ++s;
386 1650 while (s < t && isSPACE(*s)) ++s;
456 1580 70 if (*s == '$' && ++s <= t) {
1580 0 if (*s == '$' && ++s <= t) {
457 1714 122 while (s < t && isSPACE(*s)) ++s;
256 1458 while (s < t && isSPACE(*s)) ++s;
458 1836 1183 while (s < t && isSPACE(*t)) --t;
1439 397 while (s < t && isSPACE(*t)) --t;
485 12597 17518 if (indirect_hint()) {
503 1583 652 if (indirect_hint()) {
508 1583 0 if (op && op->op_type == OP_CONST) {
1499 84 if (op && op->op_type == OP_CONST) {
514 0 1499 if (!oi)
546 4532 2776 if (indirect_hint()) {
552 4532 0 if (!SvPOK(sv) || (SvTYPE(sv) < SVt_PV))
4532 0 if (!SvPOK(sv) || (SvTYPE(sv) < SVt_PV))
556 4499 33 if (!indirect_find(sv, PL_oldbufptr, &pos))
582 4657 3523 if (code) {
590 0 4698 if (!(lop->op_flags & OPf_KIDS))
593 41 4657 } while (oop->op_type != OP_PUSHMARK);
594 4657 0 oop = OpSIBLING(oop);
597 0 4657 if (!oop)
600 4622 35 switch (oop->op_type) {
611 84 4538 if (mop->op_type == OP_METHOD)
613 19 4519 else if (mop->op_type != OP_METHOD_NAMED)
617 3033 1570 if (!moi)
621 5 1565 if (!ooi)
627 1481 84 if ( moi->line < ooi->line
628 1435 46 || (moi->line == ooi->line && moi->pos <= ooi->pos)) {
1271 164 || (moi->line == ooi->line && moi->pos <= ooi->pos)) {
638 1355 0 file = sv_mortalcopy(CopFILESV(&PL_compiling));
641 0 1355 PUSHMARK(SP);
642 0 1355 EXTEND(SP, 4);
653 1344 0 FREETMPS;
744 2023 3078 if (!SvOK(code))
2023 0 if (!SvOK(code))
2023 0 if (!SvOK(code))
746 3078 0 else if (SvROK(code))
756 0 5 if (!SvOK(code))
0 0 if (!SvOK(code))
0 0 if (!SvOK(code))
758 5 0 else if (SvROK(code))