| line | true | false | branch | 
 
| 38 | 46 | 1 | if(!SvROK(self) || !SvOBJECT(SvRV(self))) | 
 
|  | 0 | 46 | if(!SvROK(self) || !SvOBJECT(SvRV(self))) | 
 
| 57 | 0 | 21 | if(SvROK(self)) | 
 
| 76 | 203 | 0 | if(!svp || !*svp || !SvOK(*svp)) | 
 
|  | 203 | 0 | if(!svp || !*svp || !SvOK(*svp)) | 
 
|  | 0 | 203 | if(!svp || !*svp || !SvOK(*svp)) | 
 
|  | 0 | 0 | if(!svp || !*svp || !SvOK(*svp)) | 
 
|  | 0 | 0 | if(!svp || !*svp || !SvOK(*svp)) | 
 
| 78 | 203 | 0 | return (ClassMeta *)(intptr_t)SvIV(*svp); | 
 
| 83 | 103 | 3 | if(!svp || !*svp) | 
 
|  | 103 | 0 | if(!svp || !*svp) | 
 
| 86 | 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)) | 
 
| 115 | 14 | 23 | if(!SvPOK(sv) || !SvCUR(sv)) | 
 
|  | 12 | 2 | if(!SvPOK(sv) || !SvCUR(sv)) | 
 
| 121 | 12 | 0 | while(*src && isSPACE(*src)) | 
 
|  | 0 | 12 | while(*src && isSPACE(*src)) | 
 
| 124 | 0 | 12 | if(src > dst) { | 
 
| 131 | 12 | 0 | while(src > dst && isSPACE(*src)) | 
 
|  | 0 | 12 | while(src > dst && isSPACE(*src)) | 
 
| 157 | 0 | 40 | if(!packagename) | 
 
| 164 | 1 | 39 | if (type == 1) { | 
 
| 169 | 10 | 30 | if(nattrs) { | 
 
| 171 | 11 | 10 | for(i = 0; i < nattrs; i++) { | 
 
| 192 | 40 | 0 | if(lex_consume_unichar('{')) { | 
 
| 196 | 0 | 0 | else if(lex_consume_unichar(';')) { | 
 
| 214 | 40 | 0 | if (exists_class_block) { | 
 
| 221 | 0 | 40 | if(!lex_consume_unichar('}')) | 
 
| 227 | 0 | 40 | for (int32_t i = 0; i < av_count(role_names); i++) { | 
 
|  | 0 | 40 | for (int32_t i = 0; i < av_count(role_names); i++) { | 
 
| 229 | 0 | 0 | if (role_name) { | 
 
| 234 | 0 | 0 | sv_catpv(sv_source_code, SvPV_nolen(class->name)); | 
 
| 237 | 0 | 0 | sv_catpv(sv_source_code, SvPV_nolen(role_name)); | 
 
| 242 | 0 | 0 | Perl_eval_pv(aTHX_ SvPV_nolen(sv_source_code), 1); | 
 
| 283 | 2 | 38 | if(!S_have_comp_class(aTHX)) | 
 
| 286 | 0 | 38 | if(!sv_eq(PL_curstname, S_comp_class(aTHX)->name)) | 
 
| 300 | 24 | 14 | if(nattrs) { | 
 
| 301 | 26 | 24 | while(argi < (nattrs+2)) { | 
 
| 309 | 26 | 0 | if(attrval) | 
 
| 334 | 1 | 65 | if(!S_have_comp_class(aTHX)) | 
 
| 337 | 0 | 65 | if(!sv_eq(PL_curstname, S_comp_class(aTHX)->name)) | 
 
| 366 | 0 | 18 | MethodMeta* comp_method = NUM2PTR(MethodMeta* , SvUV(*hv_fetchs(ctx->moddata, "Class::Plain/comp_method", 0))); | 
 
| 369 | 18 | 0 | for(def = method_attributes; def->attrname; def++) { | 
 
| 370 | 0 | 18 | if(!strEQ(SvPVX(attr), def->attrname)) | 
 
| 375 | 0 | 18 | (*def->apply)(aTHX_ comp_method, SvPOK(val) ? SvPVX(val) : NULL, def->applydata); | 
 
| 386 | 0 | 65 | MethodMeta* comp_method = NUM2PTR(MethodMeta* , SvUV(*hv_fetchs(ctx->moddata, "Class::Plain/comp_method", 0))); | 
 
| 387 | 18 | 47 | if(comp_method->is_common) { | 
 
| 389 | 0 | 18 | if (!(var_index == 1)) { | 
 
| 395 | 0 | 47 | if(var_index != 1) { | 
 
| 405 | 0 | 65 | MethodMeta* comp_method = NUM2PTR(MethodMeta* , SvUV(*hv_fetchs(ctx->moddata, "Class::Plain/comp_method", 0))); | 
 
| 410 | 61 | 4 | if (ctx->body) { | 
 
| 411 | 18 | 43 | if(comp_method->is_common) { | 
 
| 435 | 0 | 65 | comp_method = NUM2PTR(MethodMeta* , SvUV(tmpsv)); | 
 
| 439 | 61 | 4 | if(ctx->cv) { | 
 
| 443 | 62 | 3 | if(ctx->name && (ctx->actions & XS_PARSE_SUBLIKE_ACTION_INSTALL_SYMBOL)) { | 
 
|  | 62 | 0 | if(ctx->name && (ctx->actions & XS_PARSE_SUBLIKE_ACTION_INSTALL_SYMBOL)) { | 
 
| 448 | 62 | 0 | if (!ctx->body) { | 
 
| 451 | 0 | 62 | if (method->class->is_role) { | 
 
| 457 | 0 | 0 | sv_catpv(sv_source_code, SvPV_nolen(method->class->name)); | 
 
| 460 | 0 | 0 | sv_catpv(sv_source_code, SvPV_nolen(method->name)); | 
 
| 465 | 0 | 0 | Perl_eval_pv(aTHX_ SvPV_nolen(sv_source_code), 1); | 
 
| 491 | 0 | 0 | if(!PL_parser) { |