Branch Coverage

lib/Devel/CallParser.xs
Criterion Covered Total %
branch 72 102 70.5


line true false branch
78 29 150 if(lex_peek_unichar(0) != '('/*)*/) {
85 0 150 if(lex_peek_unichar(0) != /*(*/')') {
99 28 35 if(lex_peek_unichar(0) == '('/*)*/)
109 36 59 if(lex_peek_unichar(0) == '('/*)*/)
119 32 47 if(lex_peek_unichar(0) == '('/*)*/)
132 28 35 if(c == '('/*)*/) return parse_args_parenthesised(flags_p);
133 8 27 if(c == '{'/*}*/) {
137 8 0 SvREFCNT_inc_simple_void((SV*)PL_compcv);
153 24 56 if (SvTYPE(protosv) == SVt_PVCV ? !SvPOK(protosv) : !SvOK(protosv))
8 48 if (SvTYPE(protosv) == SVt_PVCV ? !SvPOK(protosv) : !SvOK(protosv))
8 0 if (SvTYPE(protosv) == SVt_PVCV ? !SvPOK(protosv) : !SvOK(protosv))
0 8 if (SvTYPE(protosv) == SVt_PVCV ? !SvPOK(protosv) : !SvOK(protosv))
16 64 if (SvTYPE(protosv) == SVt_PVCV ? !SvPOK(protosv) : !SvOK(protosv))
164 64 0 proto = SvPV(protosv, proto_len);
165 56 8 if(!proto_len) return parse_args_nullary(flags_p);
166 16 56 while(*proto == ';') proto++;
167 8 48 if(proto[0] == '&') return parse_args_block_list(flags_p);
168 8 40 if(((proto[0] == '$' || proto[0] == '_' ||
8 0 if(((proto[0] == '$' || proto[0] == '_' ||
169 0 8 proto[0] == '*' || proto[0] == '+') &&
0 40 proto[0] == '*' || proto[0] == '+') &&
170 0 8 !proto[1]) ||
171 0 0 (proto[0] == '\\' && proto[1] && !proto[2]))
0 0 (proto[0] == '\\' && proto[1] && !proto[2]))
173 0 8 if(proto[0] == '\\' && proto[1] == '['/*]*/) {
0 0 if(proto[0] == '\\' && proto[1] == '['/*]*/) {
175 0 0 while(*proto && *proto != /*[*/']') proto++;
176 0 0 if(proto[0] == /*[*/']' && !proto[1])
0 0 if(proto[0] == /*[*/']' && !proto[1])
187 16 16 if(SvTYPE(protosv) == SVt_PVCV ? SvPOK(protosv) : SvOK(protosv))
8 8 if(SvTYPE(protosv) == SVt_PVCV ? SvPOK(protosv) : SvOK(protosv))
8 0 if(SvTYPE(protosv) == SVt_PVCV ? SvPOK(protosv) : SvOK(protosv))
8 0 if(SvTYPE(protosv) == SVt_PVCV ? SvPOK(protosv) : SvOK(protosv))
16 16 if(SvTYPE(protosv) == SVt_PVCV ? SvPOK(protosv) : SvOK(protosv))
241 397 225 mg_findext((SV*)cv, PERL_MAGIC_ext, &mgvtbl_parsecall) : NULL;
242 397 225 if(callmg) {
254 46 2 if(
257 7 39 || (psfun == Perl_parse_args_proto_or_list && psobj == (SV*)cv)
2 5 || (psfun == Perl_parse_args_proto_or_list && psobj == (SV*)cv)
260 4 0 if(SvMAGICAL((SV*)cv))
266 33 11 if(!callmg)
269 44 0 if(callmg->mg_flags & MGf_REFCOUNTED) {
275 44 0 if(psobj != (SV*)cv) {
288 6 4 if(!*psfun_p && !*psobj_p) {
6 0 if(!*psfun_p && !*psobj_p) {
297 0 41 if(!psobj) croak("null object for cv_set_call_parser");
360 6199 602 if(!(cv = rv2cv_op_cv(cvop, 0))) {
370 213 389 if(!psfun && !psobj) goto decline;
213 0 if(!psfun && !psobj) goto decline;
375 221 152 if(!(parser_flags & CALLPARSER_PARENS))
380 365 8 KEYWORD_PLUGIN_STMT : KEYWORD_PLUGIN_EXPR;