| line |
true |
false |
branch |
|
45
|
23 |
0 |
for (cxix = cxstack_ix; cxix; cxix--) { |
|
46
|
17 |
6 |
if(CxTYPE(&cxstack[cxix]) == CXt_SUB) |
|
49
|
9 |
8 |
if(CxTYPE(&cxstack[cxix]) == CXt_EVAL && CxTRYBLOCK(&cxstack[cxix])) { |
|
57
|
8 |
1 |
if(retop->op_type == OP_CUSTOM && retop->op_ppaddr == &pp_catch && |
|
|
8 |
0 |
if(retop->op_type == OP_CUSTOM && retop->op_ppaddr == &pp_catch && |
|
|
8 |
0 |
if(retop->op_type == OP_CUSTOM && retop->op_ppaddr == &pp_catch && |
|
58
|
8 |
0 |
(leave = cLOGOPx(retop)->op_first) && leave->op_type == OP_LEAVETRY && |
|
|
8 |
0 |
(leave = cLOGOPx(retop)->op_first) && leave->op_type == OP_LEAVETRY && |
|
59
|
8 |
0 |
(enter = cLOGOPx(leave)->op_first) && enter->op_type == OP_ENTERTRY && |
|
|
8 |
0 |
(enter = cLOGOPx(leave)->op_first) && enter->op_type == OP_ENTERTRY && |
|
67
|
0 |
7 |
if(!cxix) |
|
84
|
5 |
0 |
retval = (MARK == SP) ? &PL_sv_undef : TOPs; |
|
100
|
0 |
1 |
Copy(retvals, AvARRAY(retav), retcount, SV *); |
|
101
|
3 |
1 |
for(i = 0; i < retcount; i++) |
|
113
|
0 |
1 |
PUSHMARK(SP); |
|
119
|
0 |
5 |
PUSHMARK(SP); |
|
120
|
0 |
5 |
XPUSHs(retval); |
|
127
|
0 |
1 |
PUSHMARK(SP); |
|
130
|
1 |
0 |
EXTEND(SP, retcount); |
|
|
0 |
1 |
EXTEND(SP, retcount); |
|
131
|
0 |
1 |
Copy(AvARRAY(retav), SP+1, retcount, SV *); |
|
152
|
0 |
8 |
PUSHMARK(SP); |
|
194
|
2 |
0 |
if(warnings == pWARN_NONE) |
|
197
|
2 |
0 |
if(warnings == pWARN_STD) |
|
200
|
0 |
2 |
else if(warnings == pWARN_ALL) |
|
218
|
1 |
13 |
if(op->op_next == old) |
|
221
|
0 |
14 |
switch(OP_CLASS(op)) { |
|
223
|
1 |
0 |
if(cLOGOPx(op)->op_other == old) |
|
228
|
0 |
2 |
if(cLISTOPx(op)->op_last == old) |
|
233
|
6 |
8 |
if(op->op_flags & OPf_KIDS) { |
|
235
|
6 |
6 |
for(kid = cUNOPx(op)->op_first; kid; kid = OpSIBLING(kid)) |
|
|
12 |
6 |
for(kid = cUNOPx(op)->op_first; kid; kid = OpSIBLING(kid)) |
|
258
|
1 |
1 |
OP *parent = OpHAS_SIBLING(op) ? NULL : op->op_sibparent; |
|
266
|
1 |
1 |
if(parent) |
|
287
|
112 |
146 |
if(op->op_flags & OPf_KIDS) { |
|
289
|
222 |
112 |
for(kid = cUNOPx(op)->op_first; kid; kid = next) { |
|
291
|
110 |
112 |
next = OpSIBLING(kid); |
|
295
|
2 |
220 |
if(newkid != kid) { |
|
298
|
2 |
0 |
if(prev) { |
|
304
|
1 |
1 |
if(next) |
|
328
|
33 |
0 |
if(SvROK(ERRSV) || SvTRUE(ERRSV)) |
|
|
29 |
4 |
if(SvROK(ERRSV) || SvTRUE(ERRSV)) |
|
|
29 |
0 |
if(SvROK(ERRSV) || SvTRUE(ERRSV)) |
|
|
29 |
0 |
if(SvROK(ERRSV) || SvTRUE(ERRSV)) |
|
|
29 |
0 |
if(SvROK(ERRSV) || SvTRUE(ERRSV)) |
|
|
0 |
29 |
if(SvROK(ERRSV) || SvTRUE(ERRSV)) |
|
|
0 |
0 |
if(SvROK(ERRSV) || SvTRUE(ERRSV)) |
|
|
0 |
0 |
if(SvROK(ERRSV) || SvTRUE(ERRSV)) |
|
|
29 |
0 |
if(SvROK(ERRSV) || SvTRUE(ERRSV)) |
|
|
0 |
29 |
if(SvROK(ERRSV) || SvTRUE(ERRSV)) |
|
|
0 |
0 |
if(SvROK(ERRSV) || SvTRUE(ERRSV)) |
|
|
0 |
0 |
if(SvROK(ERRSV) || SvTRUE(ERRSV)) |
|
|
0 |
0 |
if(SvROK(ERRSV) || SvTRUE(ERRSV)) |
|
|
0 |
0 |
if(SvROK(ERRSV) || SvTRUE(ERRSV)) |
|
|
29 |
0 |
if(SvROK(ERRSV) || SvTRUE(ERRSV)) |
|
|
29 |
0 |
if(SvROK(ERRSV) || SvTRUE(ERRSV)) |
|
|
29 |
0 |
if(SvROK(ERRSV) || SvTRUE(ERRSV)) |
|
|
29 |
0 |
if(SvROK(ERRSV) || SvTRUE(ERRSV)) |
|
|
29 |
0 |
if(SvROK(ERRSV) || SvTRUE(ERRSV)) |
|
|
11 |
18 |
if(SvROK(ERRSV) || SvTRUE(ERRSV)) |
|
|
11 |
0 |
if(SvROK(ERRSV) || SvTRUE(ERRSV)) |
|
|
0 |
11 |
if(SvROK(ERRSV) || SvTRUE(ERRSV)) |
|
|
0 |
0 |
if(SvROK(ERRSV) || SvTRUE(ERRSV)) |
|
|
0 |
0 |
if(SvROK(ERRSV) || SvTRUE(ERRSV)) |
|
|
18 |
11 |
if(SvROK(ERRSV) || SvTRUE(ERRSV)) |
|
|
0 |
0 |
if(SvROK(ERRSV) || SvTRUE(ERRSV)) |
|
|
0 |
0 |
if(SvROK(ERRSV) || SvTRUE(ERRSV)) |
|
|
0 |
0 |
if(SvROK(ERRSV) || SvTRUE(ERRSV)) |
|
|
0 |
0 |
if(SvROK(ERRSV) || SvTRUE(ERRSV)) |
|
|
0 |
0 |
if(SvROK(ERRSV) || SvTRUE(ERRSV)) |
|
|
0 |
0 |
if(SvROK(ERRSV) || SvTRUE(ERRSV)) |
|
|
0 |
0 |
if(SvROK(ERRSV) || SvTRUE(ERRSV)) |
|
|
0 |
0 |
if(SvROK(ERRSV) || SvTRUE(ERRSV)) |
|
|
0 |
0 |
if(SvROK(ERRSV) || SvTRUE(ERRSV)) |
|
|
0 |
0 |
if(SvROK(ERRSV) || SvTRUE(ERRSV)) |
|
|
0 |
0 |
if(SvROK(ERRSV) || SvTRUE(ERRSV)) |
|
|
0 |
0 |
if(SvROK(ERRSV) || SvTRUE(ERRSV)) |
|
|
0 |
0 |
if(SvROK(ERRSV) || SvTRUE(ERRSV)) |
|
367
|
38 |
0 |
logop->op_other = LINKLIST(other); |
|
369
|
38 |
0 |
logop->op_next = LINKLIST(first); |
|
391
|
2 |
3 |
if(!SvROK(sv) || !SvOBJECT(SvRV(sv))) |
|
|
2 |
0 |
if(!SvROK(sv) || !SvOBJECT(SvRV(sv))) |
|
412
|
3 |
2 |
SETs(boolSV(sv_isa_sv(left, right))); |
|
426
|
47 |
0 |
bool require_catch = hints && hv_fetchs(hints, "Syntax::Keyword::Try/require_catch", 0); |
|
|
47 |
0 |
bool require_catch = hints && hv_fetchs(hints, "Syntax::Keyword::Try/require_catch", 0); |
|
427
|
47 |
0 |
bool require_var = hints && hv_fetchs(hints, "Syntax::Keyword::Try/require_var", 0); |
|
|
46 |
1 |
bool require_var = hints && hv_fetchs(hints, "Syntax::Keyword::Try/require_var", 0); |
|
433
|
41 |
46 |
while(ncatches--) { |
|
435
|
37 |
4 |
PADOFFSET catchvar = has_catchvar ? args[argi++]->padix : 0; |
|
436
|
37 |
4 |
int catchtype = has_catchvar ? args[argi++]->i : -1; |
|
454
|
2 |
0 |
if(type->op_type == OP_CONST) |
|
467
|
1 |
0 |
if(regexp->op_type != OP_MATCH || cPMOPx(regexp)->op_first) |
|
|
0 |
1 |
if(regexp->op_type != OP_MATCH || cPMOPx(regexp)->op_first) |
|
486
|
3 |
38 |
if(condop && !warned && |
|
|
3 |
0 |
if(condop && !warned && |
|
487
|
0 |
3 |
(!hints || !hv_fetchs(hints, "Syntax::Keyword::Try/experimental(typed)", 0))) { |
|
496
|
1 |
40 |
if(require_var && !has_catchvar) |
|
499
|
0 |
40 |
if(catch) |
|
503
|
37 |
3 |
if(catchvar) { |
|
509
|
3 |
37 |
if(condop) { |
|
510
|
2 |
1 |
if(!condcatch) |
|
517
|
34 |
3 |
else if(assignop) { |
|
525
|
2 |
44 |
if(condcatch) { |
|
528
|
1 |
1 |
if(!catch) |
|
534
|
0 |
2 |
for(i = AvFILL(condcatch)-1; i >= 0; i -= 2) { |
|
|
3 |
2 |
for(i = AvFILL(condcatch)-1; i >= 0; i -= 2) { |
|
544
|
0 |
46 |
if(require_catch && !catch) |
|
547
|
46 |
0 |
bool no_finally = hints && hv_fetchs(hints, "Syntax::Keyword::Try/no_finally", 0); |
|
|
45 |
1 |
bool no_finally = hints && hv_fetchs(hints, "Syntax::Keyword::Try/no_finally", 0); |
|
550
|
11 |
35 |
CV *finally = has_finally ? args[argi++]->cv : NULL; |
|
552
|
1 |
45 |
if(no_finally && finally) |
|
555
|
0 |
45 |
if(!catch && !finally) { |
|
557
|
0 |
0 |
croak(no_finally |
|
564
|
38 |
7 |
if(catch) { |
|
571
|
10 |
35 |
if(finally) { |