Branch Coverage

Dumper.xs
Criterion Covered Total %
branch 746 1158 64.4


line true false branch
89 75 22 if (s[0] == ':') {
90 74 1 if (++s
91 0 74 if (*s++ != ':')
97 86 10 if (isIDFIRST(*s)) {
98 167 31 while (++s
99 55 112 if (!isWORDCHAR(*s)) {
100 22 33 if (*s == ':')
136 42 164 if (safe_decimal_number(s, len)) {
139 152 12 else if (isIDFIRST(*s)) {
140 256 150 while (++s
141 2 254 if (!isWORDCHAR(*s))
156 88 164 if (len == 1 && *p == '0')
2 86 if (len == 1 && *p == '0')
159 250 0 if (len && *p == '-') {
0 250 if (len && *p == '-') {
164 250 0 if (len == 0 || *p < '1' || *p > '9')
228 22 if (len == 0 || *p < '1' || *p > '9')
180 48 if (len == 0 || *p < '1' || *p > '9')
170 4 44 if (len > 8)
173 56 42 while (len > 0) {
175 54 2 if (*p < '0' || *p > '9')
0 54 if (*p < '0' || *p > '9')
189 2278 512 while (slen > 0) {
190 2277 1 if (*s == '\'' || *s == '\\')
1 2276 if (*s == '\'' || *s == '\\')
207 9684 973 while (slen > 0) {
208 5 9679 switch (*s) {
241 1793 144 for (s = src; s < send; s += increment) { /* Sizing pass */
246 1793 0 if (isPRINT(k)) {
1001 792 if (isPRINT(k)) {
247 6 995 if (k == '\\') {
249 58 937 } else if (k == '\'') {
251 929 8 } else if (k == '"' || k == '$' || k == '@') {
921 8 } else if (k == '"' || k == '$' || k == '@') {
6 915 } else if (k == '"' || k == '$' || k == '@') {
257 636 156 else if (! UTF8_IS_INVARIANT(k)) {
265 372 264 if (do_utf8) {
270 50 322 increment = (k == 0 && *s != '\0') ? 1 : UTF8SKIP(s);
0 50 increment = (k == 0 && *s != '\0') ? 1 : UTF8SKIP(s);
274 108 372 while ((k >>= 4) != 0) { /* Add space for each nibble */
278 264 0 else if (useqq) { /* Not utf8, must be <= 0xFF, hence 2 hex
286 2 154 else if (! useqq) { /* Low ordinal, non-printable, non-qq just
292 150 4 if ( k == '\a' || k == '\b' || k == '\t' || k == '\n' || k == '\r'
146 4 if ( k == '\a' || k == '\b' || k == '\t' || k == '\n' || k == '\r'
142 4 if ( k == '\a' || k == '\b' || k == '\t' || k == '\n' || k == '\r'
136 6 if ( k == '\a' || k == '\b' || k == '\t' || k == '\n' || k == '\r'
132 4 if ( k == '\a' || k == '\b' || k == '\t' || k == '\n' || k == '\r'
293 128 4 || k == '\f' || k == ESC_NATIVE)
6 122 || k == '\f' || k == ESC_NATIVE)
299 120 2 if (s + 1 >= send || isDIGIT(*(s+1))) {
4 116 if (s + 1 >= send || isDIGIT(*(s+1))) {
305 40 76 else if (k <= 7) {
308 72 4 else if (k <= 077) {
317 63 81 if (grow || useqq) {
51 12 if (grow || useqq) {
325 1728 132 for (s = src; s < send; s += increment) {
329 831 897 if (do_utf8 && ! UTF8_IS_INVARIANT(c0)) {
372 459 if (do_utf8 && ! UTF8_IS_INVARIANT(c0)) {
337 50 322 increment = (k == 0 && *s != '\0') ? 1 : UTF8SKIP(s);
0 50 increment = (k == 0 && *s != '\0') ? 1 : UTF8SKIP(s);
351 1356 0 if (isPRINT(k)) {
937 419 if (isPRINT(k)) {
353 931 6 if (k == '"' || k == '\\' || k == '$' || k == '@') {
925 6 if (k == '"' || k == '\\' || k == '$' || k == '@') {
919 6 if (k == '"' || k == '\\' || k == '$' || k == '@') {
6 913 if (k == '"' || k == '\\' || k == '$' || k == '@') {
359 1 418 else if (! useqq) { /* non-qq, non-printable, low-ordinal is
381 382 4 next_is_digit = (s + 1 < send && isDIGIT(*(s+1)));
4 378 next_is_digit = (s + 1 < send && isDIGIT(*(s+1)));
386 46 340 if (k <= 7 && !next_is_digit) {
42 4 if (k <= 7 && !next_is_digit) {
388 76 268 } else if (k <= 63 && !next_is_digit) {
72 4 } else if (k <= 63 && !next_is_digit) {
406 65 12 for (s = src; s < send; s ++) {
408 63 2 if (k == '\'' || k == '\\')
0 63 if (k == '\'' || k == '\\')
425 1427 21 if (!sv)
432 1168 280 if (n > 0) {
433 1168 0 SvGROW(sv, len*n + SvCUR(sv) + 1);
32 1136 SvGROW(sv, len*n + SvCUR(sv) + 1);
434 267 901 if (len == 1) {
438 1848 267 while (n > 0)
442 1658 901 while (n > 0) {
480 0 5 PUSHMARK(SP);
481 0 5 mXPUSHs(newSVpvs("B::Deparse"));
487 0 5 if (n != 1) {
491 0 5 PUSHMARK(SP - n);
492 0 5 XPUSHs(val);
498 0 5 if (n != 1) {
505 5 0 FREETMPS;
524 0 54 if (!re_pattern_cv) {
532 0 54 PUSHMARK(SP);
533 0 54 XPUSHs(val);
537 54 0 if (count >= 2) {
544 54 0 FREETMPS;
546 54 0 if (sv_pattern) {
580 54 0 rval = SvPV(sv_pattern, rlen);
583 24 30 do_utf8 = DO_UTF8(sv_pattern);
24 0 do_utf8 = DO_UTF8(sv_pattern);
585 211 54 while (p < rend) {
589 37 174 if (saw_backslash) {
590 0 37 if (++p == rend) {
598 23 188 if (/* / that was not backslashed */
599 1 22 (k == '/' && !saw_backslash)
602 20 169 || (k == '$' && !saw_backslash
16 4 || (k == '$' && !saw_backslash
603 12 4 && (p + 1 != rend && p[1] != '|' && p[1] != ')'))
10 2 && (p + 1 != rend && p[1] != '|' && p[1] != ')'))
2 8 && (p + 1 != rend && p[1] != '|' && p[1] != ')'))
605 82 99 || (do_utf8 && ! UTF8_IS_INVARIANT(k)))
24 58 || (do_utf8 && ! UTF8_IS_INVARIANT(k)))
608 38 16 if (to_copy) {
612 22 32 if (k == '/') {
616 8 24 else if (k == '$') {
639 47 7 if (rlen) {
644 54 0 if (sv_flags)
675 0 2607 if (!val)
678 1 2606 if (style->maxrecursed)
685 2606 0 if (SvTYPE(retval) >= SVt_PV && (SvLEN(retval) - SvCUR(retval)) < 42) {
2147 459 if (SvTYPE(retval) >= SVt_PV && (SvLEN(retval) - SvCUR(retval)) < 42) {
691 0 2606 if (SvGMAGICAL(val))
693 1080 1526 if (SvROK(val)) {
697 70 1010 if (SvOBJECT(SvRV(val)) && style->freezer &&
70 0 if (SvOBJECT(SvRV(val)) && style->freezer &&
68 2 if (SvOBJECT(SvRV(val)) && style->freezer &&
702 0 6 dSP; ENTER; SAVETMPS; PUSHMARK(sp);
703 0 6 XPUSHs(val); PUTBACK;
706 6 0 if (SvTRUE(ERRSV))
6 0 if (SvTRUE(ERRSV))
6 0 if (SvTRUE(ERRSV))
0 6 if (SvTRUE(ERRSV))
0 0 if (SvTRUE(ERRSV))
6 0 if (SvTRUE(ERRSV))
0 6 if (SvTRUE(ERRSV))
0 0 if (SvTRUE(ERRSV))
0 0 if (SvTRUE(ERRSV))
0 0 if (SvTRUE(ERRSV))
0 0 if (SvTRUE(ERRSV))
6 0 if (SvTRUE(ERRSV))
6 0 if (SvTRUE(ERRSV))
6 0 if (SvTRUE(ERRSV))
6 0 if (SvTRUE(ERRSV))
6 0 if (SvTRUE(ERRSV))
5 1 if (SvTRUE(ERRSV))
5 0 if (SvTRUE(ERRSV))
0 5 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))
1 5 if (SvTRUE(ERRSV))
707 1 0 warn("WARNING(Freezer method call failed): %" SVf, ERRSV);
708 6 0 PUTBACK; FREETMPS; LEAVE;
715 70 1010 if (SvOBJECT(ival))
716 70 0 realpack = HvNAME_get(SvSTASH(ival));
70 0 realpack = HvNAME_get(SvSTASH(ival));
0 70 realpack = HvNAME_get(SvSTASH(ival));
0 0 realpack = HvNAME_get(SvSTASH(ival));
70 0 realpack = HvNAME_get(SvSTASH(ival));
0 70 realpack = HvNAME_get(SvSTASH(ival));
723 1080 0 if (namelen) {
724 323 757 if ((svp = hv_fetch(seenhv, id, idlen, FALSE))
725 323 0 && (sv = *svp) && SvROK(sv) && (seenentry = (AV*)SvRV(sv)))
323 0 && (sv = *svp) && SvROK(sv) && (seenentry = (AV*)SvRV(sv)))
323 0 && (sv = *svp) && SvROK(sv) && (seenentry = (AV*)SvRV(sv)))
728 323 0 if ((svp = av_fetch(seenentry, 0, FALSE))
729 323 0 && (othername = *svp))
731 140 183 if (style->purity && level > 0) {
88 52 if (style->purity && level > 0) {
734 28 60 if (realtype == SVt_PVHV)
736 38 22 else if (realtype == SVt_PVAV)
746 231 4 if (name[0] == '@' || name[0] == '%') {
26 205 if (name[0] == '@' || name[0] == '%') {
747 10 20 if ((SvPVX_const(othername))[0] == '\\' &&
10 0 if ((SvPVX_const(othername))[0] == '\\' &&
771 733 24 if (name[0] == '@' || name[0] == '%') {
11 722 if (name[0] == '@' || name[0] == '%') {
775 11 711 else if (realtype == SVt_PVCV && name[0] == '*') {
2 9 else if (realtype == SVt_PVCV && name[0] == '*') {
797 70 687 if (realpack && realtype == SVt_REGEXP)
54 16 if (realpack && realtype == SVt_REGEXP)
801 53 1 if (strEQ(realpack, "Regexp"))
812 564 193 if (!style->purity && style->maxdepth > 0 && level >= style->maxdepth) {
18 546 if (!style->purity && style->maxdepth > 0 && level >= style->maxdepth) {
6 12 if (!style->purity && style->maxdepth > 0 && level >= style->maxdepth) {
814 0 6 const char * const valstr = SvPV(val,vallen);
821 746 5 if (style->maxrecurse > 0 && level >= style->maxrecurse) {
4 742 if (style->maxrecurse > 0 && level >= style->maxrecurse) {
825 70 681 if (realpack && !no_bless) { /* we have a blessed ref */
17 53 if (realpack && !no_bless) { /* we have a blessed ref */
827 17 0 const char * const blessstr = SvPV(style->bless, blesslen);
830 15 2 if (style->indent >= 2) {
840 54 697 if (is_regex) {
843 79 618 else if (
853 0 79 if (realpack) { /* blessed */
865 54 564 else if (realtype == SVt_PVGV) { /* glob ref */
874 322 242 else if (realtype == SVt_PVAV) {
885 24 298 if (name[0] == '@') {
895 298 0 if ((namelen > 0
896 277 21 && name[namelen-1] != ']' && name[namelen-1] != '}')
161 116 && name[namelen-1] != ']' && name[namelen-1] != '}')
897 182 0 || (namelen > 4
898 178 4 && (name[1] == '{'
899 0 178 || (name[0] == '\\' && name[2] == '{'))))
0 0 || (name[0] == '\\' && name[2] == '{'))))
905 4 318 if (iname[0] == '*' && iname[inamelen-1] == '}' && inamelen >= 8 &&
4 0 if (iname[0] == '*' && iname[inamelen-1] == '}' && inamelen >= 8 &&
4 0 if (iname[0] == '*' && iname[inamelen-1] == '}' && inamelen >= 8 &&
4 0 if (iname[0] == '*' && iname[inamelen-1] == '}' && inamelen >= 8 &&
906 0 4 (instr(iname+inamelen-8, "{SCALAR}") ||
907 0 0 instr(iname+inamelen-7, "{ARRAY}") ||
916 580 322 for (ix = 0; ix <= ixmax; ++ix) {
920 580 0 if (svp)
929 16 564 if (style->indent >= 3) {
941 185 395 FREETMPS;
943 209 371 if (ix < ixmax || (style->trailingcomma && style->indent >= 1))
6 203 if (ix < ixmax || (style->trailingcomma && style->indent >= 1))
4 2 if (ix < ixmax || (style->trailingcomma && style->indent >= 1))
946 209 113 if (ixmax >= 0) {
952 24 298 if (name[0] == '@')
957 231 11 else if (realtype == SVt_PVHV) {
966 11 220 if (name[0] == '%') {
973 220 0 if ((namelen > 0
974 154 66 && name[namelen-1] != ']' && name[namelen-1] != '}')
38 116 && name[namelen-1] != ']' && name[namelen-1] != '}')
975 104 0 || (namelen > 4
976 88 16 && (name[1] == '{'
977 0 88 || (name[0] == '\\' && name[2] == '{'))))
0 0 || (name[0] == '\\' && name[2] == '{'))))
982 24 207 if (name[0] == '*' && name[namelen-1] == '}' && namelen >= 8 &&
20 4 if (name[0] == '*' && name[namelen-1] == '}' && namelen >= 8 &&
20 0 if (name[0] == '*' && name[namelen-1] == '}' && namelen >= 8 &&
20 0 if (name[0] == '*' && name[namelen-1] == '}' && namelen >= 8 &&
983 20 0 (instr(name+namelen-8, "{SCALAR}") ||
984 20 0 instr(name+namelen-7, "{ARRAY}") ||
994 116 115 if (style->sortkeys) {
995 101 15 if (style->sortkeys == &PL_sv_yes) {
998 287 101 while ((entry = hv_iternext((HV*)ival))) {
1005 101 0 if (IN_LC(LC_COLLATE))
0 101 if (IN_LC(LC_COLLATE))
0 0 if (IN_LC(LC_COLLATE))
101 0 if (IN_LC(LC_COLLATE))
101 0 if (IN_LC(LC_COLLATE))
101 0 if (IN_LC(LC_COLLATE))
0 101 if (IN_LC(LC_COLLATE))
0 0 if (IN_LC(LC_COLLATE))
1024 0 15 dSP; ENTER; SAVETMPS; PUSHMARK(sp);
1025 0 15 XPUSHs(sv_2mortal(newRV_inc(ival))); PUTBACK;
1028 15 0 if (i) {
1030 15 0 if (SvROK(sv) && (SvTYPE(SvRV(sv)) == SVt_PVAV))
14 1 if (SvROK(sv) && (SvTYPE(SvRV(sv)) == SVt_PVAV))
1033 1 14 if (! keys)
1035 15 0 PUTBACK; FREETMPS; LEAVE;
1037 115 1 if (keys)
1054 582 371 if (style->sortkeys) {
1055 581 1 if (!(keys && (SSize_t)i <= av_len(keys))) break;
466 115 if (!(keys && (SSize_t)i <= av_len(keys))) break;
1057 115 256 if (!(entry = hv_iternext((HV *)ival))) break;
1060 501 221 if (i)
1063 466 256 if (style->sortkeys) {
1066 466 0 keysv = svp ? *svp : sv_newmortal();
1067 466 0 key = SvPV(keysv, keylen);
1068 8 458 svp = hv_fetch((HV*)ival, key,
1070 466 0 hval = svp ? *svp : sv_newmortal();
1077 722 0 key = SvPV(keysv, keylen);
1078 14 708 do_utf8 = DO_UTF8(keysv);
14 0 do_utf8 = DO_UTF8(keysv);
1104 206 516 if (style->quotekeys || key_needs_quote(key,keylen)) {
14 192 if (style->quotekeys || key_needs_quote(key,keylen)) {
1105 518 12 if (do_utf8 || style->useqq) {
23 495 if (do_utf8 || style->useqq) {
1116 0 495 if (nticks)
1137 349 373 if (style->indent >= 2) {
1142 3475 349 while (elen < (klen+4))
1154 722 0 FREETMPS;
1157 221 10 if (i) {
1160 6 215 if (style->trailingcomma && style->indent >= 1)
4 2 if (style->trailingcomma && style->indent >= 1)
1166 11 220 if (name[0] == '%')
1171 11 0 else if (realtype == SVt_PVCV) {
1172 5 6 if (style->deparse) {
1181 4 5 for (i = 0; i < level; i++) {
1186 5 0 p = SvPV(deparsed, plen);
1187 23 0 while (plen > 0) {
1189 5 18 if (!nl) {
1204 0 6 if (style->purity)
1212 70 681 if (realpack && !no_bless) { /* free blessed allocs */
17 53 if (realpack && !no_bless) { /* free blessed allocs */
1215 15 2 if (style->indent >= 2) {
1222 2 15 if (pticks) { /* needs escaping */
1238 17 0 if (style->toaster && SvPOK(style->toaster) && SvCUR(style->toaster)) {
17 0 if (style->toaster && SvPOK(style->toaster) && SvCUR(style->toaster)) {
0 17 if (style->toaster && SvPOK(style->toaster) && SvCUR(style->toaster)) {
1249 1526 0 if (namelen) {
1252 110 1416 if ((svp = hv_fetch(seenhv, id, idlen, FALSE)) &&
110 0 if ((svp = hv_fetch(seenhv, id, idlen, FALSE)) &&
1253 110 0 (sv = *svp) && SvROK(sv) &&
110 0 (sv = *svp) && SvROK(sv) &&
1257 110 0 if ((svp = av_fetch(seenentry, 0, FALSE)) && (othername = *svp)
110 0 if ((svp = av_fetch(seenentry, 0, FALSE)) && (othername = *svp)
1258 8 102 && (svp = av_fetch(seenentry, 2, FALSE)) && *svp && SvIV(*svp) > 0)
8 0 && (svp = av_fetch(seenentry, 2, FALSE)) && *svp && SvIV(*svp) > 0)
8 0 && (svp = av_fetch(seenentry, 2, FALSE)) && *svp && SvIV(*svp) > 0)
8 0 && (svp = av_fetch(seenentry, 2, FALSE)) && *svp && SvIV(*svp) > 0)
1273 1416 0 else if (val != &PL_sv_undef && (!style->use_sparse_seen_hash || SvREFCNT(val) > 1)) {
16 1400 else if (val != &PL_sv_undef && (!style->use_sparse_seen_hash || SvREFCNT(val) > 1)) {
0 16 else if (val != &PL_sv_undef && (!style->use_sparse_seen_hash || SvREFCNT(val) > 1)) {
1284 419 1099 if (DD_is_integer(val)) {
1286 0 419 if (SvIsUV(val))
1287 0 0 len = my_snprintf(tmpbuf, sizeof(tmpbuf), "%" UVuf, SvUV(val));
0 0 len = my_snprintf(tmpbuf, sizeof(tmpbuf), "%" UVuf, SvUV(val));
1289 419 0 len = my_snprintf(tmpbuf, sizeof(tmpbuf), "%" IVdf, SvIV(val));
0 419 len = my_snprintf(tmpbuf, sizeof(tmpbuf), "%" IVdf, SvIV(val));
1290 120 299 if (SvPOK(val)) {
1294 120 0 const char * const pv = SvPV(val, pvlen);
1295 88 32 if (pvlen != len || memNE(pv, tmpbuf, len))
88 0 if (pvlen != len || memNE(pv, tmpbuf, len))
1298 12 375 if (len > 10) {
1305 75 1024 else if (realtype == SVt_PVGV) {/* GLOBs can end up with scribbly names */
1306 0 75 c = SvPV(val, i);
1307 75 0 if(i) ++c, --i; /* just get the name */
1308 75 0 if (memBEGINs(c, i, "main::")) {
53 22 if (memBEGINs(c, i, "main::")) {
1310 1 52 if (i == 6)
1313 44 31 if (globname_needs_quote(c,i)) {
1339 24 51 if (style->purity) {
1348 72 24 for (j=0; j<3; j++) {
1349 24 48 e = ((j == 0) ? GvSV(gv) : (j == 1) ? (SV*)GvAV(gv) : (SV*)GvHV(gv));
24 24 e = ((j == 0) ? GvSV(gv) : (j == 1) ? (SV*)GvAV(gv) : (SV*)GvHV(gv));
1350 16 56 if (!e)
1352 24 32 if (j == 0 && !SvOK(e))
12 12 if (j == 0 && !SvOK(e))
12 0 if (j == 0 && !SvOK(e))
12 0 if (j == 0 && !SvOK(e))
1365 6 38 if (style->indent >= 2)
1378 1024 0 else if (val == &PL_sv_undef || !SvOK(val)) {
12 1012 else if (val == &PL_sv_undef || !SvOK(val)) {
12 0 else if (val == &PL_sv_undef || !SvOK(val)) {
12 0 else if (val == &PL_sv_undef || !SvOK(val)) {
1382 40 972 else if (SvMAGICAL(val) && (mg = mg_find(val, 'V'))) {
6 34 else if (SvMAGICAL(val) && (mg = mg_find(val, 'V'))) {
1398 894 144 c = SvPV(val, i);
1404 46 992 if (style->useqq && safe_decimal_number(c, i)) {
2 44 if (style->useqq && safe_decimal_number(c, i)) {
1407 29 1007 else if (DO_UTF8(val) || style->useqq)
0 29 else if (DO_UTF8(val) || style->useqq)
36 971 else if (DO_UTF8(val) || style->useqq)
1408 29 36 i += esc_q_utf8(aTHX_ retval, c, i, DO_UTF8(val), style->useqq);
29 0 i += esc_q_utf8(aTHX_ retval, c, i, DO_UTF8(val), style->useqq);
1422 2269 0 if (idlen) {
1423 90 2179 if (style->deepcopy)
1425 2179 0 else if (namelen && seenentry) {
2163 16 else if (namelen && seenentry) {
1460 153 218 I32 gimme = GIMME_V;
1462 151 220 if (!SvROK(href)) { /* call new to get an object first */
1463 0 151 if (items < 2)
1469 0 151 PUSHMARK(sp);
1470 0 151 EXTEND(SP, 3); /* 3 == max of all branches below */
1473 54 97 if (items >= 3)
1478 151 0 if (i)
1482 151 0 FREETMPS;
1484 151 0 if (i)
1501 371 0 if (SvROK(href)
1502 371 0 && (hv = (HV*)SvRV((SV*)href))
1503 371 0 && SvTYPE(hv) == SVt_PVHV) {
1505 371 0 if ((svp = hv_fetchs(hv, "seen", FALSE)) && SvROK(*svp))
371 0 if ((svp = hv_fetchs(hv, "seen", FALSE)) && SvROK(*svp))
1509 371 0 if ((svp = hv_fetchs(hv, "noseen", FALSE)))
1510 2 369 style.use_sparse_seen_hash = (SvOK(*svp) && SvIV(*svp) != 0);
2 0 style.use_sparse_seen_hash = (SvOK(*svp) && SvIV(*svp) != 0);
0 2 style.use_sparse_seen_hash = (SvOK(*svp) && SvIV(*svp) != 0);
369 0 style.use_sparse_seen_hash = (SvOK(*svp) && SvIV(*svp) != 0);
6 363 style.use_sparse_seen_hash = (SvOK(*svp) && SvIV(*svp) != 0);
0 0 style.use_sparse_seen_hash = (SvOK(*svp) && SvIV(*svp) != 0);
1511 371 0 if ((svp = hv_fetchs(hv, "todump", FALSE)) && SvROK(*svp))
371 0 if ((svp = hv_fetchs(hv, "todump", FALSE)) && SvROK(*svp))
1513 371 0 if ((svp = hv_fetchs(hv, "names", FALSE)) && SvROK(*svp))
371 0 if ((svp = hv_fetchs(hv, "names", FALSE)) && SvROK(*svp))
1515 371 0 if ((svp = hv_fetchs(hv, "indent", FALSE)))
1516 371 0 style.indent = SvIV(*svp);
1517 371 0 if ((svp = hv_fetchs(hv, "purity", FALSE)))
1518 371 0 style.purity = SvIV(*svp);
1519 371 0 if ((svp = hv_fetchs(hv, "terse", FALSE)))
1520 371 0 terse = SvTRUE(*svp);
0 371 terse = SvTRUE(*svp);
0 0 terse = SvTRUE(*svp);
1 370 terse = SvTRUE(*svp);
1 0 terse = SvTRUE(*svp);
0 1 terse = SvTRUE(*svp);
0 370 terse = SvTRUE(*svp);
0 0 terse = SvTRUE(*svp);
0 0 terse = SvTRUE(*svp);
0 0 terse = SvTRUE(*svp);
0 0 terse = SvTRUE(*svp);
0 0 terse = SvTRUE(*svp);
370 0 terse = SvTRUE(*svp);
370 0 terse = SvTRUE(*svp);
361 9 terse = SvTRUE(*svp);
0 361 terse = SvTRUE(*svp);
0 0 terse = SvTRUE(*svp);
9 361 terse = SvTRUE(*svp);
0 0 terse = SvTRUE(*svp);
1521 371 0 if ((svp = hv_fetchs(hv, "useqq", FALSE)))
1522 371 0 style.useqq = SvTRUE(*svp);
0 371 style.useqq = SvTRUE(*svp);
0 0 style.useqq = SvTRUE(*svp);
1 370 style.useqq = SvTRUE(*svp);
1 0 style.useqq = SvTRUE(*svp);
0 1 style.useqq = SvTRUE(*svp);
1 369 style.useqq = SvTRUE(*svp);
1 0 style.useqq = SvTRUE(*svp);
1 0 style.useqq = SvTRUE(*svp);
0 1 style.useqq = SvTRUE(*svp);
0 0 style.useqq = SvTRUE(*svp);
0 1 style.useqq = SvTRUE(*svp);
369 0 style.useqq = SvTRUE(*svp);
369 0 style.useqq = SvTRUE(*svp);
331 38 style.useqq = SvTRUE(*svp);
0 331 style.useqq = SvTRUE(*svp);
0 0 style.useqq = SvTRUE(*svp);
38 331 style.useqq = SvTRUE(*svp);
0 0 style.useqq = SvTRUE(*svp);
1523 371 0 if ((svp = hv_fetchs(hv, "pad", FALSE)))
1525 371 0 if ((svp = hv_fetchs(hv, "xpad", FALSE)))
1527 371 0 if ((svp = hv_fetchs(hv, "apad", FALSE)))
1529 371 0 if ((svp = hv_fetchs(hv, "sep", FALSE)))
1531 371 0 if ((svp = hv_fetchs(hv, "pair", FALSE)))
1533 371 0 if ((svp = hv_fetchs(hv, "varname", FALSE)))
1535 371 0 if ((svp = hv_fetchs(hv, "freezer", FALSE)))
1537 371 0 if ((svp = hv_fetchs(hv, "toaster", FALSE)))
1539 371 0 if ((svp = hv_fetchs(hv, "deepcopy", FALSE)))
1540 371 0 style.deepcopy = SvTRUE(*svp);
0 371 style.deepcopy = SvTRUE(*svp);
0 0 style.deepcopy = SvTRUE(*svp);
2 369 style.deepcopy = SvTRUE(*svp);
2 0 style.deepcopy = SvTRUE(*svp);
0 2 style.deepcopy = SvTRUE(*svp);
0 369 style.deepcopy = SvTRUE(*svp);
0 0 style.deepcopy = SvTRUE(*svp);
0 0 style.deepcopy = SvTRUE(*svp);
0 0 style.deepcopy = SvTRUE(*svp);
0 0 style.deepcopy = SvTRUE(*svp);
0 0 style.deepcopy = SvTRUE(*svp);
369 0 style.deepcopy = SvTRUE(*svp);
369 0 style.deepcopy = SvTRUE(*svp);
363 6 style.deepcopy = SvTRUE(*svp);
0 363 style.deepcopy = SvTRUE(*svp);
0 0 style.deepcopy = SvTRUE(*svp);
6 363 style.deepcopy = SvTRUE(*svp);
0 0 style.deepcopy = SvTRUE(*svp);
1541 371 0 if ((svp = hv_fetchs(hv, "quotekeys", FALSE)))
1542 371 0 style.quotekeys = SvTRUE(*svp);
0 371 style.quotekeys = SvTRUE(*svp);
0 0 style.quotekeys = SvTRUE(*svp);
2 369 style.quotekeys = SvTRUE(*svp);
2 0 style.quotekeys = SvTRUE(*svp);
0 2 style.quotekeys = SvTRUE(*svp);
0 369 style.quotekeys = SvTRUE(*svp);
0 0 style.quotekeys = SvTRUE(*svp);
0 0 style.quotekeys = SvTRUE(*svp);
0 0 style.quotekeys = SvTRUE(*svp);
0 0 style.quotekeys = SvTRUE(*svp);
0 0 style.quotekeys = SvTRUE(*svp);
369 0 style.quotekeys = SvTRUE(*svp);
369 0 style.quotekeys = SvTRUE(*svp);
146 223 style.quotekeys = SvTRUE(*svp);
0 146 style.quotekeys = SvTRUE(*svp);
0 0 style.quotekeys = SvTRUE(*svp);
223 146 style.quotekeys = SvTRUE(*svp);
0 0 style.quotekeys = SvTRUE(*svp);
1543 371 0 if ((svp = hv_fetchs(hv, "trailingcomma", FALSE)))
1544 371 0 style.trailingcomma = SvTRUE(*svp);
0 371 style.trailingcomma = SvTRUE(*svp);
0 0 style.trailingcomma = SvTRUE(*svp);
0 371 style.trailingcomma = SvTRUE(*svp);
0 0 style.trailingcomma = SvTRUE(*svp);
0 0 style.trailingcomma = SvTRUE(*svp);
0 371 style.trailingcomma = SvTRUE(*svp);
0 0 style.trailingcomma = SvTRUE(*svp);
0 0 style.trailingcomma = SvTRUE(*svp);
0 0 style.trailingcomma = SvTRUE(*svp);
0 0 style.trailingcomma = SvTRUE(*svp);
0 0 style.trailingcomma = SvTRUE(*svp);
371 0 style.trailingcomma = SvTRUE(*svp);
371 0 style.trailingcomma = SvTRUE(*svp);
357 14 style.trailingcomma = SvTRUE(*svp);
0 357 style.trailingcomma = SvTRUE(*svp);
0 0 style.trailingcomma = SvTRUE(*svp);
14 357 style.trailingcomma = SvTRUE(*svp);
0 0 style.trailingcomma = SvTRUE(*svp);
1545 371 0 if ((svp = hv_fetchs(hv, "deparse", FALSE)))
1546 371 0 style.deparse = SvTRUE(*svp);
0 371 style.deparse = SvTRUE(*svp);
0 0 style.deparse = SvTRUE(*svp);
0 371 style.deparse = SvTRUE(*svp);
0 0 style.deparse = SvTRUE(*svp);
0 0 style.deparse = SvTRUE(*svp);
0 371 style.deparse = SvTRUE(*svp);
0 0 style.deparse = SvTRUE(*svp);
0 0 style.deparse = SvTRUE(*svp);
0 0 style.deparse = SvTRUE(*svp);
0 0 style.deparse = SvTRUE(*svp);
0 0 style.deparse = SvTRUE(*svp);
371 0 style.deparse = SvTRUE(*svp);
371 0 style.deparse = SvTRUE(*svp);
356 15 style.deparse = SvTRUE(*svp);
0 356 style.deparse = SvTRUE(*svp);
0 0 style.deparse = SvTRUE(*svp);
15 356 style.deparse = SvTRUE(*svp);
0 0 style.deparse = SvTRUE(*svp);
1547 371 0 if ((svp = hv_fetchs(hv, "bless", FALSE)))
1549 371 0 if ((svp = hv_fetchs(hv, "maxdepth", FALSE)))
1550 371 0 style.maxdepth = SvIV(*svp);
1551 371 0 if ((svp = hv_fetchs(hv, "maxrecurse", FALSE)))
1552 371 0 style.maxrecurse = SvIV(*svp);
1553 371 0 if ((svp = hv_fetchs(hv, "sortkeys", FALSE))) {
1555 371 0 if (! SvTRUE(sv))
0 371 if (! SvTRUE(sv))
0 0 if (! SvTRUE(sv))
2 369 if (! SvTRUE(sv))
2 0 if (! SvTRUE(sv))
0 2 if (! SvTRUE(sv))
0 369 if (! SvTRUE(sv))
0 0 if (! SvTRUE(sv))
0 0 if (! SvTRUE(sv))
0 0 if (! SvTRUE(sv))
0 0 if (! SvTRUE(sv))
0 0 if (! SvTRUE(sv))
359 10 if (! SvTRUE(sv))
359 0 if (! SvTRUE(sv))
175 184 if (! SvTRUE(sv))
0 175 if (! SvTRUE(sv))
0 0 if (! SvTRUE(sv))
175 184 if (! SvTRUE(sv))
0 10 if (! SvTRUE(sv))
1557 10 184 else if (SvROK(sv) && SvTYPE(SvRV(sv)) == SVt_PVCV)
10 0 else if (SvROK(sv) && SvTYPE(SvRV(sv)) == SVt_PVCV)
1566 371 0 if (todumpav)
1571 1128 371 for (i = 0; i <= imax; ++i) {
1575 1128 0 if ((svp = av_fetch(todumpav, i, FALSE)))
1579 1128 0 if ((svp = av_fetch(namesav, i, TRUE))) {
1581 862 266 if (SvOK(*svp) && !SvPOK(*svp))
862 0 if (SvOK(*svp) && !SvPOK(*svp))
0 862 if (SvOK(*svp) && !SvPOK(*svp))
4 262 if (SvOK(*svp) && !SvPOK(*svp))
1582 0 4 (void)SvPV_nolen_const(name);
1585 0 0 (void)SvOK_off(name);
1587 266 862 if (SvPOK(name)) {
1588 81 185 if ((SvPVX_const(name))[0] == '*') {
1589 79 2 if (SvROK(val)) {
1608 183 2 else if ((SvPVX_const(name))[0] != '$')
1615 0 862 nchars = my_snprintf(tmpbuf, sizeof(tmpbuf), "%" IVdf,
1620 250 878 if (style.indent >= 2 && !terse) {
246 4 if (style.indent >= 2 && !terse) {
1635 312 816 FREETMPS;
1639 1092 36 if (postlen >= 0 || !terse) {
1083 9 if (postlen >= 0 || !terse) {
1647 36 1092 if (postlen >= 0) {
1650 132 36 for (i = 0; i <= postlen; ++i) {
1653 132 0 if (svp && (elem = *svp)) {
132 0 if (svp && (elem = *svp)) {
1655 96 36 if (i < postlen) {
1666 241 887 if (gimme == G_ARRAY) {
1667 0 241 XPUSHs(retval);
1668 79 162 if (i < imax) /* not the last time thro ? */
1675 4 367 if (style.maxrecursed)
1682 205 162 if (gimme != G_ARRAY)
1683 0 205 XPUSHs(retval);
1695 6 0 SvMAGICAL(sv) && (mg = mg_find(sv, 'V'))
1697 6 1705 : &PL_sv_undef;