Branch Coverage

/usr/local/lib/perl5/site_perl/5.26.1/x86_64-linux/XS/Framework.x/i/xs/Array.h
Criterion Covered Total %
branch 16 36 44.4


line true false branch
18 4 0 ret.reserve(cap);
30 7 0 Array (SV* sv, bool policy = INCREMENT) : Sv(sv, policy) { _validate(); }
35 0 0 Array (const Sv& oth) : Sv(oth) { _validate(); }
70 0 18 if (!sv) return Scalar();
71 18 0 if (key >= _size()) return Scalar();
2 16 if (key >= _size()) return Scalar();
73 16 0 ret.set(_svlist()[key]);
116 14 0 size_t size () const { return sv ? _size() : 0; }
151 2 0 void push (const Sv& v) { push(Scalar(v)); }
215 30 0 const_iterator cbegin () const { return sv ? const_iterator(_svlist()) : const_iterator(); }
216 30 0 const_iterator cend () const { return sv ? const_iterator(_svlist()+_size()) : const_iterator(); }
232 0 7 if (!sv) return;
233 0 7 if (SvTYPE(sv) == SVt_PVAV) return;
234 7 0 if (SvROK(sv)) { // reference to array?
236 7 0 if (SvTYPE(val) == SVt_PVAV) {
237 7 0 Sv::operator=(val);
241 0 0 if (is_undef()) return reset();
243 0 0 throw std::invalid_argument("SV is not an Array or Array reference");