line |
true |
false |
branch |
65
|
0 |
0 |
sv_catpvf(message, "%s at %s line %" IVdf,
|
68
|
0 |
0 |
if(context)
|
69
|
0 |
0 |
sv_catpvf(message, ", near \"%" UTF8f "\"",
|
|
0 |
0 |
sv_catpvf(message, ", near \"%" UTF8f "\"",
|
70
|
0 |
0 |
UTF8fARG(UTF, contlen, context));
|
|
0 |
0 |
UTF8fARG(UTF, contlen, context));
|
|
0 |
0 |
UTF8fARG(UTF, contlen, context));
|
97
|
1 |
0 |
if (first)
|
99
|
1 |
0 |
while (kid && OpHAS_SIBLING(kid))
|
|
0 |
1 |
while (kid && OpHAS_SIBLING(kid))
|
100
|
0 |
0 |
kid = OpSIBLING(kid);
|
101
|
1 |
0 |
if (kid)
|
115
|
2 |
0 |
if (!cv)
|
119
|
2 |
0 |
if (!gv)
|
139
|
14 |
3 |
if(value) {
|
140
|
0 |
14 |
EXTEND(SP, 1);
|
145
|
1 |
2 |
if(cLOGOP->op_other)
|
156
|
7 |
1 |
if(!hv_iterinit(slurpy_hv))
|
166
|
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)));
|
170
|
0 |
1 |
while((he = hv_iternext(slurpy_hv)))
|
171
|
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++;
|
173
|
1 |
0 |
croak_from_caller("Unrecognised %s %" SVf " for subroutine %" SVf,
|
203
|
4 |
0 |
for(reg = sigattrs; reg; reg = reg->next) {
|
204
|
0 |
4 |
if(!strEQ(name, reg->name))
|
207
|
4 |
0 |
if(reg->funcs->permit_hintkey &&
|
|
4 |
0 |
if(reg->funcs->permit_hintkey &&
|
208
|
0 |
4 |
(!hints || !hv_fetch(hints, reg->funcs->permit_hintkey, reg->permit_hintkeylen, 0)))
|
229
|
0 |
0 |
if(p->funcs->free)
|
244
|
9 |
13 |
if(ctx->named_varops)
|
261
|
19 |
14 |
if((flags & PARSE_SUBSIGNATURE_NAMED_PARAMS) && c == ':') {
|
|
13 |
6 |
if((flags & PARSE_SUBSIGNATURE_NAMED_PARAMS) && c == ':') {
|
284
|
33 |
0 |
if(isIDFIRST_uni(lex_peek_unichar(0))) {
|
|
33 |
0 |
if(isIDFIRST_uni(lex_peek_unichar(0))) {
|
|
1 |
32 |
if(isIDFIRST_uni(lex_peek_unichar(0))) {
|
|
32 |
1 |
if(isIDFIRST_uni(lex_peek_unichar(0))) {
|
286
|
48 |
0 |
while(isALNUM_uni(lex_peek_unichar(0)))
|
|
48 |
0 |
while(isALNUM_uni(lex_peek_unichar(0)))
|
|
32 |
16 |
while(isALNUM_uni(lex_peek_unichar(0)))
|
|
16 |
32 |
while(isALNUM_uni(lex_peek_unichar(0)))
|
292
|
13 |
19 |
if(paramctx.is_named) {
|
293
|
9 |
4 |
if(!ctx->named_varops)
|
314
|
10 |
23 |
if(permit_attributes && lex_peek_unichar(0) == ':') {
|
|
4 |
6 |
if(permit_attributes && lex_peek_unichar(0) == ':') {
|
320
|
4 |
4 |
while(lex_scan_attrval_into(attrname, attrval)) {
|
323
|
4 |
0 |
SignatureAttributeRegistration *reg = find_registered_attribute(SvPV_nolen(attrname));
|
326
|
4 |
0 |
if(reg->funcs->apply)
|
329
|
4 |
0 |
if(attrdata || reg->funcs->post_defop) {
|
|
0 |
4 |
if(attrdata || reg->funcs->post_defop) {
|
330
|
0 |
0 |
if(!pending) {
|
343
|
0 |
4 |
if(lex_peek_unichar(0) == ':') {
|
350
|
29 |
4 |
if(c == '$') {
|
353
|
13 |
16 |
if(paramctx.is_named) {
|
358
|
0 |
16 |
if(parser->sig_slurpy)
|
364
|
3 |
26 |
if(lex_peek_unichar(0) == '=') {
|
368
|
1 |
2 |
if(!paramctx.is_named)
|
373
|
2 |
1 |
if(paramctx.is_named) {
|
374
|
0 |
2 |
paramctx.defop = (OP *)alloc_LOGOP_ANY(OP_CUSTOM, defexpr, LINKLIST(defexpr));
|
378
|
0 |
1 |
paramctx.defop = (OP *)alloc_LOGOP(OP_ARGDEFELEM, defexpr, LINKLIST(defexpr));
|
386
|
3 |
0 |
LINKLIST(paramctx.varop);
|
392
|
0 |
26 |
if(parser->sig_optelems)
|
396
|
13 |
16 |
if(paramctx.is_named) {
|
398
|
11 |
2 |
if(!defop) {
|
405
|
11 |
0 |
LINKLIST(paramctx.varop);
|
420
|
0 |
4 |
if(paramctx.is_named)
|
422
|
0 |
4 |
if(parser->sig_slurpy && parser->sig_slurpy != '+')
|
427
|
0 |
4 |
if(lex_peek_unichar(0) == '=')
|
433
|
0 |
33 |
if(pending) {
|
434
|
0 |
0 |
for(int i = 0; i <= AvFILL(pending); i++) {
|
|
0 |
0 |
for(int i = 0; i <= AvFILL(pending); i++) {
|
437
|
0 |
0 |
if(p->funcs->post_defop)
|
442
|
32 |
1 |
return paramctx.op ? newSTATEOP(0, NULL, paramctx.op) : NULL;
|
469
|
33 |
3 |
while(lex_peek_unichar(0) != ')') {
|
474
|
32 |
1 |
if(elem) {
|
480
|
32 |
0 |
final_elem = OpSIBLING(cLISTOPx(elem)->op_first);
|
482
|
32 |
0 |
if(OP_IS_NAMED_PARAM(ctx.last_varop))
|
|
14 |
18 |
if(OP_IS_NAMED_PARAM(ctx.last_varop))
|
|
13 |
1 |
if(OP_IS_NAMED_PARAM(ctx.last_varop))
|
|
13 |
0 |
if(OP_IS_NAMED_PARAM(ctx.last_varop))
|
488
|
0 |
33 |
if(PL_parser->error_count) {
|
509
|
22 |
0 |
if (!FEATURE_SIGNATURES_IS_ENABLED)
|
|
22 |
0 |
if (!FEATURE_SIGNATURES_IS_ENABLED)
|
|
0 |
0 |
if (!FEATURE_SIGNATURES_IS_ENABLED)
|
|
22 |
0 |
if (!FEATURE_SIGNATURES_IS_ENABLED)
|
|
22 |
0 |
if (!FEATURE_SIGNATURES_IS_ENABLED)
|
|
0 |
22 |
if (!FEATURE_SIGNATURES_IS_ENABLED)
|
518
|
9 |
13 |
if(ctx.named_varops) {
|
552
|
9 |
13 |
if(ctx.named_varops) {
|
559
|
0 |
22 |
for(int i = 0; i <= AvFILL(ctx.named_varops); i++) {
|
|
13 |
9 |
for(int i = 0; i <= AvFILL(ctx.named_varops); i++) {
|
575
|
7 |
2 |
if(!allow_extras_after_named) {
|
603
|
6 |
0 |
if(funcs->permit_hintkey)
|