Branch Coverage

lib/Class/Plain.xs
Criterion Covered Total %
branch 64 108 59.2


line true false branch
35 46 1 if(!SvROK(self) || !SvOBJECT(SvRV(self)))
0 46 if(!SvROK(self) || !SvOBJECT(SvRV(self)))
56 0 21 if(SvROK(self))
78 199 0 if(!svp || !*svp || !SvOK(*svp))
199 0 if(!svp || !*svp || !SvOK(*svp))
0 199 if(!svp || !*svp || !SvOK(*svp))
0 0 if(!svp || !*svp || !SvOK(*svp))
0 0 if(!svp || !*svp || !SvOK(*svp))
80 199 0 return (ClassMeta *)(intptr_t)SvIV(*svp);
87 103 3 if(!svp || !*svp)
103 0 if(!svp || !*svp)
90 0 103 if(SvOK(*svp) && SvIV(*svp))
0 0 if(SvOK(*svp) && SvIV(*svp))
0 0 if(SvOK(*svp) && SvIV(*svp))
103 0 if(SvOK(*svp) && SvIV(*svp))
0 103 if(SvOK(*svp) && SvIV(*svp))
123 14 23 if(!SvPOK(sv) || !SvCUR(sv))
12 2 if(!SvPOK(sv) || !SvCUR(sv))
129 12 0 while(*src && isSPACE(*src))
0 12 while(*src && isSPACE(*src))
132 0 12 if(src > dst) {
139 12 0 while(src > dst && isSPACE(*src))
0 12 while(src > dst && isSPACE(*src))
167 0 39 if(!packagename)
175 10 29 if(nattrs) {
177 11 10 for(i = 0; i < nattrs; i++) {
198 39 0 if(lex_consume_unichar('{')) {
202 0 0 else if(lex_consume_unichar(';')) {
220 39 0 if(is_block) {
227 0 39 if(!lex_consume_unichar('}'))
267 2 38 if(!have_compclass_meta)
270 0 38 if(!sv_eq(PL_curstname, compclass_meta->name))
285 24 14 if(nattrs) {
286 26 24 while(argi < (nattrs+2)) {
294 26 0 if(attrval)
319 1 65 if(!have_compclass_meta)
322 0 65 if(!sv_eq(PL_curstname, compclass_meta->name))
355 0 18 MethodMeta *compmethodmeta = NUM2PTR(MethodMeta *, SvUV(*hv_fetchs(ctx->moddata, "Class::Plain/compmethodmeta", 0)));
358 18 0 for(def = method_attributes; def->attrname; def++) {
359 0 18 if(!strEQ(SvPVX(attr), def->attrname))
364 0 18 (*def->apply)(aTHX_ compmethodmeta, SvPOK(val) ? SvPVX(val) : NULL, def->applydata);
375 0 65 MethodMeta *compmethodmeta = NUM2PTR(MethodMeta *, SvUV(*hv_fetchs(ctx->moddata, "Class::Plain/compmethodmeta", 0)));
376 18 47 if(compmethodmeta->is_common) {
378 0 18 if (!(var_index == 1)) {
384 0 47 if(var_index != 1) {
394 0 65 MethodMeta *compmethodmeta = NUM2PTR(MethodMeta *, SvUV(*hv_fetchs(ctx->moddata, "Class::Plain/compmethodmeta", 0)));
399 61 4 if (ctx->body) {
400 18 43 if(compmethodmeta->is_common) {
425 0 65 compmethodmeta = NUM2PTR(MethodMeta *, SvUV(tmpsv));
429 61 4 if(ctx->cv)
432 61 4 if(ctx->cv && ctx->name && (ctx->actions & XS_PARSE_SUBLIKE_ACTION_INSTALL_SYMBOL)) {
58 3 if(ctx->cv && ctx->name && (ctx->actions & XS_PARSE_SUBLIKE_ACTION_INSTALL_SYMBOL)) {
58 0 if(ctx->cv && ctx->name && (ctx->actions & XS_PARSE_SUBLIKE_ACTION_INSTALL_SYMBOL)) {
458 0 0 if(!PL_parser) {