Branch Coverage

Util.xs
Criterion Covered Total %
branch 13 256 5.0


line true false branch
104 0 0 PUSHMARK(SP);
105 0 0 EXTEND(SP, 6);
110 0 0 if(data){ /* extra arg, might be useful for debugging */
117 0 0 if(SvOK(metaobject)) {
0 0 if(SvOK(metaobject)) {
0 0 if(SvOK(metaobject)) {
158 0 1 SvGETMAGIC(value);
0 0 SvGETMAGIC(value);
159 0 1 if(!SvOK(value)){
0 0 if(!SvOK(value)){
0 0 if(!SvOK(value)){
169 0 0 SvGETMAGIC(value);
0 0 SvGETMAGIC(value);
170 0 0 if(!(SvROK(value) && (t == SVt_NULL || SvTYPE(SvRV(value)) == t))) {
0 0 if(!(SvROK(value) && (t == SVt_NULL || SvTYPE(SvRV(value)) == t))) {
0 0 if(!(SvROK(value) && (t == SVt_NULL || SvTYPE(SvRV(value)) == t))) {
171 0 0 croak("You must pass %s, not %s",
172 0 0 name, SvOK(value) ? SvPV_nolen(value) : "undef");
0 0 name, SvOK(value) ? SvPV_nolen(value) : "undef");
0 0 name, SvOK(value) ? SvPV_nolen(value) : "undef");
183 0 0 if (!(SvPOKp(klass) && SvCUR(klass))) { /* XXX: SvPOK does not work with magical scalars */
0 0 if (!(SvPOKp(klass) && SvCUR(klass))) { /* XXX: SvPOK does not work with magical scalars */
188 0 0 if (!stash) {
192 0 0 if (( gvp = (GV**)hv_fetchs(stash, "VERSION", FALSE) )) {
193 0 0 if(isGV(*gvp) && GvSV(*gvp) && SvOK(GvSV(*gvp))){
0 0 if(isGV(*gvp) && GvSV(*gvp) && SvOK(GvSV(*gvp))){
0 0 if(isGV(*gvp) && GvSV(*gvp) && SvOK(GvSV(*gvp))){
0 0 if(isGV(*gvp) && GvSV(*gvp) && SvOK(GvSV(*gvp))){
0 0 if(isGV(*gvp) && GvSV(*gvp) && SvOK(GvSV(*gvp))){
198 0 0 if (( gvp = (GV**)hv_fetchs(stash, "ISA", FALSE) )) {
199 0 0 if(isGV(*gvp) && GvAV(*gvp) && av_len(GvAV(*gvp)) != -1){
0 0 if(isGV(*gvp) && GvAV(*gvp) && av_len(GvAV(*gvp)) != -1){
0 0 if(isGV(*gvp) && GvAV(*gvp) && av_len(GvAV(*gvp)) != -1){
205 0 0 while(( he = hv_iternext(stash) )){
208 0 0 if(isGV(gv)){
209 0 0 if(GvCVu(gv)){ /* is GV and has CV */
0 0 if(GvCVu(gv)){ /* is GV and has CV */
214 0 0 else if(SvOK(gv)){ /* is a stub or constant */
0 0 else if(SvOK(gv)){ /* is a stub or constant */
0 0 else if(SvOK(gv)){ /* is a stub or constant */
228 0 0 PUSHMARK(SP);
229 0 0 XPUSHs(self);
246 0 0 PUSHMARK(SP);
247 0 0 EXTEND(SP, 2);
274 0 0 if(IsObject(metaclass_name)){
0 0 if(IsObject(metaclass_name)){
277 0 0 metaclass_name = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U);
0 0 metaclass_name = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U);
0 0 metaclass_name = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U);
0 0 metaclass_name = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U);
0 0 metaclass_name = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U);
0 0 metaclass_name = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U);
0 0 metaclass_name = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U);
0 0 metaclass_name = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U);
0 0 metaclass_name = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U);
0 0 metaclass_name = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U);
0 0 metaclass_name = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U);
0 0 metaclass_name = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U);
283 0 0 return he ? HeVAL(he) : &PL_sv_undef;
291 0 0 for(mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic){
292 0 0 if(mg->mg_virtual == vtbl){
297 0 0 if(flags & TYPETINYf_DIE_ON_FAIL){
305 0 0 GV** const gvp = (GV**)hv_fetch(stash, name, namelen, create);
307 0 0 if(gvp){
308 0 0 if(!isGV(*gvp)){
327 0 0 if(GvCVu(gv)){ /* delete *slot{gv} to work around "redefine" warning */
0 0 if(GvCVu(gv)){ /* delete *slot{gv} to work around "redefine" warning */
336 0 0 if(CvANON(cv)
337 0 0 && CvGV(cv) /* a cv under construction has no gv */ ){
341 0 0 if((PL_perldb & (PERLDBf_SUBLINE|PERLDB_NAMEANON))
342 0 0 && PL_DBsub && (dbsub = GvHV(PL_DBsub))
0 0 && PL_DBsub && (dbsub = GvHV(PL_DBsub))
350 0 0 if(orig){
377 0 0 if(cloning){
383 0 0 if(MY_CXT.metas && ckWARN(WARN_REDEFINE)){
0 0 if(MY_CXT.metas && ckWARN(WARN_REDEFINE)){
395 0 1 SvGETMAGIC(sv);
0 0 SvGETMAGIC(sv);
396 1 0 if(SvPOKp(sv) && SvCUR(sv) > 0){
1 0 if(SvPOKp(sv) && SvCUR(sv) > 0){
399 3 1 for(i = 0; i < SvCUR(sv); i++){
401 0 3 if(!(isALNUM(c) || c == ':')){
0 0 if(!(isALNUM(c) || c == ':')){
423 0 0 if((gv = CvGV(code)) && isGV(gv) && (stash = GvSTASH(gv))){
0 0 if((gv = CvGV(code)) && isGV(gv) && (stash = GvSTASH(gv))){
0 0 if((gv = CvGV(code)) && isGV(gv) && (stash = GvSTASH(gv))){
424 0 0 EXTEND(SP, 2);
425 0 0 mPUSHs(newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U));
0 0 mPUSHs(newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U));
0 0 mPUSHs(newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U));
0 0 mPUSHs(newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U));
0 0 mPUSHs(newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U));
0 0 mPUSHs(newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U));
0 0 mPUSHs(newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U));
0 0 mPUSHs(newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U));
0 0 mPUSHs(newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U));
0 0 mPUSHs(newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U));
0 0 mPUSHs(newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U));
0 0 mPUSHs(newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U));
434 0 0 if(CvGV(code) && isGV(CvGV(code)) && (stash = GvSTASH(CvGV(code)))){
0 0 if(CvGV(code) && isGV(CvGV(code)) && (stash = GvSTASH(CvGV(code)))){
0 0 if(CvGV(code) && isGV(CvGV(code)) && (stash = GvSTASH(CvGV(code)))){
435 0 0 RETVAL = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U);
0 0 RETVAL = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U);
0 0 RETVAL = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U);
0 0 RETVAL = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U);
0 0 RETVAL = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U);
0 0 RETVAL = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U);
0 0 RETVAL = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U);
0 0 RETVAL = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U);
0 0 RETVAL = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U);
0 0 RETVAL = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U);
0 0 RETVAL = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U);
0 0 RETVAL = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U);
456 0 0 if(!stash){
460 0 0 name_pv = SvPV_const(name, name_len);
462 0 0 RETVAL = gv ? GvCVu(gv) : NULL;
0 0 RETVAL = gv ? GvCVu(gv) : NULL;
464 0 0 if(!RETVAL){
481 1 0 must_defined(arg, ix == 0 ? "a class_name" : "method names");
483 0 1 if(predicate_name){
485 0 0 name_pv = SvPV_nolen_const(predicate_name);
488 1 0 if(ix == 0){
495 1 0 if(predicate_name == NULL){ /* anonymous predicate */
496 0 1 mXPUSHs( newRV_inc((SV*)xsub) );
511 0 0 if( ((items-1) % 2) != 0 ){
515 0 0 for(i = 1; i < items; i += 2) {
525 0 0 pv = SvPV_const(name, len);