Branch Coverage

lib/Syntax/Keyword/MultiSub.xs
Criterion Covered Total %
branch 38 60 63.3


line true false branch
31 0 9 IV nargs = av_count(GvAV(PL_defgv));
37 0 9 IV noptions = av_count(optionsav);
39 18 1 for(optioni = 0; optioni < noptions; optioni++) {
42 1 17 if(nargs < option->args_min)
44 15 2 if(option->args_max > -1 && nargs > option->args_max)
9 6 if(option->args_max > -1 && nargs > option->args_max)
51 1 8 if(!jumpcv)
52 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",
53 1 0 HvNAME(CvSTASH(runcv)), GvNAME(CvGV(runcv)), nargs);
0 0 HvNAME(CvSTASH(runcv)), GvNAME(CvGV(runcv)), nargs);
1 0 HvNAME(CvSTASH(runcv)), GvNAME(CvGV(runcv)), nargs);
0 1 HvNAME(CvSTASH(runcv)), GvNAME(CvGV(runcv)), nargs);
74 3 4 if(!multicv) {
107 7 0 if(!cv)
116 7 0 for(padix = 1; padix <= PadnamelistMAX(pln); padix++)
117 0 7 if(strEQ(PadnamePV(PadnamelistARRAY(pln)[padix]), "@(Syntax::Keyword::MultiSub/options)"))
122 0 7 bool final_is_slurpy = av_count(optionsav) &&
0 0 bool final_is_slurpy = av_count(optionsav) &&
4 3 bool final_is_slurpy = av_count(optionsav) &&
4 0 bool final_is_slurpy = av_count(optionsav) &&
123 0 4 (((struct MultiSubOption *)AvARRAY(optionsav)[AvFILL(optionsav)])->args_max == -1);
128 7 0 while(o) {
149 1 6 if(slurpy) {
150 0 1 if(final_is_slurpy)
163 0 7 IV noptions = av_count(optionsav);
165 5 7 for(optioni = 0; optioni < noptions; optioni++) {
168 5 0 if(option->args_max == -1 || args_min > option->args_max)
4 1 if(option->args_max == -1 || args_min > option->args_max)
170 1 0 if(args_max < option->args_min)