Branch Coverage

lib/Syntax/Keyword/MultiSub.xs
Criterion Covered Total %
branch 35 52 67.3


line true false branch
43 18 1 for(optioni = 0; optioni < noptions; optioni++) {
46 1 17 if(nargs < option->args_min)
48 15 2 if(option->args_max > -1 && nargs > option->args_max)
9 6 if(option->args_max > -1 && nargs > option->args_max)
55 1 8 if(!jumpcv)
56 1 0 croak("Unable to find a function body for a call to &%s::%s having %d arguments",
1 0 croak("Unable to find a function body for a call to &%s::%s having %d arguments",
0 1 croak("Unable to find a function body for a call to &%s::%s having %d arguments",
0 0 croak("Unable to find a function body for a call to &%s::%s having %d arguments",
0 1 croak("Unable to find a function body for a call to &%s::%s having %d arguments",
78 3 4 if(!multicv) {
94 3 0 SvREFCNT_inc(PL_compcv);
102 7 0 hv_stores(ctx->moddata, MODDATA_KEY_COMPMULTICV, SvREFCNT_inc(multicv));
111 7 0 if(!cv)
120 7 0 for(padix = 1; padix <= PadnamelistMAX(pln); padix++)
121 0 7 if(strEQ(PadnamePV(PadnamelistARRAY(pln)[padix]), "@(Syntax::Keyword::MultiSub/options)"))
126 4 3 bool final_is_slurpy = av_count(optionsav) &&
127 0 4 (((struct MultiSubOption *)AvARRAY(optionsav)[AvFILL(optionsav)])->args_max == -1);
4 0 (((struct MultiSubOption *)AvARRAY(optionsav)[AvFILL(optionsav)])->args_max == -1);
132 7 0 while(o) {
153 1 6 if(slurpy)
175 0 7 if(final_is_slurpy && args_max == -1)
180 5 7 for(optioni = 0; optioni < noptions; optioni++) {
183 5 0 if(option->args_max == -1 || args_min > option->args_max)
4 1 if(option->args_max == -1 || args_min > option->args_max)
185 1 0 if(args_max < option->args_min)