| line |
true |
false |
branch |
|
29
|
131 |
0 |
if(CvXSUB(cv) == XS_TypeTiny_constraint_check){ /* built-in type constraints */ |
|
35
|
0 |
131 |
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 |
39 |
if(*p == '-') p++; |
|
151
|
6 |
39 |
if (!*p) return FALSE; |
|
153
|
75 |
15 |
while(*p){ |
|
154
|
24 |
51 |
if(!isDIGIT(*p)){ |
|
164
|
4 |
4 |
if(nv == (NV)(IV)nv){ |
|
178
|
2 |
45 |
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)) { |
|
|
43 |
2 |
if (SvOK(sv) && !SvROK(sv) && !isGV(sv)) { |
|
|
43 |
0 |
if (SvOK(sv) && !SvROK(sv) && !isGV(sv)) { |
|
179
|
18 |
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 |
2 |
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); |
|
|
2 |
0 |
return SvOK(sv) && !SvROK(sv) && !isGV(sv); |
|
|
2 |
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)){ |
|
504
|
5 |
0 |
if( IsArrayRef(sv) ) { |
|
|
2 |
3 |
if( IsArrayRef(sv) ) { |
|
|
2 |
0 |
if( IsArrayRef(sv) ) { |
|
508
|
3 |
0 |
if( SvAMAGIC(sv) |
|
|
3 |
0 |
if( SvAMAGIC(sv) |
|
|
3 |
0 |
if( SvAMAGIC(sv) |
|
509
|
3 |
0 |
&& ( stash = SvSTASH(SvRV(sv)) ) |
|
510
|
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) |
|
511
|
3 |
0 |
&& ( mg = mg_find((const SV*)stash, PERL_MAGIC_overload_table) ) |
|
512
|
3 |
0 |
&& AMT_AMAGIC( amtp = (AMT*)mg->mg_ptr ) |
|
513
|
3 |
0 |
&& ( cvp = amtp->table ) |
|
514
|
2 |
1 |
&& cvp[0x02] |
|
520
|
0 |
2 |
EXTEND(SP, 1); |
|
521
|
0 |
2 |
PUSHMARK(SP); |
|
528
|
2 |
0 |
FREETMPS; |
|
534
|
21 |
1 |
for(i = 0; i < len; i++){ |
|
536
|
1 |
20 |
if(!typetiny_tc_check(aTHX_ param, value)){ |
|
547
|
14 |
2 |
if(IsHashRef(sv)){ |
|
|
14 |
0 |
if(IsHashRef(sv)){ |
|
|
13 |
1 |
if(IsHashRef(sv)){ |
|
552
|
14 |
10 |
while((he = hv_iternext(hv))){ |
|
554
|
3 |
11 |
if(!typetiny_tc_check(aTHX_ param, value)){ |
|
574
|
7 |
0 |
if( IsHashRef(sv) ) { |
|
|
4 |
3 |
if( IsHashRef(sv) ) { |
|
|
3 |
1 |
if( IsHashRef(sv) ) { |
|
578
|
4 |
0 |
if( SvAMAGIC(sv) |
|
|
3 |
1 |
if( SvAMAGIC(sv) |
|
|
3 |
0 |
if( SvAMAGIC(sv) |
|
579
|
3 |
0 |
&& ( stash = SvSTASH(SvRV(sv)) ) |
|
580
|
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) |
|
581
|
3 |
0 |
&& ( mg = mg_find((const SV*)stash, PERL_MAGIC_overload_table) ) |
|
582
|
3 |
0 |
&& AMT_AMAGIC( amtp = (AMT*)mg->mg_ptr ) |
|
583
|
3 |
0 |
&& ( cvp = amtp->table ) |
|
584
|
2 |
1 |
&& cvp[0x03] |
|
590
|
0 |
2 |
EXTEND(SP, 1); |
|
591
|
0 |
2 |
PUSHMARK(SP); |
|
598
|
2 |
0 |
FREETMPS; |
|
605
|
2 |
1 |
while((he = hv_iternext(hv))){ |
|
607
|
1 |
1 |
if(!typetiny_tc_check(aTHX_ param, value)){ |
|
619
|
7 |
1 |
if(IsHashRef(sv)){ |
|
|
7 |
0 |
if(IsHashRef(sv)){ |
|
|
6 |
1 |
if(IsHashRef(sv)){ |
|
628
|
6 |
3 |
while((he = hv_iternext(hv))){ |
|
632
|
5 |
1 |
if(!typetiny_tc_check(aTHX_ param1, key) |
|
633
|
2 |
3 |
|| !typetiny_tc_check(aTHX_ param2, value)){ |
|
646
|
9 |
0 |
if(IsArrayRef(sv)){ |
|
|
9 |
0 |
if(IsArrayRef(sv)){ |
|
|
8 |
1 |
if(IsArrayRef(sv)){ |
|
651
|
3 |
5 |
if (len - 1 != av_len(params)) { |
|
655
|
13 |
3 |
for(i = 0; i < len; i++){ |
|
658
|
2 |
11 |
if(!typetiny_tc_check(aTHX_ check, value)){ |
|
674
|
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))) { |
|
680
|
49 |
7 |
for(i = 0; i < len; i++){ |
|
682
|
10 |
39 |
if(sv_eq(sv, x)){ |
|
692
|
0 |
0 |
if(SvOK(sv)){ |
|
|
0 |
0 |
if(SvOK(sv)){ |
|
|
0 |
0 |
if(SvOK(sv)){ |
|
716
|
12 |
4 |
for(i = 0; i < len; i++){ |
|
717
|
3 |
9 |
if(typetiny_tc_check(aTHX_ AvARRAY(types)[i], sv)){ |
|
735
|
9 |
2 |
for(i = 0; i < len; i++){ |
|
736
|
4 |
5 |
if(!typetiny_tc_check(aTHX_ AvARRAY(types)[i], sv)){ |
|
760
|
0 |
4 |
if(name[0] == ':' && name[1] == ':'){ |
|
|
0 |
0 |
if(name[0] == ':' && name[1] == ':'){ |
|
765
|
0 |
4 |
while(strnEQ(name, "main::", sizeof("main::")-1)){ |
|
778
|
3 |
1 |
while(svp != end){ |
|
780
|
1 |
2 |
if(strEQ(klass_pv, typetiny_canonicalize_package_name(SvPVX(*svp)))){ |
|
794
|
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 */ |
|
806
|
4 |
0 |
if(IsObject(instance)){ |
|
|
4 |
0 |
if(IsObject(instance)){ |
|
812
|
4 |
0 |
if(myisa == NULL || GvCV(myisa) == GvCV(MY_CXT.universal_isa)){ |
|
|
3 |
1 |
if(myisa == NULL || GvCV(myisa) == GvCV(MY_CXT.universal_isa)){ |
|
814
|
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)); |
|
819
|
1 |
0 |
CV *isacv = isGV(myisa) ? GvCV(myisa) : (CV *)myisa; |
|
824
|
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); |
|
831
|
0 |
1 |
EXTEND(SP, 2); |
|
832
|
0 |
1 |
PUSHMARK(SP); |
|
841
|
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); |
|
844
|
1 |
0 |
FREETMPS; |
|
856
|
0 |
0 |
return SvROK(sv) && SvOBJECT(SvRV(sv)); |
|
|
0 |
0 |
return SvROK(sv) && SvOBJECT(SvRV(sv)); |
|
861
|
0 |
0 |
if(IsObject(instance)){ |
|
|
0 |
0 |
if(IsObject(instance)){ |
|
865
|
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; |
|
868
|
0 |
0 |
for(i = 0; i < len; i++){ |
|
869
|
0 |
0 |
SV* const name = TYPETINY_av_at(methods, i); |
|
871
|
0 |
0 |
if(use_builtin){ |
|
872
|
0 |
0 |
if(!find_method_pvn(mystash, SvPVX(name), SvCUR(name))){ |
|
884
|
0 |
0 |
FREETMPS; |
|
887
|
0 |
0 |
if(!ok){ |
|
913
|
21 |
540 |
if(!name){ |
|
923
|
1 |
0 |
const char* klass_pv = SvPV_const(klass, klass_len); |
|
929
|
1 |
0 |
if(strNE(klass_pv, "UNIVERSAL")){ |
|
953
|
0 |
0 |
for(i = 0; i < len; i++){ |
|
956
|
0 |
0 |
const char* const pv = SvPV_const(name, pvlen); |
|
971
|
1 |
185 |
if(items < 1){ |
|
976
|
0 |
185 |
SvGETMAGIC(sv); |
|
|
0 |
0 |
SvGETMAGIC(sv); |
|
979
|
81 |
105 |
ST(0) = boolSV( CALL_FPTR((check_fptr_t)mg->mg_ptr)(aTHX_ mg->mg_obj, sv) ); |
|
1016
|
0 |
18 |
PUSHMARK(MARK); |
|
1094
|
18 |
2 |
if(ix == TYPETINY_TC_MAP |
|
1095
|
16 |
2 |
|| ix == TYPETINY_TC_TUPLE |
|
1096
|
13 |
3 |
|| ix == TYPETINY_TC_ENUM |
|
1097
|
12 |
1 |
|| ix == TYPETINY_TC_ANYOF |
|
1098
|
1 |
11 |
|| ix == TYPETINY_TC_ALLOF) { |
|
1099
|
9 |
0 |
if(!IsArrayRef(tc_code)){ |
|
|
9 |
0 |
if(!IsArrayRef(tc_code)){ |
|
|
0 |
9 |
if(!IsArrayRef(tc_code)){ |
|
1104
|
11 |
0 |
if(!IsCodeRef(tc_code)){ |
|
|
11 |
0 |
if(!IsCodeRef(tc_code)){ |
|
|
0 |
11 |
if(!IsCodeRef(tc_code)){ |