line |
true |
false |
branch |
29
|
137 |
0 |
if(CvXSUB(cv) == XS_TypeTiny_constraint_check){ /* built-in type constraints */ |
35
|
0 |
137 |
SvGETMAGIC(sv); |
|
0 |
0 |
SvGETMAGIC(sv); |
47
|
0 |
0 |
PUSHMARK(SP); |
48
|
0 |
0 |
XPUSHs(sv); |
49
|
0 |
0 |
if( MY_CXT.tc_extra_args ) { |
53
|
0 |
0 |
for(i = 0; i < len; i++) { |
54
|
0 |
0 |
XPUSHs( AvARRAY(av)[i] ); |
65
|
0 |
0 |
FREETMPS; |
89
|
2 |
4 |
if (SvROK(sv)) { |
93
|
1 |
3 |
if(sv_true(sv)){ |
94
|
0 |
1 |
if(SvPOKp(sv)){ /* "1" */ |
95
|
0 |
0 |
return SvCUR(sv) == 1 && SvPVX(sv)[0] == '1'; |
|
0 |
0 |
return SvCUR(sv) == 1 && SvPVX(sv)[0] == '1'; |
97
|
1 |
0 |
else if(SvIOKp(sv)){ |
100
|
0 |
0 |
else if(SvNOKp(sv)){ |
105
|
0 |
0 |
char * ptr = SvPV(sv, len); |
106
|
0 |
0 |
if(len == 1 && ptr[0] == '1'){ |
|
0 |
0 |
if(len == 1 && ptr[0] == '1'){ |
122
|
3 |
0 |
return !SvOK(sv); |
|
3 |
0 |
return !SvOK(sv); |
|
3 |
0 |
return !SvOK(sv); |
128
|
0 |
0 |
return SvOK(sv); |
|
0 |
0 |
return SvOK(sv); |
|
0 |
0 |
return SvOK(sv); |
134
|
0 |
0 |
return SvOK(sv) && !SvROK(sv); |
|
0 |
0 |
return SvOK(sv) && !SvROK(sv); |
|
0 |
0 |
return SvOK(sv) && !SvROK(sv); |
|
0 |
0 |
return SvOK(sv) && !SvROK(sv); |
149
|
6 |
41 |
if(*p == '-') p++; |
151
|
6 |
41 |
if (!*p) return FALSE; |
153
|
77 |
17 |
while(*p){ |
154
|
24 |
53 |
if(!isDIGIT(*p)){ |
164
|
4 |
4 |
if(nv == (NV)(IV)nv){ |
178
|
2 |
47 |
if (SvOK(sv) && !SvROK(sv) && !isGV(sv)) { |
|
2 |
0 |
if (SvOK(sv) && !SvROK(sv) && !isGV(sv)) { |
|
0 |
2 |
if (SvOK(sv) && !SvROK(sv) && !isGV(sv)) { |
|
45 |
2 |
if (SvOK(sv) && !SvROK(sv) && !isGV(sv)) { |
|
45 |
0 |
if (SvOK(sv) && !SvROK(sv) && !isGV(sv)) { |
179
|
20 |
25 |
if(SvPOK(sv)){ |
182
|
22 |
3 |
else if(SvIOK(sv)){ |
185
|
3 |
0 |
else if(SvNOK(sv)) { |
198
|
2 |
27 |
if ((!SvOK(sv)) || SvROK(sv) || isGV(sv)) { |
|
2 |
0 |
if ((!SvOK(sv)) || SvROK(sv) || isGV(sv)) { |
|
0 |
2 |
if ((!SvOK(sv)) || SvROK(sv) || isGV(sv)) { |
|
26 |
1 |
if ((!SvOK(sv)) || SvROK(sv) || isGV(sv)) { |
|
0 |
26 |
if ((!SvOK(sv)) || SvROK(sv) || isGV(sv)) { |
201
|
13 |
13 |
if(SvPOKp(sv)){ |
202
|
8 |
5 |
if (!S_pv_is_integer(aTHX_ SvPVX(sv))) { |
206
|
5 |
8 |
else if(SvIOKp(sv)){ |
209
|
5 |
0 |
else if(SvNOKp(sv)) { |
210
|
1 |
4 |
if (!S_nv_is_integer(aTHX_ SvNVX(sv))) { |
215
|
5 |
12 |
i = SvPVx(sv, len); |
216
|
6 |
11 |
if (len == 1 && i[0] == '0') { |
|
3 |
3 |
if (len == 1 && i[0] == '0') { |
219
|
2 |
12 |
else if (i[0] == '0') { |
220
|
5 |
2 |
for (j = 0; j < len; j++) { |
221
|
0 |
5 |
if (i[j] != '0') { |
227
|
12 |
0 |
return ((len > 0 && i[0] != '-') ? TRUE : FALSE); |
|
7 |
5 |
return ((len > 0 && i[0] != '-') ? TRUE : FALSE); |
235
|
1 |
14 |
if ((!SvOK(sv)) || SvROK(sv) || isGV(sv)) { |
|
1 |
0 |
if ((!SvOK(sv)) || SvROK(sv) || isGV(sv)) { |
|
0 |
1 |
if ((!SvOK(sv)) || SvROK(sv) || isGV(sv)) { |
|
13 |
1 |
if ((!SvOK(sv)) || SvROK(sv) || isGV(sv)) { |
|
0 |
13 |
if ((!SvOK(sv)) || SvROK(sv) || isGV(sv)) { |
238
|
10 |
3 |
if(SvPOKp(sv)){ |
239
|
7 |
3 |
if (!S_pv_is_integer(aTHX_ SvPVX(sv))) { |
243
|
0 |
3 |
else if(SvIOKp(sv)){ |
246
|
0 |
0 |
else if(SvNOKp(sv)) { |
247
|
0 |
0 |
if (!S_nv_is_integer(aTHX_ SvNVX(sv))) { |
252
|
3 |
3 |
i = SvPVx(sv, len); |
253
|
6 |
0 |
return ((len > 0 && i[0] != '-') ? TRUE : FALSE); |
|
4 |
2 |
return ((len > 0 && i[0] != '-') ? TRUE : FALSE); |
259
|
1 |
4 |
return SvOK(sv) && !SvROK(sv) && !isGV(sv); |
|
1 |
0 |
return SvOK(sv) && !SvROK(sv) && !isGV(sv); |
|
0 |
1 |
return SvOK(sv) && !SvROK(sv) && !isGV(sv); |
|
4 |
0 |
return SvOK(sv) && !SvROK(sv) && !isGV(sv); |
|
4 |
0 |
return SvOK(sv) && !SvROK(sv) && !isGV(sv); |
271
|
0 |
12 |
if ( SvOK(sv) && !SvROK(sv) && !isGV(sv) ) { |
|
0 |
0 |
if ( SvOK(sv) && !SvROK(sv) && !isGV(sv) ) { |
|
0 |
0 |
if ( SvOK(sv) && !SvROK(sv) && !isGV(sv) ) { |
|
6 |
6 |
if ( SvOK(sv) && !SvROK(sv) && !isGV(sv) ) { |
|
6 |
0 |
if ( SvOK(sv) && !SvROK(sv) && !isGV(sv) ) { |
275
|
6 |
0 |
if ( SvAMAGIC(sv) |
|
5 |
1 |
if ( SvAMAGIC(sv) |
|
5 |
0 |
if ( SvAMAGIC(sv) |
276
|
5 |
0 |
&& ( stash = SvSTASH(SvRV(sv)) ) |
277
|
5 |
0 |
&& Gv_AMG(stash) |
|
5 |
0 |
&& Gv_AMG(stash) |
|
0 |
5 |
&& Gv_AMG(stash) |
|
0 |
0 |
&& Gv_AMG(stash) |
|
5 |
0 |
&& Gv_AMG(stash) |
|
0 |
5 |
&& Gv_AMG(stash) |
|
5 |
0 |
&& Gv_AMG(stash) |
|
0 |
5 |
&& Gv_AMG(stash) |
|
5 |
0 |
&& Gv_AMG(stash) |
278
|
5 |
0 |
&& ( mg = mg_find((const SV*)stash, PERL_MAGIC_overload_table) ) |
279
|
5 |
0 |
&& AMT_AMAGIC( amtp = (AMT*)mg->mg_ptr ) |
280
|
5 |
0 |
&& ( cvp = amtp->table ) |
281
|
3 |
2 |
&& cvp[0x0a] // AMG_STRING |
292
|
0 |
0 |
return SvOK(sv) && !SvROK(sv) && !isGV(sv); |
|
0 |
0 |
return SvOK(sv) && !SvROK(sv) && !isGV(sv); |
|
0 |
0 |
return SvOK(sv) && !SvROK(sv) && !isGV(sv); |
|
0 |
0 |
return SvOK(sv) && !SvROK(sv) && !isGV(sv); |
|
0 |
0 |
return SvOK(sv) && !SvROK(sv) && !isGV(sv); |
298
|
1 |
7 |
if (SvOK(sv) && !SvROK(sv) && !isGV(sv)) { |
|
1 |
0 |
if (SvOK(sv) && !SvROK(sv) && !isGV(sv)) { |
|
0 |
1 |
if (SvOK(sv) && !SvROK(sv) && !isGV(sv)) { |
|
5 |
2 |
if (SvOK(sv) && !SvROK(sv) && !isGV(sv)) { |
|
5 |
0 |
if (SvOK(sv) && !SvROK(sv) && !isGV(sv)) { |
320
|
8 |
0 |
if(SvROK(sv)){ |
322
|
8 |
0 |
return !SvOBJECT(sv) && (SvTYPE(sv) <= SVt_PVLV && !isGV(sv)); |
|
8 |
0 |
return !SvOBJECT(sv) && (SvTYPE(sv) <= SVt_PVLV && !isGV(sv)); |
|
8 |
0 |
return !SvOBJECT(sv) && (SvTYPE(sv) <= SVt_PVLV && !isGV(sv)); |
330
|
1 |
1 |
return IsArrayRef(sv); |
|
1 |
0 |
return IsArrayRef(sv); |
|
1 |
0 |
return IsArrayRef(sv); |
342
|
12 |
1 |
if ( IsArrayRef(sv) ) { |
|
7 |
5 |
if ( IsArrayRef(sv) ) { |
|
6 |
1 |
if ( IsArrayRef(sv) ) { |
346
|
6 |
1 |
if ( SvAMAGIC(sv) |
|
5 |
1 |
if ( SvAMAGIC(sv) |
|
5 |
0 |
if ( SvAMAGIC(sv) |
347
|
5 |
0 |
&& ( stash = SvSTASH(SvRV(sv)) ) |
348
|
5 |
0 |
&& Gv_AMG(stash) |
|
5 |
0 |
&& Gv_AMG(stash) |
|
0 |
5 |
&& Gv_AMG(stash) |
|
0 |
0 |
&& Gv_AMG(stash) |
|
5 |
0 |
&& Gv_AMG(stash) |
|
0 |
5 |
&& Gv_AMG(stash) |
|
5 |
0 |
&& Gv_AMG(stash) |
|
0 |
5 |
&& Gv_AMG(stash) |
|
5 |
0 |
&& Gv_AMG(stash) |
349
|
5 |
0 |
&& ( mg = mg_find((const SV*)stash, PERL_MAGIC_overload_table) ) |
350
|
5 |
0 |
&& AMT_AMAGIC( amtp = (AMT*)mg->mg_ptr ) |
351
|
5 |
0 |
&& ( cvp = amtp->table ) |
352
|
3 |
2 |
&& cvp[0x02] // AMG_TO_AV |
363
|
0 |
0 |
return IsHashRef(sv); |
|
0 |
0 |
return IsHashRef(sv); |
|
0 |
0 |
return IsHashRef(sv); |
375
|
12 |
1 |
if ( IsHashRef(sv) ) { |
|
8 |
4 |
if ( IsHashRef(sv) ) { |
|
6 |
2 |
if ( IsHashRef(sv) ) { |
379
|
6 |
1 |
if ( SvAMAGIC(sv) |
|
4 |
2 |
if ( SvAMAGIC(sv) |
|
4 |
0 |
if ( SvAMAGIC(sv) |
380
|
4 |
0 |
&& ( stash = SvSTASH(SvRV(sv)) ) |
381
|
4 |
0 |
&& Gv_AMG(stash) |
|
4 |
0 |
&& Gv_AMG(stash) |
|
0 |
4 |
&& Gv_AMG(stash) |
|
0 |
0 |
&& Gv_AMG(stash) |
|
4 |
0 |
&& Gv_AMG(stash) |
|
0 |
4 |
&& Gv_AMG(stash) |
|
4 |
0 |
&& Gv_AMG(stash) |
|
0 |
4 |
&& Gv_AMG(stash) |
|
4 |
0 |
&& Gv_AMG(stash) |
382
|
4 |
0 |
&& ( mg = mg_find((const SV*)stash, PERL_MAGIC_overload_table) ) |
383
|
4 |
0 |
&& AMT_AMAGIC( amtp = (AMT*)mg->mg_ptr ) |
384
|
4 |
0 |
&& ( cvp = amtp->table ) |
385
|
2 |
2 |
&& cvp[0x03] // AMG_TO_HV |
396
|
0 |
0 |
return IsHashRef(sv); |
|
0 |
0 |
return IsHashRef(sv); |
|
0 |
0 |
return IsHashRef(sv); |
402
|
0 |
0 |
return IsArrayRef(sv); |
|
0 |
0 |
return IsArrayRef(sv); |
|
0 |
0 |
return IsArrayRef(sv); |
408
|
0 |
0 |
return IsCodeRef(sv); |
|
0 |
0 |
return IsCodeRef(sv); |
|
0 |
0 |
return IsCodeRef(sv); |
420
|
12 |
1 |
if ( IsCodeRef(sv) ) { |
|
7 |
5 |
if ( IsCodeRef(sv) ) { |
|
6 |
1 |
if ( IsCodeRef(sv) ) { |
424
|
6 |
1 |
if ( SvAMAGIC(sv) |
|
5 |
1 |
if ( SvAMAGIC(sv) |
|
5 |
0 |
if ( SvAMAGIC(sv) |
425
|
5 |
0 |
&& ( stash = SvSTASH(SvRV(sv)) ) |
426
|
5 |
0 |
&& Gv_AMG(stash) |
|
5 |
0 |
&& Gv_AMG(stash) |
|
0 |
5 |
&& Gv_AMG(stash) |
|
0 |
0 |
&& Gv_AMG(stash) |
|
5 |
0 |
&& Gv_AMG(stash) |
|
0 |
5 |
&& Gv_AMG(stash) |
|
5 |
0 |
&& Gv_AMG(stash) |
|
0 |
5 |
&& Gv_AMG(stash) |
|
5 |
0 |
&& Gv_AMG(stash) |
427
|
5 |
0 |
&& ( mg = mg_find((const SV*)stash, PERL_MAGIC_overload_table) ) |
428
|
5 |
0 |
&& AMT_AMAGIC( amtp = (AMT*)mg->mg_ptr ) |
429
|
5 |
0 |
&& ( cvp = amtp->table ) |
430
|
3 |
2 |
&& cvp[0x05] // AMG_TO_CV |
447
|
0 |
0 |
return SvROK(sv) && !SvOBJECT(SvRV(sv)) && isGV(SvRV(sv)); |
|
0 |
0 |
return SvROK(sv) && !SvOBJECT(SvRV(sv)) && isGV(SvRV(sv)); |
|
0 |
0 |
return SvROK(sv) && !SvOBJECT(SvRV(sv)) && isGV(SvRV(sv)); |
457
|
0 |
0 |
gv = (GV*)(SvROK(sv) ? SvRV(sv) : sv); |
458
|
0 |
0 |
if(isGV(gv) || SvTYPE(gv) == SVt_PVIO){ |
|
0 |
0 |
if(isGV(gv) || SvTYPE(gv) == SVt_PVIO){ |
459
|
0 |
0 |
IO* const io = isGV(gv) ? GvIO(gv) : (IO*)gv; |
|
0 |
0 |
IO* const io = isGV(gv) ? GvIO(gv) : (IO*)gv; |
|
0 |
0 |
IO* const io = isGV(gv) ? GvIO(gv) : (IO*)gv; |
|
0 |
0 |
IO* const io = isGV(gv) ? GvIO(gv) : (IO*)gv; |
|
0 |
0 |
IO* const io = isGV(gv) ? GvIO(gv) : (IO*)gv; |
461
|
0 |
0 |
if(io && ( IoIFP(io) || SvTIED_mg((SV*)io, PERL_MAGIC_tiedscalar) )){ |
|
0 |
0 |
if(io && ( IoIFP(io) || SvTIED_mg((SV*)io, PERL_MAGIC_tiedscalar) )){ |
|
0 |
0 |
if(io && ( IoIFP(io) || SvTIED_mg((SV*)io, PERL_MAGIC_tiedscalar) )){ |
|
0 |
0 |
if(io && ( IoIFP(io) || SvTIED_mg((SV*)io, PERL_MAGIC_tiedscalar) )){ |
472
|
0 |
0 |
return SvROK(sv) && SvOBJECT(SvRV(sv)); |
|
0 |
0 |
return SvROK(sv) && SvOBJECT(SvRV(sv)); |
479
|
25 |
2 |
if(IsArrayRef(sv)){ |
|
25 |
0 |
if(IsArrayRef(sv)){ |
|
22 |
3 |
if(IsArrayRef(sv)){ |
483
|
49 |
14 |
for(i = 0; i < len; i++){ |
485
|
8 |
41 |
if(!typetiny_tc_check(aTHX_ param, value)){ |
503
|
5 |
0 |
if( IsArrayRef(sv) ) { |
|
2 |
3 |
if( IsArrayRef(sv) ) { |
|
2 |
0 |
if( IsArrayRef(sv) ) { |
507
|
3 |
0 |
if( SvAMAGIC(sv) |
|
3 |
0 |
if( SvAMAGIC(sv) |
|
3 |
0 |
if( SvAMAGIC(sv) |
508
|
3 |
0 |
&& ( stash = SvSTASH(SvRV(sv)) ) |
509
|
3 |
0 |
&& Gv_AMG(stash) |
|
3 |
0 |
&& Gv_AMG(stash) |
|
0 |
3 |
&& Gv_AMG(stash) |
|
0 |
0 |
&& Gv_AMG(stash) |
|
3 |
0 |
&& Gv_AMG(stash) |
|
0 |
3 |
&& Gv_AMG(stash) |
|
3 |
0 |
&& Gv_AMG(stash) |
|
0 |
3 |
&& Gv_AMG(stash) |
|
3 |
0 |
&& Gv_AMG(stash) |
510
|
3 |
0 |
&& ( mg = mg_find((const SV*)stash, PERL_MAGIC_overload_table) ) |
511
|
3 |
0 |
&& AMT_AMAGIC( amtp = (AMT*)mg->mg_ptr ) |
512
|
3 |
0 |
&& ( cvp = amtp->table ) |
513
|
2 |
1 |
&& cvp[0x02] // AMG_TO_AV |
519
|
21 |
1 |
for(i = 0; i < len; i++){ |
521
|
1 |
20 |
if(!typetiny_tc_check(aTHX_ param, value)){ |
532
|
14 |
2 |
if(IsHashRef(sv)){ |
|
14 |
0 |
if(IsHashRef(sv)){ |
|
13 |
1 |
if(IsHashRef(sv)){ |
537
|
16 |
10 |
while((he = hv_iternext(hv))){ |
539
|
3 |
13 |
if(!typetiny_tc_check(aTHX_ param, value)){ |
558
|
7 |
0 |
if( IsHashRef(sv) ) { |
|
4 |
3 |
if( IsHashRef(sv) ) { |
|
3 |
1 |
if( IsHashRef(sv) ) { |
562
|
4 |
0 |
if( SvAMAGIC(sv) |
|
3 |
1 |
if( SvAMAGIC(sv) |
|
3 |
0 |
if( SvAMAGIC(sv) |
563
|
3 |
0 |
&& ( stash = SvSTASH(SvRV(sv)) ) |
564
|
3 |
0 |
&& Gv_AMG(stash) |
|
3 |
0 |
&& Gv_AMG(stash) |
|
0 |
3 |
&& Gv_AMG(stash) |
|
0 |
0 |
&& Gv_AMG(stash) |
|
3 |
0 |
&& Gv_AMG(stash) |
|
0 |
3 |
&& Gv_AMG(stash) |
|
3 |
0 |
&& Gv_AMG(stash) |
|
0 |
3 |
&& Gv_AMG(stash) |
|
3 |
0 |
&& Gv_AMG(stash) |
565
|
3 |
0 |
&& ( mg = mg_find((const SV*)stash, PERL_MAGIC_overload_table) ) |
566
|
3 |
0 |
&& AMT_AMAGIC( amtp = (AMT*)mg->mg_ptr ) |
567
|
3 |
0 |
&& ( cvp = amtp->table ) |
568
|
2 |
1 |
&& cvp[0x03] // AMG_TO_HV |
575
|
2 |
1 |
while((he = hv_iternext(hv))){ |
577
|
1 |
1 |
if(!typetiny_tc_check(aTHX_ param, value)){ |
589
|
7 |
1 |
if(IsHashRef(sv)){ |
|
7 |
0 |
if(IsHashRef(sv)){ |
|
6 |
1 |
if(IsHashRef(sv)){ |
598
|
8 |
3 |
while((he = hv_iternext(hv))){ |
602
|
7 |
1 |
if(!typetiny_tc_check(aTHX_ param1, key) |
603
|
2 |
5 |
|| !typetiny_tc_check(aTHX_ param2, value)){ |
616
|
9 |
0 |
if(IsArrayRef(sv)){ |
|
9 |
0 |
if(IsArrayRef(sv)){ |
|
8 |
1 |
if(IsArrayRef(sv)){ |
621
|
3 |
5 |
if (len - 1 != av_len(params)) { |
625
|
13 |
3 |
for(i = 0; i < len; i++){ |
628
|
2 |
11 |
if(!typetiny_tc_check(aTHX_ check, value)){ |
644
|
2 |
21 |
if(!(SvOK(sv) && !SvROK(sv) && !isGV(sv))) { |
|
2 |
0 |
if(!(SvOK(sv) && !SvROK(sv) && !isGV(sv))) { |
|
0 |
2 |
if(!(SvOK(sv) && !SvROK(sv) && !isGV(sv))) { |
|
17 |
4 |
if(!(SvOK(sv) && !SvROK(sv) && !isGV(sv))) { |
|
0 |
17 |
if(!(SvOK(sv) && !SvROK(sv) && !isGV(sv))) { |
650
|
49 |
7 |
for(i = 0; i < len; i++){ |
652
|
10 |
39 |
if(sv_eq(sv, x)){ |
662
|
0 |
0 |
if(SvOK(sv)){ |
|
0 |
0 |
if(SvOK(sv)){ |
|
0 |
0 |
if(SvOK(sv)){ |
686
|
12 |
4 |
for(i = 0; i < len; i++){ |
687
|
3 |
9 |
if(typetiny_tc_check(aTHX_ AvARRAY(types)[i], sv)){ |
705
|
9 |
2 |
for(i = 0; i < len; i++){ |
706
|
4 |
5 |
if(!typetiny_tc_check(aTHX_ AvARRAY(types)[i], sv)){ |
730
|
0 |
4 |
if(name[0] == ':' && name[1] == ':'){ |
|
0 |
0 |
if(name[0] == ':' && name[1] == ':'){ |
735
|
0 |
4 |
while(strnEQ(name, "main::", sizeof("main::")-1)){ |
748
|
3 |
1 |
while(svp != end){ |
750
|
1 |
2 |
if(strEQ(klass_pv, typetiny_canonicalize_package_name(SvPVX(*svp)))){ |
764
|
1 |
3 |
if(gvp && isGV(*gvp) && GvCV(*gvp)){ /* shortcut */ |
|
1 |
0 |
if(gvp && isGV(*gvp) && GvCV(*gvp)){ /* shortcut */ |
|
1 |
0 |
if(gvp && isGV(*gvp) && GvCV(*gvp)){ /* shortcut */ |
776
|
4 |
0 |
if(IsObject(instance)){ |
|
4 |
0 |
if(IsObject(instance)){ |
782
|
4 |
0 |
if(myisa == NULL || GvCV(myisa) == GvCV(MY_CXT.universal_isa)){ |
|
3 |
1 |
if(myisa == NULL || GvCV(myisa) == GvCV(MY_CXT.universal_isa)){ |
784
|
2 |
1 |
|| typetiny_lookup_isa(aTHX_ instance_stash, HvNAME_get(stash)); |
|
2 |
0 |
|| typetiny_lookup_isa(aTHX_ instance_stash, HvNAME_get(stash)); |
|
2 |
0 |
|| typetiny_lookup_isa(aTHX_ instance_stash, HvNAME_get(stash)); |
|
0 |
2 |
|| typetiny_lookup_isa(aTHX_ instance_stash, HvNAME_get(stash)); |
|
0 |
0 |
|| typetiny_lookup_isa(aTHX_ instance_stash, HvNAME_get(stash)); |
|
2 |
0 |
|| typetiny_lookup_isa(aTHX_ instance_stash, HvNAME_get(stash)); |
|
0 |
2 |
|| typetiny_lookup_isa(aTHX_ instance_stash, HvNAME_get(stash)); |
|
1 |
1 |
|| typetiny_lookup_isa(aTHX_ instance_stash, HvNAME_get(stash)); |
789
|
1 |
0 |
CV *isacv = isGV(myisa) ? GvCV(myisa) : (CV *)myisa; |
794
|
1 |
0 |
package = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U); |
|
1 |
0 |
package = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U); |
|
0 |
1 |
package = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U); |
|
0 |
0 |
package = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U); |
|
1 |
0 |
package = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U); |
|
0 |
1 |
package = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U); |
|
1 |
0 |
package = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U); |
|
1 |
0 |
package = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U); |
|
0 |
1 |
package = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U); |
|
0 |
0 |
package = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U); |
|
1 |
0 |
package = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U); |
|
0 |
1 |
package = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U); |
801
|
0 |
1 |
EXTEND(SP, 2); |
802
|
0 |
1 |
PUSHMARK(SP); |
811
|
1 |
0 |
ret = SvTRUE(retsv); |
|
0 |
1 |
ret = SvTRUE(retsv); |
|
0 |
0 |
ret = SvTRUE(retsv); |
|
0 |
1 |
ret = SvTRUE(retsv); |
|
0 |
0 |
ret = SvTRUE(retsv); |
|
0 |
0 |
ret = SvTRUE(retsv); |
|
0 |
1 |
ret = SvTRUE(retsv); |
|
0 |
0 |
ret = SvTRUE(retsv); |
|
0 |
0 |
ret = SvTRUE(retsv); |
|
0 |
0 |
ret = SvTRUE(retsv); |
|
0 |
0 |
ret = SvTRUE(retsv); |
|
0 |
0 |
ret = SvTRUE(retsv); |
|
1 |
0 |
ret = SvTRUE(retsv); |
|
1 |
0 |
ret = SvTRUE(retsv); |
|
0 |
1 |
ret = SvTRUE(retsv); |
|
0 |
0 |
ret = SvTRUE(retsv); |
|
0 |
0 |
ret = SvTRUE(retsv); |
|
1 |
0 |
ret = SvTRUE(retsv); |
|
0 |
0 |
ret = SvTRUE(retsv); |
814
|
1 |
0 |
FREETMPS; |
826
|
0 |
0 |
return SvROK(sv) && SvOBJECT(SvRV(sv)); |
|
0 |
0 |
return SvROK(sv) && SvOBJECT(SvRV(sv)); |
831
|
0 |
0 |
if(IsObject(instance)){ |
|
0 |
0 |
if(IsObject(instance)){ |
835
|
0 |
0 |
bool const use_builtin = (mycan == NULL || GvCV(mycan) == GvCV(MY_CXT.universal_can)) ? TRUE : FALSE; |
|
0 |
0 |
bool const use_builtin = (mycan == NULL || GvCV(mycan) == GvCV(MY_CXT.universal_can)) ? TRUE : FALSE; |
838
|
0 |
0 |
for(i = 0; i < len; i++){ |
839
|
0 |
0 |
SV* const name = TYPETINY_av_at(methods, i); |
841
|
0 |
0 |
if(use_builtin){ |
842
|
0 |
0 |
if(!find_method_pvn(mystash, SvPVX(name), SvCUR(name))){ |
854
|
0 |
0 |
FREETMPS; |
857
|
0 |
0 |
if(!ok){ |
883
|
21 |
540 |
if(!name){ |
893
|
1 |
0 |
const char* klass_pv = SvPV_const(klass, klass_len); |
899
|
1 |
0 |
if(strNE(klass_pv, "UNIVERSAL")){ |
923
|
0 |
0 |
for(i = 0; i < len; i++){ |
926
|
0 |
0 |
const char* const pv = SvPV_const(name, pvlen); |
941
|
1 |
185 |
if(items < 1){ |
946
|
0 |
185 |
SvGETMAGIC(sv); |
|
0 |
0 |
SvGETMAGIC(sv); |
949
|
81 |
105 |
ST(0) = boolSV( CALL_FPTR((check_fptr_t)mg->mg_ptr)(aTHX_ mg->mg_obj, sv) ); |
986
|
0 |
18 |
PUSHMARK(MARK); |
1064
|
18 |
2 |
if(ix == TYPETINY_TC_MAP |
1065
|
16 |
2 |
|| ix == TYPETINY_TC_TUPLE |
1066
|
13 |
3 |
|| ix == TYPETINY_TC_ENUM |
1067
|
12 |
1 |
|| ix == TYPETINY_TC_ANYOF |
1068
|
1 |
11 |
|| ix == TYPETINY_TC_ALLOF) { |
1069
|
9 |
0 |
if(!IsArrayRef(tc_code)){ |
|
9 |
0 |
if(!IsArrayRef(tc_code)){ |
|
0 |
9 |
if(!IsArrayRef(tc_code)){ |
1074
|
11 |
0 |
if(!IsCodeRef(tc_code)){ |
|
11 |
0 |
if(!IsCodeRef(tc_code)){ |
|
0 |
11 |
if(!IsCodeRef(tc_code)){ |