| 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); |
|
185
|
2 |
0 |
if(warnings == pWARN_NONE) |
|
188
|
2 |
0 |
if(warnings == pWARN_STD) |
|
191
|
0 |
2 |
else if(warnings == pWARN_ALL) |
|
207
|
1 |
13 |
if(op->op_next == old) |
|
210
|
0 |
14 |
switch(OP_CLASS(op)) { |
|
212
|
1 |
0 |
if(cLOGOPx(op)->op_other == old) |
|
217
|
0 |
2 |
if(cLISTOPx(op)->op_last == old) |
|
222
|
6 |
8 |
if(op->op_flags & OPf_KIDS) { |
|
224
|
6 |
6 |
for(kid = cUNOPx(op)->op_first; kid; kid = OpSIBLING(kid)) |
|
|
12 |
6 |
for(kid = cUNOPx(op)->op_first; kid; kid = OpSIBLING(kid)) |
|
247
|
1 |
1 |
OP *parent = OpHAS_SIBLING(op) ? NULL : op->op_sibparent; |
|
255
|
1 |
1 |
if(parent) |
|
276
|
112 |
146 |
if(op->op_flags & OPf_KIDS) { |
|
278
|
222 |
112 |
for(kid = cUNOPx(op)->op_first; kid; kid = next) { |
|
280
|
110 |
112 |
next = OpSIBLING(kid); |
|
284
|
2 |
220 |
if(newkid != kid) { |
|
287
|
2 |
0 |
if(prev) { |
|
293
|
1 |
1 |
if(next) |
|
317
|
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)) |
|
356
|
38 |
0 |
logop->op_other = LINKLIST(other); |
|
358
|
38 |
0 |
logop->op_next = LINKLIST(first); |
|
380
|
2 |
3 |
if(!SvROK(sv) || !SvOBJECT(SvRV(sv))) |
|
|
2 |
0 |
if(!SvROK(sv) || !SvOBJECT(SvRV(sv))) |
|
401
|
3 |
2 |
SETs(boolSV(sv_isa_sv(left, right))); |
|
415
|
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); |
|
416
|
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); |
|
422
|
41 |
46 |
while(ncatches--) { |
|
424
|
37 |
4 |
PADOFFSET catchvar = has_catchvar ? args[argi++]->padix : 0; |
|
425
|
37 |
4 |
int catchtype = has_catchvar ? args[argi++]->i : -1; |
|
443
|
2 |
0 |
if(type->op_type == OP_CONST) |
|
456
|
1 |
0 |
if(regexp->op_type != OP_MATCH || cPMOPx(regexp)->op_first) |
|
|
0 |
1 |
if(regexp->op_type != OP_MATCH || cPMOPx(regexp)->op_first) |
|
475
|
3 |
38 |
if(condop && !warned && |
|
|
3 |
0 |
if(condop && !warned && |
|
476
|
0 |
3 |
(!hints || !hv_fetchs(hints, "Syntax::Keyword::Try/experimental(typed)", 0))) { |
|
485
|
1 |
40 |
if(require_var && !has_catchvar) |
|
488
|
0 |
40 |
if(catch) |
|
492
|
37 |
3 |
if(catchvar) { |
|
498
|
3 |
37 |
if(condop) { |
|
499
|
2 |
1 |
if(!condcatch) |
|
506
|
34 |
3 |
else if(assignop) { |
|
514
|
2 |
44 |
if(condcatch) { |
|
517
|
1 |
1 |
if(!catch) |
|
523
|
0 |
2 |
for(i = AvFILL(condcatch)-1; i >= 0; i -= 2) { |
|
|
3 |
2 |
for(i = AvFILL(condcatch)-1; i >= 0; i -= 2) { |
|
533
|
0 |
46 |
if(require_catch && !catch) |
|
536
|
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); |
|
539
|
11 |
35 |
CV *finally = has_finally ? args[argi++]->cv : NULL; |
|
541
|
1 |
45 |
if(no_finally && finally) |
|
544
|
0 |
45 |
if(!catch && !finally) { |
|
546
|
0 |
0 |
croak(no_finally |
|
553
|
38 |
7 |
if(catch) { |
|
560
|
10 |
35 |
if(finally) { |