line |
true |
false |
branch |
66
|
0 |
0 |
sv_catpvf(message, "%s at %s line %" IVdf, |
69
|
0 |
0 |
if(context) |
70
|
0 |
0 |
sv_catpvf(message, ", near \"%" UTF8f "\"", |
|
0 |
0 |
sv_catpvf(message, ", near \"%" UTF8f "\"", |
71
|
0 |
0 |
UTF8fARG(UTF, contlen, context)); |
|
0 |
0 |
UTF8fARG(UTF, contlen, context)); |
|
0 |
0 |
UTF8fARG(UTF, contlen, context)); |
98
|
1 |
0 |
if (first) |
100
|
1 |
0 |
while (kid && OpHAS_SIBLING(kid)) |
|
0 |
1 |
while (kid && OpHAS_SIBLING(kid)) |
101
|
0 |
0 |
kid = OpSIBLING(kid); |
102
|
1 |
0 |
if (kid) |
116
|
2 |
0 |
if (!cv) |
120
|
2 |
0 |
if (!gv) |
140
|
12 |
3 |
if(value) { |
141
|
0 |
12 |
EXTEND(SP, 1); |
146
|
1 |
2 |
if(cLOGOP->op_other) |
157
|
6 |
1 |
if(!hv_iterinit(slurpy_hv)) |
167
|
1 |
0 |
sv_catpvf(keynames, "'%" SVf "'", SVfARG(HeSVKEY_force(he))); |
|
0 |
1 |
sv_catpvf(keynames, "'%" SVf "'", SVfARG(HeSVKEY_force(he))); |
|
1 |
0 |
sv_catpvf(keynames, "'%" SVf "'", SVfARG(HeSVKEY_force(he))); |
171
|
0 |
1 |
while((he = hv_iternext(slurpy_hv))) |
172
|
0 |
0 |
sv_catpvf(keynames, ", '%" SVf "'", SVfARG(HeSVKEY_force(he))), nkeys++; |
|
0 |
0 |
sv_catpvf(keynames, ", '%" SVf "'", SVfARG(HeSVKEY_force(he))), nkeys++; |
|
0 |
0 |
sv_catpvf(keynames, ", '%" SVf "'", SVfARG(HeSVKEY_force(he))), nkeys++; |
174
|
1 |
0 |
croak("Unrecognised %s %" SVf " for subroutine %" SVf, |
204
|
4 |
0 |
for(reg = sigattrs; reg; reg = reg->next) { |
205
|
0 |
4 |
if(!strEQ(name, reg->name)) |
208
|
4 |
0 |
if(reg->funcs->permit_hintkey && |
|
4 |
0 |
if(reg->funcs->permit_hintkey && |
209
|
0 |
4 |
(!hints || !hv_fetch(hints, reg->funcs->permit_hintkey, reg->permit_hintkeylen, 0))) |
230
|
0 |
0 |
if(p->funcs->free) |
245
|
8 |
13 |
if(ctx->named_varops) |
262
|
17 |
14 |
if((flags & PARSE_SUBSIGNATURE_NAMED_PARAMS) && c == ':') { |
|
11 |
6 |
if((flags & PARSE_SUBSIGNATURE_NAMED_PARAMS) && c == ':') { |
285
|
31 |
0 |
if(isIDFIRST_uni(lex_peek_unichar(0))) { |
|
31 |
0 |
if(isIDFIRST_uni(lex_peek_unichar(0))) { |
|
1 |
30 |
if(isIDFIRST_uni(lex_peek_unichar(0))) { |
|
30 |
1 |
if(isIDFIRST_uni(lex_peek_unichar(0))) { |
287
|
46 |
0 |
while(isALNUM_uni(lex_peek_unichar(0))) |
|
46 |
0 |
while(isALNUM_uni(lex_peek_unichar(0))) |
|
30 |
16 |
while(isALNUM_uni(lex_peek_unichar(0))) |
|
16 |
30 |
while(isALNUM_uni(lex_peek_unichar(0))) |
293
|
11 |
19 |
if(paramctx.is_named) { |
294
|
8 |
3 |
if(!ctx->named_varops) |
315
|
8 |
23 |
if(permit_attributes && lex_peek_unichar(0) == ':') { |
|
4 |
4 |
if(permit_attributes && lex_peek_unichar(0) == ':') { |
321
|
4 |
4 |
while(lex_scan_attrval_into(attrname, attrval)) { |
324
|
4 |
0 |
SignatureAttributeRegistration *reg = find_registered_attribute(SvPV_nolen(attrname)); |
327
|
4 |
0 |
if(reg->funcs->apply) |
330
|
4 |
0 |
if(attrdata || reg->funcs->post_defop) { |
|
0 |
4 |
if(attrdata || reg->funcs->post_defop) { |
331
|
0 |
0 |
if(!pending) { |
344
|
0 |
4 |
if(lex_peek_unichar(0) == ':') { |
351
|
27 |
4 |
if(c == '$') { |
354
|
11 |
16 |
if(paramctx.is_named) { |
359
|
0 |
16 |
if(parser->sig_slurpy) |
365
|
3 |
24 |
if(lex_peek_unichar(0) == '=') { |
369
|
1 |
2 |
if(!paramctx.is_named) |
374
|
2 |
1 |
if(paramctx.is_named) { |
375
|
0 |
2 |
paramctx.defop = (OP *)alloc_LOGOP_ANY(OP_CUSTOM, defexpr, LINKLIST(defexpr)); |
379
|
0 |
1 |
paramctx.defop = (OP *)alloc_LOGOP(OP_ARGDEFELEM, defexpr, LINKLIST(defexpr)); |
387
|
3 |
0 |
LINKLIST(paramctx.varop); |
393
|
0 |
24 |
if(parser->sig_optelems) |
397
|
11 |
16 |
if(paramctx.is_named) { |
399
|
9 |
2 |
if(!defop) { |
406
|
9 |
0 |
LINKLIST(paramctx.varop); |
421
|
0 |
4 |
if(paramctx.is_named) |
423
|
0 |
4 |
if(parser->sig_slurpy && parser->sig_slurpy != '+') |
428
|
0 |
4 |
if(lex_peek_unichar(0) == '=') |
434
|
0 |
31 |
if(pending) { |
435
|
0 |
0 |
for(int i = 0; i <= AvFILL(pending); i++) { |
|
0 |
0 |
for(int i = 0; i <= AvFILL(pending); i++) { |
438
|
0 |
0 |
if(p->funcs->post_defop) |
443
|
30 |
1 |
return paramctx.op ? newSTATEOP(0, NULL, paramctx.op) : NULL; |
472
|
31 |
3 |
while(lex_peek_unichar(0) != ')') { |
477
|
30 |
1 |
if(elem) { |
483
|
30 |
0 |
final_elem = OpSIBLING(cLISTOPx(elem)->op_first); |
485
|
30 |
0 |
if(OP_IS_NAMED_PARAM(ctx.last_varop)) |
|
12 |
18 |
if(OP_IS_NAMED_PARAM(ctx.last_varop)) |
|
11 |
1 |
if(OP_IS_NAMED_PARAM(ctx.last_varop)) |
|
11 |
0 |
if(OP_IS_NAMED_PARAM(ctx.last_varop)) |
491
|
0 |
31 |
if(PL_parser->error_count) { |
512
|
21 |
0 |
if (!FEATURE_SIGNATURES_IS_ENABLED) |
|
21 |
0 |
if (!FEATURE_SIGNATURES_IS_ENABLED) |
|
0 |
0 |
if (!FEATURE_SIGNATURES_IS_ENABLED) |
|
21 |
0 |
if (!FEATURE_SIGNATURES_IS_ENABLED) |
|
21 |
0 |
if (!FEATURE_SIGNATURES_IS_ENABLED) |
|
0 |
21 |
if (!FEATURE_SIGNATURES_IS_ENABLED) |
521
|
8 |
13 |
if(ctx.named_varops) { |
555
|
8 |
13 |
if(ctx.named_varops) { |
562
|
0 |
19 |
for(int i = 0; i <= AvFILL(ctx.named_varops); i++) { |
|
11 |
8 |
for(int i = 0; i <= AvFILL(ctx.named_varops); i++) { |
578
|
6 |
2 |
if(!allow_extras_after_named) { |
606
|
6 |
0 |
if(funcs->permit_hintkey) |