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 |
41 |
if(!package_name) |
164
|
1 |
40 |
if (type == 1) { |
169
|
10 |
31 |
if(nattrs) { |
171
|
11 |
10 |
for(i = 0; i < nattrs; i++) { |
192
|
40 |
1 |
if(lex_consume_unichar('{')) { |
196
|
0 |
1 |
else if(lex_consume_unichar(';')) { |
214
|
40 |
1 |
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); |
256
|
1 |
0 |
croak("The %s class must have its block", SvPV_nolen(class->name)); |
284
|
2 |
38 |
if(!S_have_current_parsed_class(aTHX)) |
287
|
0 |
38 |
if(!sv_eq(PL_curstname, S_current_parsed_class(aTHX)->name)) |
301
|
24 |
14 |
if(nattrs) { |
302
|
26 |
24 |
while(argi < (nattrs+2)) { |
310
|
26 |
0 |
if(attrval) |
335
|
1 |
65 |
if(!S_have_current_parsed_class(aTHX)) |
338
|
0 |
65 |
if(!sv_eq(PL_curstname, S_current_parsed_class(aTHX)->name)) |
367
|
0 |
18 |
MethodMeta* current_parsed_method = NUM2PTR(MethodMeta* , SvUV(*hv_fetchs(ctx->moddata, "Class::Plain/current_parsed_method", 0))); |
370
|
18 |
0 |
for(def = method_attributes; def->attrname; def++) { |
371
|
0 |
18 |
if(!strEQ(SvPVX(attr), def->attrname)) |
376
|
0 |
18 |
(*def->apply)(aTHX_ current_parsed_method, SvPOK(val) ? SvPVX(val) : NULL, def->applydata); |
387
|
0 |
65 |
MethodMeta* current_parsed_method = NUM2PTR(MethodMeta* , SvUV(*hv_fetchs(ctx->moddata, "Class::Plain/current_parsed_method", 0))); |
388
|
18 |
47 |
if(current_parsed_method->is_common) { |
390
|
0 |
18 |
if (!(var_index == 1)) { |
396
|
0 |
47 |
if(var_index != 1) { |
406
|
0 |
65 |
MethodMeta* current_parsed_method = NUM2PTR(MethodMeta* , SvUV(*hv_fetchs(ctx->moddata, "Class::Plain/current_parsed_method", 0))); |
411
|
61 |
4 |
if (ctx->body) { |
412
|
18 |
43 |
if(current_parsed_method->is_common) { |
436
|
0 |
65 |
current_parsed_method = NUM2PTR(MethodMeta* , SvUV(tmpsv)); |
440
|
61 |
4 |
if(ctx->cv) { |
444
|
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)) { |
449
|
62 |
0 |
if (!ctx->body) { |
452
|
0 |
62 |
if (method->class->is_role) { |
458
|
0 |
0 |
sv_catpv(sv_source_code, SvPV_nolen(method->class->name)); |
461
|
0 |
0 |
sv_catpv(sv_source_code, SvPV_nolen(method->name)); |
466
|
0 |
0 |
Perl_eval_pv(aTHX_ SvPV_nolen(sv_source_code), 1); |
492
|
0 |
0 |
if(!PL_parser) { |