Branch Coverage

/usr/local/lib/perl5/site_perl/5.26.1/x86_64-linux/XS/Framework.x/i/xs/Stash.h
Criterion Covered Total %
branch 7 42 16.6


line true false branch
49 0 0 Stash (HV* sv, bool policy = INCREMENT) : Hash(sv, policy) { _validate(); }
52 0 0 *this = gv_stashpvn(package.data(), package.length(), flags);
0 0 *this = gv_stashpvn(package.data(), package.length(), flags);
121 0 83 HEK* name_hek () const { return HvNAME_HEK_NN((HV*)sv); }
122 83 0 const Simple& name_sv () const { if (!_name_sv) _name_sv = Simple::shared(name_hek()); return _name_sv; }
144 83 0 GV* gv = gv_fetchmeth_pvn((HV*)sv, name.data(), name.length(), 0, 0);
145 83 0 return gv ? Sub(GvCV(gv)) : Sub();
83 0 return gv ? Sub(GvCV(gv)) : Sub();
156 0 83 if (!ret) _throw_nomethod(name);
0 0 if (!ret) _throw_nomethod(name);
170 0 0 void inherit (const string_view& parent) { inherit(Stash(parent, GV_ADD)); }
177 83 0 template Sub::call_t call (string_view name, A&&...args) const { return method_strict(name).call(name_sv(), std::forward(args)...); }
205 0 0 if (!sv) return;
206 0 0 if (HvNAME(sv)) return;
0 0 if (HvNAME(sv)) return;
0 0 if (HvNAME(sv)) return;
0 0 if (HvNAME(sv)) return;
0 0 if (HvNAME(sv)) return;
0 0 if (HvNAME(sv)) return;
207 0 0 if (is_undef()) return reset();
209 0 0 throw std::invalid_argument("SV is not a Stash or Stash reference");