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