| 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)){ |