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) { |