Branch Coverage

src/xh_h2x.h
Criterion Covered Total %
branch 39 56 69.6


line true false branch
38 0 5 ENTER; SAVETMPS; PUSHMARK (SP);
39 0 5 XPUSHs(sv_2mortal(newRV_inc(obj)));
46 5 0 if (count) {
53 5 0 FREETMPS; LEAVE;
70 31 49 while ( SvOK(value) && SvROK(value) ) {
31 0 while ( SvOK(value) && SvROK(value) ) {
0 31 while ( SvOK(value) && SvROK(value) ) {
17 32 while ( SvOK(value) && SvROK(value) ) {
71 0 17 if (++ctx->depth > ctx->opts.max_depth)
78 3 14 if (SvOBJECT(value)) {
79 0 3 if (SvGMAGICAL(value))
82 2 1 if (XH_AMAGIC(value) && (tmpsv = XH_AMG_CALL_STRING(rv)) != NULL) {
1 1 if (XH_AMAGIC(value) && (tmpsv = XH_AMG_CALL_STRING(rv)) != NULL) {
87 1 1 else if ((method = gv_fetchmethod_autoload(SvSTASH(value), "toString", 0)) != NULL) {
90 0 1 ENTER; SAVETMPS; PUSHMARK(SP);
91 0 1 XPUSHs(sv_2mortal(newRV_inc(value)));
98 1 0 if (nitems == 1) {
106 1 0 FREETMPS; LEAVE;
115 5 9 else if( SvTYPE(value) == SVt_PVCV ) {
118 0 5 ENTER; SAVETMPS; PUSHMARK (SP);
124 5 0 if (nitems == 1) {
133 5 0 FREETMPS;
142 25 38 if (SvTYPE(value) == SVt_PVHV) {
145 5 33 else if (SvTYPE(value) == SVt_PVAV) {
148 1 32 else if (!SvOK(value)) {
1 0 else if (!SvOK(value)) {
1 0 else if (!SvOK(value)) {
155 1 62 if (SvOBJECT(value))