| line |
true |
false |
branch |
|
39
|
32 |
1 |
if(SvROK(checkspec) && SvOBJECT(SvRV(checkspec))) |
|
|
31 |
1 |
if(SvROK(checkspec) && SvOBJECT(SvRV(checkspec))) |
|
41
|
1 |
1 |
else if(SvPOK(checkspec) && (stash = gv_stashsv(checkspec, GV_NOADD_NOINIT))) |
|
|
0 |
1 |
else if(SvPOK(checkspec) && (stash = gv_stashsv(checkspec, GV_NOADD_NOINIT))) |
|
43
|
1 |
0 |
else if(SvROK(checkspec) && !SvOBJECT(SvRV(checkspec)) && SvTYPE(SvRV(checkspec)) == SVt_PVCV) { |
|
|
1 |
0 |
else if(SvROK(checkspec) && !SvOBJECT(SvRV(checkspec)) && SvTYPE(SvRV(checkspec)) == SVt_PVCV) { |
|
46
|
1 |
0 |
checkcv = (CV *)SvREFCNT_inc(SvRV(checkspec)); |
|
53
|
32 |
1 |
if(stash && sv_isa(checkspec, "Data::Checks::Constraint")) { |
|
|
29 |
3 |
if(stash && sv_isa(checkspec, "Data::Checks::Constraint")) { |
|
57
|
3 |
1 |
else if(!checkcv) { |
|
59
|
0 |
3 |
if(!(methgv = gv_fetchmeth_pv(stash, "check", -1, 0))) |
|
61
|
0 |
3 |
if(!GvCV(methgv)) |
|
80
|
5 |
0 |
if(checker->assertmess) |
|
85
|
4 |
1 |
if(checker->arg0) |
|
93
|
30 |
3 |
if(!constraint || !SvOK(constraint)) { |
|
|
27 |
3 |
if(!constraint || !SvOK(constraint)) { |
|
94
|
29 |
1 |
if(checker->constraint) |
|
96
|
1 |
0 |
else if(checker->arg0) { |
|
114
|
3 |
200004 |
PUSHs(boolSV((*constraint->func)(aTHX_ constraint, value))); |
|
122
|
5 |
4 |
if(checker->constraint) { |
|
128
|
4 |
0 |
if(checker->cv && checker->arg0) |
|
|
3 |
1 |
if(checker->cv && checker->arg0) |
|
130
|
3 |
0 |
return newLISTOPn(OP_ENTERSUB, OPf_WANT_SCALAR|OPf_STACKED, |
|
136
|
1 |
0 |
if(checker->cv) |
|
151
|
0 |
9 |
if(flags) |
|
154
|
9 |
0 |
OP *o = newLOGOP(OP_OR, 0, |
|
161
|
1 |
8 |
if(want_void) { |
|
177
|
160 |
12 |
if(checker->constraint) { |
|
186
|
0 |
12 |
EXTEND(SP, 2); |
|
187
|
0 |
12 |
PUSHMARK(SP); |
|
188
|
8 |
4 |
if(checker->arg0) |
|
201
|
12 |
0 |
FREETMPS; |
|
209
|
4 |
4 |
if(check_value(checker, value)) |
|
229
|
157 |
196 |
for(int i = c->n - 1; i >= 0; i--) |