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
|
1431 |
21 |
if (!sv) |
432
|
1172 |
280 |
if (n > 0) { |
433
|
1172 |
0 |
SvGROW(sv, len*n + SvCUR(sv) + 1); |
|
32 |
1140 |
SvGROW(sv, len*n + SvCUR(sv) + 1); |
434
|
267 |
905 |
if (len == 1) { |
438
|
1848 |
267 |
while (n > 0) |
442
|
1662 |
905 |
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 |
2611 |
if (!val) |
678
|
1 |
2610 |
if (style->maxrecursed) |
685
|
2610 |
0 |
if (SvTYPE(retval) >= SVt_PV && (SvLEN(retval) - SvCUR(retval)) < 42) { |
|
2143 |
467 |
if (SvTYPE(retval) >= SVt_PV && (SvLEN(retval) - SvCUR(retval)) < 42) { |
691
|
0 |
2610 |
if (SvGMAGICAL(val)) |
693
|
1084 |
1526 |
if (SvROK(val)) { |
697
|
70 |
1014 |
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 |
1014 |
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
|
1084 |
0 |
if (namelen) { |
724
|
323 |
761 |
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
|
737 |
24 |
if (name[0] == '@' || name[0] == '%') { |
|
11 |
726 |
if (name[0] == '@' || name[0] == '%') { |
775
|
11 |
715 |
else if (realtype == SVt_PVCV && name[0] == '*') { |
|
2 |
9 |
else if (realtype == SVt_PVCV && name[0] == '*') { |
797
|
70 |
691 |
if (realpack && realtype == SVt_REGEXP) |
|
54 |
16 |
if (realpack && realtype == SVt_REGEXP) |
801
|
53 |
1 |
if (strEQ(realpack, "Regexp")) |
812
|
568 |
193 |
if (!style->purity && style->maxdepth > 0 && level >= style->maxdepth) { |
|
18 |
550 |
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
|
750 |
5 |
if (style->maxrecurse > 0 && level >= style->maxrecurse) { |
|
4 |
746 |
if (style->maxrecurse > 0 && level >= style->maxrecurse) { |
825
|
70 |
685 |
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 |
701 |
if (is_regex) { |
843
|
79 |
622 |
else if ( |
853
|
0 |
79 |
if (realpack) { /* blessed */ |
865
|
54 |
568 |
else if (realtype == SVt_PVGV) { /* glob ref */ |
874
|
324 |
244 |
else if (realtype == SVt_PVAV) { |
885
|
24 |
300 |
if (name[0] == '@') { |
895
|
300 |
0 |
if ((namelen > 0 |
896
|
279 |
21 |
&& name[namelen-1] != ']' && name[namelen-1] != '}') |
|
161 |
118 |
&& 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 |
320 |
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 |
324 |
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 |
115 |
if (ixmax >= 0) { |
952
|
24 |
300 |
if (name[0] == '@') |
957
|
233 |
11 |
else if (realtype == SVt_PVHV) { |
966
|
11 |
222 |
if (name[0] == '%') { |
973
|
222 |
0 |
if ((namelen > 0 |
974
|
156 |
66 |
&& name[namelen-1] != ']' && name[namelen-1] != '}') |
|
38 |
118 |
&& 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 |
209 |
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
|
118 |
115 |
if (style->sortkeys) { |
995
|
103 |
15 |
if (style->sortkeys == &PL_sv_yes) { |
998
|
287 |
103 |
while ((entry = hv_iternext((HV*)ival))) { |
1005
|
103 |
0 |
if (IN_LC(LC_COLLATE)) |
|
0 |
103 |
if (IN_LC(LC_COLLATE)) |
|
0 |
0 |
if (IN_LC(LC_COLLATE)) |
|
103 |
0 |
if (IN_LC(LC_COLLATE)) |
|
103 |
0 |
if (IN_LC(LC_COLLATE)) |
|
103 |
0 |
if (IN_LC(LC_COLLATE)) |
|
0 |
103 |
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
|
117 |
1 |
if (keys) |
1054
|
584 |
371 |
if (style->sortkeys) { |
1055
|
583 |
1 |
if (!(keys && (SSize_t)i <= av_len(keys))) break; |
|
466 |
117 |
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 |
12 |
if (i) { |
1160
|
6 |
215 |
if (style->trailingcomma && style->indent >= 1) |
|
4 |
2 |
if (style->trailingcomma && style->indent >= 1) |
1166
|
11 |
222 |
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 |
685 |
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
|
2273 |
0 |
if (idlen) { |
1423
|
90 |
2183 |
if (style->deepcopy) |
1425
|
2183 |
0 |
else if (namelen && seenentry) { |
|
2167 |
16 |
else if (namelen && seenentry) { |
1459
|
155 |
218 |
I32 gimme = GIMME_V; |
1461
|
153 |
220 |
if (!SvROK(href)) { /* call new to get an object first */ |
1462
|
0 |
153 |
if (items < 2) |
1468
|
0 |
153 |
PUSHMARK(sp); |
1469
|
0 |
153 |
EXTEND(SP, 3); /* 3 == max of all branches below */ |
1472
|
56 |
97 |
if (items >= 3) |
1477
|
153 |
0 |
if (i) |
1481
|
153 |
0 |
FREETMPS; |
1483
|
153 |
0 |
if (i) |
1500
|
373 |
0 |
if (SvROK(href) |
1501
|
373 |
0 |
&& (hv = (HV*)SvRV((SV*)href)) |
1502
|
373 |
0 |
&& SvTYPE(hv) == SVt_PVHV) { |
1504
|
373 |
0 |
if ((svp = hv_fetchs(hv, "seen", FALSE)) && SvROK(*svp)) |
|
373 |
0 |
if ((svp = hv_fetchs(hv, "seen", FALSE)) && SvROK(*svp)) |
1508
|
373 |
0 |
if ((svp = hv_fetchs(hv, "noseen", FALSE))) |
1509
|
2 |
371 |
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); |
|
371 |
0 |
style.use_sparse_seen_hash = (SvOK(*svp) && SvIV(*svp) != 0); |
|
6 |
365 |
style.use_sparse_seen_hash = (SvOK(*svp) && SvIV(*svp) != 0); |
|
0 |
0 |
style.use_sparse_seen_hash = (SvOK(*svp) && SvIV(*svp) != 0); |
1510
|
373 |
0 |
if ((svp = hv_fetchs(hv, "todump", FALSE)) && SvROK(*svp)) |
|
373 |
0 |
if ((svp = hv_fetchs(hv, "todump", FALSE)) && SvROK(*svp)) |
1512
|
373 |
0 |
if ((svp = hv_fetchs(hv, "names", FALSE)) && SvROK(*svp)) |
|
373 |
0 |
if ((svp = hv_fetchs(hv, "names", FALSE)) && SvROK(*svp)) |
1514
|
373 |
0 |
if ((svp = hv_fetchs(hv, "indent", FALSE))) |
1515
|
373 |
0 |
style.indent = SvIV(*svp); |
1516
|
373 |
0 |
if ((svp = hv_fetchs(hv, "purity", FALSE))) |
1517
|
373 |
0 |
style.purity = SvIV(*svp); |
1518
|
373 |
0 |
if ((svp = hv_fetchs(hv, "terse", FALSE))) |
1519
|
373 |
0 |
terse = SvTRUE(*svp); |
|
0 |
373 |
terse = SvTRUE(*svp); |
|
0 |
0 |
terse = SvTRUE(*svp); |
|
1 |
372 |
terse = SvTRUE(*svp); |
|
1 |
0 |
terse = SvTRUE(*svp); |
|
0 |
1 |
terse = SvTRUE(*svp); |
|
0 |
372 |
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); |
|
372 |
0 |
terse = SvTRUE(*svp); |
|
372 |
0 |
terse = SvTRUE(*svp); |
|
363 |
9 |
terse = SvTRUE(*svp); |
|
0 |
363 |
terse = SvTRUE(*svp); |
|
0 |
0 |
terse = SvTRUE(*svp); |
|
9 |
363 |
terse = SvTRUE(*svp); |
|
0 |
0 |
terse = SvTRUE(*svp); |
1520
|
373 |
0 |
if ((svp = hv_fetchs(hv, "useqq", FALSE))) |
1521
|
373 |
0 |
style.useqq = SvTRUE(*svp); |
|
0 |
373 |
style.useqq = SvTRUE(*svp); |
|
0 |
0 |
style.useqq = SvTRUE(*svp); |
|
1 |
372 |
style.useqq = SvTRUE(*svp); |
|
1 |
0 |
style.useqq = SvTRUE(*svp); |
|
0 |
1 |
style.useqq = SvTRUE(*svp); |
|
1 |
371 |
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); |
|
371 |
0 |
style.useqq = SvTRUE(*svp); |
|
371 |
0 |
style.useqq = SvTRUE(*svp); |
|
333 |
38 |
style.useqq = SvTRUE(*svp); |
|
0 |
333 |
style.useqq = SvTRUE(*svp); |
|
0 |
0 |
style.useqq = SvTRUE(*svp); |
|
38 |
333 |
style.useqq = SvTRUE(*svp); |
|
0 |
0 |
style.useqq = SvTRUE(*svp); |
1522
|
373 |
0 |
if ((svp = hv_fetchs(hv, "pad", FALSE))) |
1524
|
373 |
0 |
if ((svp = hv_fetchs(hv, "xpad", FALSE))) |
1526
|
373 |
0 |
if ((svp = hv_fetchs(hv, "apad", FALSE))) |
1528
|
373 |
0 |
if ((svp = hv_fetchs(hv, "sep", FALSE))) |
1530
|
373 |
0 |
if ((svp = hv_fetchs(hv, "pair", FALSE))) |
1532
|
373 |
0 |
if ((svp = hv_fetchs(hv, "varname", FALSE))) |
1534
|
373 |
0 |
if ((svp = hv_fetchs(hv, "freezer", FALSE))) |
1536
|
373 |
0 |
if ((svp = hv_fetchs(hv, "toaster", FALSE))) |
1538
|
373 |
0 |
if ((svp = hv_fetchs(hv, "deepcopy", FALSE))) |
1539
|
373 |
0 |
style.deepcopy = SvTRUE(*svp); |
|
0 |
373 |
style.deepcopy = SvTRUE(*svp); |
|
0 |
0 |
style.deepcopy = SvTRUE(*svp); |
|
2 |
371 |
style.deepcopy = SvTRUE(*svp); |
|
2 |
0 |
style.deepcopy = SvTRUE(*svp); |
|
0 |
2 |
style.deepcopy = SvTRUE(*svp); |
|
0 |
371 |
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); |
|
371 |
0 |
style.deepcopy = SvTRUE(*svp); |
|
371 |
0 |
style.deepcopy = SvTRUE(*svp); |
|
365 |
6 |
style.deepcopy = SvTRUE(*svp); |
|
0 |
365 |
style.deepcopy = SvTRUE(*svp); |
|
0 |
0 |
style.deepcopy = SvTRUE(*svp); |
|
6 |
365 |
style.deepcopy = SvTRUE(*svp); |
|
0 |
0 |
style.deepcopy = SvTRUE(*svp); |
1540
|
373 |
0 |
if ((svp = hv_fetchs(hv, "quotekeys", FALSE))) |
1541
|
373 |
0 |
style.quotekeys = SvTRUE(*svp); |
|
0 |
373 |
style.quotekeys = SvTRUE(*svp); |
|
0 |
0 |
style.quotekeys = SvTRUE(*svp); |
|
2 |
371 |
style.quotekeys = SvTRUE(*svp); |
|
2 |
0 |
style.quotekeys = SvTRUE(*svp); |
|
0 |
2 |
style.quotekeys = SvTRUE(*svp); |
|
0 |
371 |
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); |
|
371 |
0 |
style.quotekeys = SvTRUE(*svp); |
|
371 |
0 |
style.quotekeys = SvTRUE(*svp); |
|
148 |
223 |
style.quotekeys = SvTRUE(*svp); |
|
0 |
148 |
style.quotekeys = SvTRUE(*svp); |
|
0 |
0 |
style.quotekeys = SvTRUE(*svp); |
|
223 |
148 |
style.quotekeys = SvTRUE(*svp); |
|
0 |
0 |
style.quotekeys = SvTRUE(*svp); |
1542
|
373 |
0 |
if ((svp = hv_fetchs(hv, "trailingcomma", FALSE))) |
1543
|
373 |
0 |
style.trailingcomma = SvTRUE(*svp); |
|
0 |
373 |
style.trailingcomma = SvTRUE(*svp); |
|
0 |
0 |
style.trailingcomma = SvTRUE(*svp); |
|
0 |
373 |
style.trailingcomma = SvTRUE(*svp); |
|
0 |
0 |
style.trailingcomma = SvTRUE(*svp); |
|
0 |
0 |
style.trailingcomma = SvTRUE(*svp); |
|
0 |
373 |
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); |
|
373 |
0 |
style.trailingcomma = SvTRUE(*svp); |
|
373 |
0 |
style.trailingcomma = SvTRUE(*svp); |
|
359 |
14 |
style.trailingcomma = SvTRUE(*svp); |
|
0 |
359 |
style.trailingcomma = SvTRUE(*svp); |
|
0 |
0 |
style.trailingcomma = SvTRUE(*svp); |
|
14 |
359 |
style.trailingcomma = SvTRUE(*svp); |
|
0 |
0 |
style.trailingcomma = SvTRUE(*svp); |
1544
|
373 |
0 |
if ((svp = hv_fetchs(hv, "deparse", FALSE))) |
1545
|
373 |
0 |
style.deparse = SvTRUE(*svp); |
|
0 |
373 |
style.deparse = SvTRUE(*svp); |
|
0 |
0 |
style.deparse = SvTRUE(*svp); |
|
0 |
373 |
style.deparse = SvTRUE(*svp); |
|
0 |
0 |
style.deparse = SvTRUE(*svp); |
|
0 |
0 |
style.deparse = SvTRUE(*svp); |
|
0 |
373 |
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); |
|
373 |
0 |
style.deparse = SvTRUE(*svp); |
|
373 |
0 |
style.deparse = SvTRUE(*svp); |
|
358 |
15 |
style.deparse = SvTRUE(*svp); |
|
0 |
358 |
style.deparse = SvTRUE(*svp); |
|
0 |
0 |
style.deparse = SvTRUE(*svp); |
|
15 |
358 |
style.deparse = SvTRUE(*svp); |
|
0 |
0 |
style.deparse = SvTRUE(*svp); |
1546
|
373 |
0 |
if ((svp = hv_fetchs(hv, "bless", FALSE))) |
1548
|
373 |
0 |
if ((svp = hv_fetchs(hv, "maxdepth", FALSE))) |
1549
|
373 |
0 |
style.maxdepth = SvIV(*svp); |
1550
|
373 |
0 |
if ((svp = hv_fetchs(hv, "maxrecurse", FALSE))) |
1551
|
373 |
0 |
style.maxrecurse = SvIV(*svp); |
1552
|
373 |
0 |
if ((svp = hv_fetchs(hv, "sortkeys", FALSE))) { |
1554
|
373 |
0 |
if (! SvTRUE(sv)) |
|
0 |
373 |
if (! SvTRUE(sv)) |
|
0 |
0 |
if (! SvTRUE(sv)) |
|
2 |
371 |
if (! SvTRUE(sv)) |
|
2 |
0 |
if (! SvTRUE(sv)) |
|
0 |
2 |
if (! SvTRUE(sv)) |
|
0 |
371 |
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)) |
|
361 |
10 |
if (! SvTRUE(sv)) |
|
361 |
0 |
if (! SvTRUE(sv)) |
|
175 |
186 |
if (! SvTRUE(sv)) |
|
0 |
175 |
if (! SvTRUE(sv)) |
|
0 |
0 |
if (! SvTRUE(sv)) |
|
175 |
186 |
if (! SvTRUE(sv)) |
|
0 |
10 |
if (! SvTRUE(sv)) |
1556
|
10 |
186 |
else if (SvROK(sv) && SvTYPE(SvRV(sv)) == SVt_PVCV) |
|
10 |
0 |
else if (SvROK(sv) && SvTYPE(SvRV(sv)) == SVt_PVCV) |
1565
|
373 |
0 |
if (todumpav) |
1570
|
1132 |
373 |
for (i = 0; i <= imax; ++i) { |
1576
|
1132 |
0 |
if ((svp = av_fetch(todumpav, i, FALSE))) |
1580
|
1132 |
0 |
if ((svp = av_fetch(namesav, i, TRUE))) { |
1581
|
862 |
270 |
if (SvOK(*svp)) { |
|
862 |
0 |
if (SvOK(*svp)) { |
|
0 |
862 |
if (SvOK(*svp)) { |
1583
|
262 |
8 |
name = SvPV(name_sv, name_len); |
1593
|
270 |
862 |
if (name) { |
1594
|
81 |
189 |
if (*name == '*') { |
1595
|
79 |
2 |
if (SvROK(val)) { |
1614
|
187 |
2 |
else if (*name != '$') { |
1616
|
187 |
0 |
name = SvPV(name_sv, name_len); |
1621
|
862 |
0 |
name = SvPV(name_sv, name_len); |
1624
|
250 |
882 |
if (style.indent >= 2 && !terse) { |
|
246 |
4 |
if (style.indent >= 2 && !terse) { |
1639
|
316 |
816 |
FREETMPS; |
1643
|
1096 |
36 |
if (postlen >= 0 || !terse) { |
|
1087 |
9 |
if (postlen >= 0 || !terse) { |
1651
|
36 |
1096 |
if (postlen >= 0) { |
1654
|
132 |
36 |
for (i = 0; i <= postlen; ++i) { |
1657
|
132 |
0 |
if (svp && (elem = *svp)) { |
|
132 |
0 |
if (svp && (elem = *svp)) { |
1659
|
96 |
36 |
if (i < postlen) { |
1670
|
241 |
891 |
if (gimme == G_ARRAY) { |
1671
|
0 |
241 |
XPUSHs(retval); |
1672
|
79 |
162 |
if (i < imax) /* not the last time thro ? */ |
1679
|
4 |
369 |
if (style.maxrecursed) |
1686
|
207 |
162 |
if (gimme != G_ARRAY) |
1687
|
0 |
207 |
XPUSHs(retval); |
1699
|
6 |
0 |
SvMAGICAL(sv) && (mg = mg_find(sv, 'V')) |
1701
|
6 |
1705 |
: &PL_sv_undef; |