Branch Coverage

/usr/local/lib/perl5/site_perl/5.26.1/x86_64-linux/XS/Framework.x/i/xs/Object.h
Criterion Covered Total %
branch 17 28 60.7


line true false branch
18 111 0 Object (T* sv, bool policy = INCREMENT) : Sv(sv, policy) { _validate(); }
22 33 0 Object (const Sv& oth) : Sv(oth) { _validate(); }
23 40 0 Object (Sv&& oth) : Sv(std::move(oth)) { _validate(); }
88 0 184 if (!sv) return;
89 3 181 if (SvOBJECT(sv)) return;
90 180 1 if (SvROK(sv)) { // reference to object?
92 180 0 if (SvOBJECT(val)) {
93 180 0 _ref = sv;
94 180 0 Sv::operator=(val);
98 1 0 if (is_undef()) return reset();
100 0 0 throw std::invalid_argument("wrong SV* type for Object");
103 36 2 void _check_ref () const { if (!_ref || SvRV(_ref) != sv) _ref = Ref::create(sv); }
0 36 void _check_ref () const { if (!_ref || SvRV(_ref) != sv) _ref = Ref::create(sv); }
2 36 void _check_ref () const { if (!_ref || SvRV(_ref) != sv) _ref = Ref::create(sv); }