Branch Coverage

lib/Devel/CallParser.xs
Criterion Covered Total %
branch 68 108 62.9


line true false branch
84 29 150 if(lex_peek_unichar(0) != '('/*)*/) {
91 0 150 if(lex_peek_unichar(0) != /*(*/')') {
105 28 35 if(lex_peek_unichar(0) == '('/*)*/)
115 36 59 if(lex_peek_unichar(0) == '('/*)*/)
125 32 47 if(lex_peek_unichar(0) == '('/*)*/)
138 28 35 if(c == '('/*)*/) return parse_args_parenthesised(flags_p);
139 8 27 if(c == '{'/*}*/) {
143 8 0 SvREFCNT_inc_simple_void((SV*)PL_compcv);
159 24 56 if (SvTYPE(protosv) == SVt_PVCV ? !SvPOK(protosv) : !SvOK(protosv))
16 64 if (SvTYPE(protosv) == SVt_PVCV ? !SvPOK(protosv) : !SvOK(protosv))
171 8 56 if(!proto_len) return parse_args_nullary(flags_p);
172 16 56 while(*proto == ';') proto++;
173 8 48 if(proto[0] == '&') return parse_args_block_list(flags_p);
174 8 40 if(((proto[0] == '$' || proto[0] == '_' ||
8 0 if(((proto[0] == '$' || proto[0] == '_' ||
175 0 8 proto[0] == '*' || proto[0] == '+') &&
176 0 40 !proto[1]) ||
0 8 !proto[1]) ||
177 0 0 (proto[0] == '\\' && proto[1] && !proto[2]))
0 0 (proto[0] == '\\' && proto[1] && !proto[2]))
179 0 8 if(proto[0] == '\\' && proto[1] == '['/*]*/) {
0 0 if(proto[0] == '\\' && proto[1] == '['/*]*/) {
181 0 0 while(*proto && *proto != /*[*/']') proto++;
182 0 0 if(proto[0] == /*[*/']' && !proto[1])
0 0 if(proto[0] == /*[*/']' && !proto[1])
193 16 16 if(SvTYPE(protosv) == SVt_PVCV ? SvPOK(protosv) : SvOK(protosv))
16 16 if(SvTYPE(protosv) == SVt_PVCV ? SvPOK(protosv) : SvOK(protosv))
247 415 1402 mg_findext((SV*)cv, PERL_MAGIC_ext, &mgvtbl_parsecall) : NULL;
248 397 18 if(callmg) {
261 46 2 (!psfun && !psobj)
263 7 39 || (psfun == Perl_parse_args_proto_or_list && psobj == (SV*)cv)
2 5 || (psfun == Perl_parse_args_proto_or_list && psobj == (SV*)cv)
266 4 0 if(SvMAGICAL((SV*)cv))
272 33 11 if(!callmg)
275 44 0 if(callmg->mg_flags & MGf_REFCOUNTED) {
281 44 0 if(psobj != (SV*)cv) {
294 6 4 if(!*psfun_p && !*psobj_p) {
6 0 if(!*psfun_p && !*psobj_p) {
303 0 41 if(!psobj) croak("null object for cv_set_call_parser");
320 927 49192 if ((PL_hints & HINT_LOCALIZE_HH) && GvHV(PL_hintgv)) {
0 927 if ((PL_hints & HINT_LOCALIZE_HH) && GvHV(PL_hintgv)) {
328 927 0 if (svp && SvROK(*svp) && SvTYPE(SvRV(*svp)) == SVt_PVCV) {
0 0 if (svp && SvROK(*svp) && SvTYPE(SvRV(*svp)) == SVt_PVCV) {
0 0 if (svp && SvROK(*svp) && SvTYPE(SvRV(*svp)) == SVt_PVCV) {
351 0 50119 if (cv) {
353 0 0 if (psfun || psobj) {
0 0 if (psfun || psobj) {
364 0 0 if(!(parser_flags & CALLPARSER_PARENS))
369 0 0 KEYWORD_PLUGIN_STMT : KEYWORD_PLUGIN_EXPR;
418 48322 1797 if(!(cv = rv2cv_op_cv(cvop, 0))) {
428 1408 389 if(!psfun && !psobj) goto decline;
1408 0 if(!psfun && !psobj) goto decline;
433 206 152 if(!(parser_flags & CALLPARSER_PARENS))
438 350 8 KEYWORD_PLUGIN_STMT : KEYWORD_PLUGIN_EXPR;