line |
true |
false |
branch |
64
|
0 |
0 |
sv_catpvf(message, "%s at %s line %" IVdf, |
67
|
0 |
0 |
if(context) |
68
|
0 |
0 |
sv_catpvf(message, ", near \"%" UTF8f "\"", |
|
0 |
0 |
sv_catpvf(message, ", near \"%" UTF8f "\"", |
69
|
0 |
0 |
UTF8fARG(UTF, contlen, context)); |
|
0 |
0 |
UTF8fARG(UTF, contlen, context)); |
|
0 |
0 |
UTF8fARG(UTF, contlen, context)); |
96
|
1 |
0 |
if (first) |
98
|
1 |
0 |
while (kid && OpHAS_SIBLING(kid)) |
|
0 |
1 |
while (kid && OpHAS_SIBLING(kid)) |
99
|
0 |
0 |
kid = OpSIBLING(kid); |
100
|
1 |
0 |
if (kid) |
114
|
2 |
0 |
if (!cv) |
118
|
2 |
0 |
if (!gv) |
138
|
11 |
2 |
if(value) { |
139
|
0 |
11 |
EXTEND(SP, 1); |
144
|
1 |
1 |
if(cLOGOP->op_other) |
155
|
4 |
1 |
if(!hv_iterinit(slurpy_hv)) |
165
|
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))); |
169
|
0 |
1 |
while((he = hv_iternext(slurpy_hv))) |
170
|
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++; |
172
|
1 |
0 |
croak("Unrecognised %s %" SVf " for subroutine %" SVf, |
202
|
4 |
0 |
for(reg = sigattrs; reg; reg = reg->next) { |
203
|
0 |
4 |
if(!strEQ(name, reg->name)) |
206
|
4 |
0 |
if(reg->funcs->permit_hintkey && |
|
4 |
0 |
if(reg->funcs->permit_hintkey && |
207
|
0 |
4 |
(!hints || !hv_fetch(hints, reg->funcs->permit_hintkey, reg->permit_hintkeylen, 0))) |
228
|
0 |
0 |
if(p->funcs->free) |
243
|
6 |
13 |
if(ctx->named_varops) |
260
|
13 |
14 |
if((flags & PARSE_SUBSIGNATURE_NAMED_PARAMS) && c == ':') { |
|
9 |
4 |
if((flags & PARSE_SUBSIGNATURE_NAMED_PARAMS) && c == ':') { |
283
|
27 |
0 |
if(isIDFIRST_uni(lex_peek_unichar(0))) { |
|
27 |
0 |
if(isIDFIRST_uni(lex_peek_unichar(0))) { |
|
1 |
26 |
if(isIDFIRST_uni(lex_peek_unichar(0))) { |
|
26 |
1 |
if(isIDFIRST_uni(lex_peek_unichar(0))) { |
285
|
42 |
0 |
while(isALNUM_uni(lex_peek_unichar(0))) |
|
42 |
0 |
while(isALNUM_uni(lex_peek_unichar(0))) |
|
26 |
16 |
while(isALNUM_uni(lex_peek_unichar(0))) |
|
16 |
26 |
while(isALNUM_uni(lex_peek_unichar(0))) |
291
|
9 |
17 |
if(paramctx.is_named) { |
292
|
6 |
3 |
if(!ctx->named_varops) |
307
|
8 |
19 |
if(permit_attributes && lex_peek_unichar(0) == ':') { |
|
4 |
4 |
if(permit_attributes && lex_peek_unichar(0) == ':') { |
313
|
4 |
4 |
while(lex_scan_attrval_into(attrname, attrval)) { |
316
|
4 |
0 |
SignatureAttributeRegistration *reg = find_registered_attribute(SvPV_nolen(attrname)); |
319
|
4 |
0 |
if(reg->funcs->apply) |
322
|
4 |
0 |
if(attrdata || reg->funcs->post_defop) { |
|
0 |
4 |
if(attrdata || reg->funcs->post_defop) { |
323
|
0 |
0 |
if(!pending) { |
336
|
0 |
4 |
if(lex_peek_unichar(0) == ':') { |
343
|
23 |
4 |
if(c == '$') { |
346
|
9 |
14 |
if(paramctx.is_named) { |
351
|
0 |
14 |
if(parser->sig_slurpy) |
357
|
2 |
21 |
if(lex_peek_unichar(0) == '=') { |
361
|
1 |
1 |
if(!paramctx.is_named) |
366
|
1 |
1 |
if(paramctx.is_named) { |
367
|
0 |
1 |
paramctx.defop = (OP *)alloc_LOGOP_ANY(OP_CUSTOM, defexpr, LINKLIST(defexpr)); |
371
|
0 |
1 |
paramctx.defop = (OP *)alloc_LOGOP(OP_ARGDEFELEM, defexpr, LINKLIST(defexpr)); |
379
|
2 |
0 |
LINKLIST(paramctx.varop); |
385
|
0 |
21 |
if(parser->sig_optelems) |
389
|
9 |
14 |
if(paramctx.is_named) { |
391
|
8 |
1 |
if(!defop) { |
398
|
8 |
0 |
LINKLIST(paramctx.varop); |
413
|
0 |
4 |
if(paramctx.is_named) |
415
|
0 |
4 |
if(parser->sig_slurpy && parser->sig_slurpy != '+') |
420
|
0 |
4 |
if(lex_peek_unichar(0) == '=') |
426
|
0 |
27 |
if(pending) { |
427
|
0 |
0 |
for(int i = 0; i <= AvFILL(pending); i++) { |
|
0 |
0 |
for(int i = 0; i <= AvFILL(pending); i++) { |
430
|
0 |
0 |
if(p->funcs->post_defop) |
435
|
26 |
1 |
return paramctx.op ? newSTATEOP(0, NULL, paramctx.op) : NULL; |
464
|
27 |
3 |
while(lex_peek_unichar(0) != ')') { |
469
|
26 |
1 |
if(elem) { |
475
|
26 |
0 |
final_elem = OpSIBLING(cLISTOPx(elem)->op_first); |
477
|
26 |
0 |
if(OP_IS_NAMED_PARAM(ctx.last_varop)) |
|
10 |
16 |
if(OP_IS_NAMED_PARAM(ctx.last_varop)) |
|
9 |
1 |
if(OP_IS_NAMED_PARAM(ctx.last_varop)) |
|
9 |
0 |
if(OP_IS_NAMED_PARAM(ctx.last_varop)) |
483
|
0 |
27 |
if(PL_parser->error_count) { |
504
|
19 |
0 |
if (!FEATURE_SIGNATURES_IS_ENABLED) |
|
19 |
0 |
if (!FEATURE_SIGNATURES_IS_ENABLED) |
|
0 |
0 |
if (!FEATURE_SIGNATURES_IS_ENABLED) |
|
19 |
0 |
if (!FEATURE_SIGNATURES_IS_ENABLED) |
|
19 |
0 |
if (!FEATURE_SIGNATURES_IS_ENABLED) |
|
0 |
19 |
if (!FEATURE_SIGNATURES_IS_ENABLED) |
513
|
6 |
13 |
if(ctx.named_varops) { |
547
|
6 |
13 |
if(ctx.named_varops) { |
554
|
0 |
15 |
for(int i = 0; i <= AvFILL(ctx.named_varops); i++) { |
|
9 |
6 |
for(int i = 0; i <= AvFILL(ctx.named_varops); i++) { |
570
|
4 |
2 |
if(!allow_extras_after_named) { |
598
|
6 |
0 |
if(funcs->permit_hintkey) |