Branch Coverage

Recursive.xs.cc
Criterion Covered Total %
branch 55 150 36.6


line true false branch
168 0 20 if (items != 1)
180 0 19 if (!RETVAL) XSRETURN_UNDEF;
182 19 0 RETVALSV = sv_2mortal(RETVALSV);
183 19 0 ST(0) = RETVALSV;
187 19 0 }); }
194 11 0 if (items < 1 || items > 2)
0 11 if (items < 1 || items > 2)
202 9 2 if (items < 2)
205 0 0 flags = (int)SvIV(ST(1))
206 2 0 ;
214 0 10 if (!RETVAL) XSRETURN_UNDEF;
216 10 0 RETVALSV = sv_2mortal(RETVALSV);
217 10 0 ST(0) = RETVALSV;
221 10 0 }); }
228 8 0 if (items < 2 || items > 3)
0 8 if (items < 2 || items > 3)
238 4 4 if (items < 3)
241 0 0 flags = (int)SvIV(ST(2))
242 4 0 ;
250 0 8 if (!RETVAL) XSRETURN_UNDEF;
252 8 0 RETVALSV = sv_2mortal(RETVALSV);
253 8 0 ST(0) = RETVALSV;
257 8 0 }); }
264 20 0 if (items < 2 || items > 3)
0 20 if (items < 2 || items > 3)
268 20 0 Hash dest = ST(0);
19 0 Hash dest = ST(0);
269 2 18 if (!dest && SvOK(ST(0))) throw "arg is not a 'Hash' reference"
2 0 if (!dest && SvOK(ST(0))) throw "arg is not a 'Hash' reference"
2 0 if (!dest && SvOK(ST(0))) throw "arg is not a 'Hash' reference"
0 2 if (!dest && SvOK(ST(0))) throw "arg is not a 'Hash' reference"
0 20 if (!dest && SvOK(ST(0))) throw "arg is not a 'Hash' reference"
271 20 0 Hash source = ST(1);
19 0 Hash source = ST(1);
272 3 17 if (!source && SvOK(ST(1))) throw "arg is not a 'Hash' reference"
3 0 if (!source && SvOK(ST(1))) throw "arg is not a 'Hash' reference"
3 0 if (!source && SvOK(ST(1))) throw "arg is not a 'Hash' reference"
0 3 if (!source && SvOK(ST(1))) throw "arg is not a 'Hash' reference"
0 20 if (!source && SvOK(ST(1))) throw "arg is not a 'Hash' reference"
276 10 10 if (items < 3)
279 0 0 flags = (int)SvIV(ST(2))
280 10 0 ;
290 0 19 if (!RETVAL) XSRETURN_UNDEF;
292 19 0 RETVALSV = sv_2mortal(RETVALSV);
293 19 0 ST(0) = RETVALSV;
297 19 0 }); }
304 0 0 if (items < 2 || items > 3)
0 0 if (items < 2 || items > 3)
308 0 0 Array dest = ST(0);
0 0 Array dest = ST(0);
309 0 0 if (!dest && SvOK(ST(0))) throw "arg is not a 'Array' reference"
0 0 if (!dest && SvOK(ST(0))) throw "arg is not a 'Array' reference"
0 0 if (!dest && SvOK(ST(0))) throw "arg is not a 'Array' reference"
0 0 if (!dest && SvOK(ST(0))) throw "arg is not a 'Array' reference"
0 0 if (!dest && SvOK(ST(0))) throw "arg is not a 'Array' reference"
311 0 0 Array source = ST(1);
0 0 Array source = ST(1);
312 0 0 if (!source && SvOK(ST(1))) throw "arg is not a 'Array' reference"
0 0 if (!source && SvOK(ST(1))) throw "arg is not a 'Array' reference"
0 0 if (!source && SvOK(ST(1))) throw "arg is not a 'Array' reference"
0 0 if (!source && SvOK(ST(1))) throw "arg is not a 'Array' reference"
0 0 if (!source && SvOK(ST(1))) throw "arg is not a 'Array' reference"
316 0 0 if (items < 3)
319 0 0 flags = (int)SvIV(ST(2))
320 0 0 ;
330 0 0 if (!RETVAL) XSRETURN_UNDEF;
332 0 0 RETVALSV = sv_2mortal(RETVALSV);
333 0 0 ST(0) = RETVALSV;
337 0 0 }); }
344 0 57 if (items != 2)
355 29 28 ST(0) = boolSV(RETVAL);
358 57 0 }); }
369 0 7 dVAR; dXSBOOTARGSXSAPIVERCHK;
0 7 dVAR; dXSBOOTARGSXSAPIVERCHK;
426 7 0 }); }