Branch Coverage

/usr/local/lib/perl5/site_perl/5.26.1/x86_64-linux/XS/Framework.x/i/xs/typemap/object.h
Criterion Covered Total %
branch 24 34 70.5


line true false branch
27 8 165 PANDA_GLOBAL_MEMBER_PTR(TypemapMarker, svt_clear_t, get, &func);
61 117 3 return mg ? mg->mg_ptr : NULL;
95 191 3 for (mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) if (mg->mg_virtual && mg->mg_virtual->svt_clear == marker) return mg;
191 0 for (mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) if (mg->mg_virtual && mg->mg_virtual->svt_clear == marker) return mg;
117 74 for (mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) if (mg->mg_virtual && mg->mg_virtual->svt_clear == marker) return mg;
302 26 96 if (!SvOBJECT(arg)) {
303 24 2 if (SvROK(arg)) {
305 0 24 if (!SvOBJECT(arg)) throw "arg is a reference to non-object";
307 2 0 else if (!SvOK(arg)) return TYPE();
2 0 else if (!SvOK(arg)) return TYPE();
2 0 else if (!SvOK(arg)) return TYPE();
311 120 0 auto ptr = IStorage::get(arg);
312 117 3 if (ptr) {
314 117 0 TYPE ret = cast(downgraded);
315 117 0 if (ret) {
316 0 117 if (!std::is_const::value && SvREADONLY(arg)) throw "cannot modify read-only object";
405 165 0 template static inline TO cast (FROM v) { return _cast(v, CastType()); }