Branch Coverage

src/xs/function.cc
Criterion Covered Total %
branch 18 34 52.9


line true false branch
11 35 0 delete fc;
21 25 0 Sub sub(cv);
23 0 25 if (!fc) throw "invalid function->sub subroutine";
24 23 2 auto ret = fc->call(&ST(0), items);
25 14 9 if (!ret) XSRETURN_EMPTY;
26 0 9 mXPUSHs(ret.detach());
0 0 mXPUSHs(ret.detach());
9 0 mXPUSHs(ret.detach());
28 23 0 }); }
32 35 0 CV* cv = MUTABLE_CV(newSV_type(SvTYPE(proto)));
36 35 0 CvGV_set(cv,CvGV(proto));
35 0 CvGV_set(cv,CvGV(proto));
37 35 0 CvSTASH_set(cv, CvSTASH(proto));
48 35 0 return Sub::noinc(cv);
55 35 0 ret.payload_attach(fc, &marker);
59 36 0 }}
36 0 }}