line |
true |
false |
branch |
104
|
0 |
0 |
PUSHMARK(SP); |
105
|
0 |
0 |
EXTEND(SP, 6); |
110
|
0 |
0 |
if(data){ /* extra arg, might be useful for debugging */ |
117
|
0 |
0 |
if(SvOK(metaobject)) { |
|
0 |
0 |
if(SvOK(metaobject)) { |
|
0 |
0 |
if(SvOK(metaobject)) { |
158
|
0 |
1 |
SvGETMAGIC(value); |
|
0 |
0 |
SvGETMAGIC(value); |
159
|
0 |
1 |
if(!SvOK(value)){ |
|
0 |
0 |
if(!SvOK(value)){ |
|
0 |
0 |
if(!SvOK(value)){ |
169
|
0 |
0 |
SvGETMAGIC(value); |
|
0 |
0 |
SvGETMAGIC(value); |
170
|
0 |
0 |
if(!(SvROK(value) && (t == SVt_NULL || SvTYPE(SvRV(value)) == t))) { |
|
0 |
0 |
if(!(SvROK(value) && (t == SVt_NULL || SvTYPE(SvRV(value)) == t))) { |
|
0 |
0 |
if(!(SvROK(value) && (t == SVt_NULL || SvTYPE(SvRV(value)) == t))) { |
171
|
0 |
0 |
croak("You must pass %s, not %s", |
172
|
0 |
0 |
name, SvOK(value) ? SvPV_nolen(value) : "undef"); |
|
0 |
0 |
name, SvOK(value) ? SvPV_nolen(value) : "undef"); |
|
0 |
0 |
name, SvOK(value) ? SvPV_nolen(value) : "undef"); |
183
|
0 |
0 |
if (!(SvPOKp(klass) && SvCUR(klass))) { /* XXX: SvPOK does not work with magical scalars */ |
|
0 |
0 |
if (!(SvPOKp(klass) && SvCUR(klass))) { /* XXX: SvPOK does not work with magical scalars */ |
188
|
0 |
0 |
if (!stash) { |
192
|
0 |
0 |
if (( gvp = (GV**)hv_fetchs(stash, "VERSION", FALSE) )) { |
193
|
0 |
0 |
if(isGV(*gvp) && GvSV(*gvp) && SvOK(GvSV(*gvp))){ |
|
0 |
0 |
if(isGV(*gvp) && GvSV(*gvp) && SvOK(GvSV(*gvp))){ |
|
0 |
0 |
if(isGV(*gvp) && GvSV(*gvp) && SvOK(GvSV(*gvp))){ |
|
0 |
0 |
if(isGV(*gvp) && GvSV(*gvp) && SvOK(GvSV(*gvp))){ |
|
0 |
0 |
if(isGV(*gvp) && GvSV(*gvp) && SvOK(GvSV(*gvp))){ |
198
|
0 |
0 |
if (( gvp = (GV**)hv_fetchs(stash, "ISA", FALSE) )) { |
199
|
0 |
0 |
if(isGV(*gvp) && GvAV(*gvp) && av_len(GvAV(*gvp)) != -1){ |
|
0 |
0 |
if(isGV(*gvp) && GvAV(*gvp) && av_len(GvAV(*gvp)) != -1){ |
|
0 |
0 |
if(isGV(*gvp) && GvAV(*gvp) && av_len(GvAV(*gvp)) != -1){ |
205
|
0 |
0 |
while(( he = hv_iternext(stash) )){ |
208
|
0 |
0 |
if(isGV(gv)){ |
209
|
0 |
0 |
if(GvCVu(gv)){ /* is GV and has CV */ |
|
0 |
0 |
if(GvCVu(gv)){ /* is GV and has CV */ |
214
|
0 |
0 |
else if(SvOK(gv)){ /* is a stub or constant */ |
|
0 |
0 |
else if(SvOK(gv)){ /* is a stub or constant */ |
|
0 |
0 |
else if(SvOK(gv)){ /* is a stub or constant */ |
228
|
0 |
0 |
PUSHMARK(SP); |
229
|
0 |
0 |
XPUSHs(self); |
246
|
0 |
0 |
PUSHMARK(SP); |
247
|
0 |
0 |
EXTEND(SP, 2); |
274
|
0 |
0 |
if(IsObject(metaclass_name)){ |
|
0 |
0 |
if(IsObject(metaclass_name)){ |
277
|
0 |
0 |
metaclass_name = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U); |
|
0 |
0 |
metaclass_name = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U); |
|
0 |
0 |
metaclass_name = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U); |
|
0 |
0 |
metaclass_name = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U); |
|
0 |
0 |
metaclass_name = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U); |
|
0 |
0 |
metaclass_name = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U); |
|
0 |
0 |
metaclass_name = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U); |
|
0 |
0 |
metaclass_name = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U); |
|
0 |
0 |
metaclass_name = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U); |
|
0 |
0 |
metaclass_name = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U); |
|
0 |
0 |
metaclass_name = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U); |
|
0 |
0 |
metaclass_name = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U); |
283
|
0 |
0 |
return he ? HeVAL(he) : &PL_sv_undef; |
291
|
0 |
0 |
for(mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic){ |
292
|
0 |
0 |
if(mg->mg_virtual == vtbl){ |
297
|
0 |
0 |
if(flags & TYPETINYf_DIE_ON_FAIL){ |
305
|
0 |
0 |
GV** const gvp = (GV**)hv_fetch(stash, name, namelen, create); |
307
|
0 |
0 |
if(gvp){ |
308
|
0 |
0 |
if(!isGV(*gvp)){ |
327
|
0 |
0 |
if(GvCVu(gv)){ /* delete *slot{gv} to work around "redefine" warning */ |
|
0 |
0 |
if(GvCVu(gv)){ /* delete *slot{gv} to work around "redefine" warning */ |
336
|
0 |
0 |
if(CvANON(cv) |
337
|
0 |
0 |
&& CvGV(cv) /* a cv under construction has no gv */ ){ |
341
|
0 |
0 |
if((PL_perldb & (PERLDBf_SUBLINE|PERLDB_NAMEANON)) |
342
|
0 |
0 |
&& PL_DBsub && (dbsub = GvHV(PL_DBsub)) |
|
0 |
0 |
&& PL_DBsub && (dbsub = GvHV(PL_DBsub)) |
350
|
0 |
0 |
if(orig){ |
377
|
0 |
0 |
if(cloning){ |
383
|
0 |
0 |
if(MY_CXT.metas && ckWARN(WARN_REDEFINE)){ |
|
0 |
0 |
if(MY_CXT.metas && ckWARN(WARN_REDEFINE)){ |
395
|
0 |
1 |
SvGETMAGIC(sv); |
|
0 |
0 |
SvGETMAGIC(sv); |
396
|
1 |
0 |
if(SvPOKp(sv) && SvCUR(sv) > 0){ |
|
1 |
0 |
if(SvPOKp(sv) && SvCUR(sv) > 0){ |
399
|
3 |
1 |
for(i = 0; i < SvCUR(sv); i++){ |
401
|
0 |
3 |
if(!(isALNUM(c) || c == ':')){ |
|
0 |
0 |
if(!(isALNUM(c) || c == ':')){ |
423
|
0 |
0 |
if((gv = CvGV(code)) && isGV(gv) && (stash = GvSTASH(gv))){ |
|
0 |
0 |
if((gv = CvGV(code)) && isGV(gv) && (stash = GvSTASH(gv))){ |
|
0 |
0 |
if((gv = CvGV(code)) && isGV(gv) && (stash = GvSTASH(gv))){ |
424
|
0 |
0 |
EXTEND(SP, 2); |
425
|
0 |
0 |
mPUSHs(newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U)); |
|
0 |
0 |
mPUSHs(newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U)); |
|
0 |
0 |
mPUSHs(newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U)); |
|
0 |
0 |
mPUSHs(newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U)); |
|
0 |
0 |
mPUSHs(newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U)); |
|
0 |
0 |
mPUSHs(newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U)); |
|
0 |
0 |
mPUSHs(newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U)); |
|
0 |
0 |
mPUSHs(newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U)); |
|
0 |
0 |
mPUSHs(newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U)); |
|
0 |
0 |
mPUSHs(newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U)); |
|
0 |
0 |
mPUSHs(newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U)); |
|
0 |
0 |
mPUSHs(newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U)); |
434
|
0 |
0 |
if(CvGV(code) && isGV(CvGV(code)) && (stash = GvSTASH(CvGV(code)))){ |
|
0 |
0 |
if(CvGV(code) && isGV(CvGV(code)) && (stash = GvSTASH(CvGV(code)))){ |
|
0 |
0 |
if(CvGV(code) && isGV(CvGV(code)) && (stash = GvSTASH(CvGV(code)))){ |
435
|
0 |
0 |
RETVAL = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U); |
|
0 |
0 |
RETVAL = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U); |
|
0 |
0 |
RETVAL = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U); |
|
0 |
0 |
RETVAL = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U); |
|
0 |
0 |
RETVAL = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U); |
|
0 |
0 |
RETVAL = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U); |
|
0 |
0 |
RETVAL = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U); |
|
0 |
0 |
RETVAL = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U); |
|
0 |
0 |
RETVAL = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U); |
|
0 |
0 |
RETVAL = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U); |
|
0 |
0 |
RETVAL = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U); |
|
0 |
0 |
RETVAL = newSVpvn_share(HvNAME_get(stash), HvNAMELEN_get(stash), 0U); |
456
|
0 |
0 |
if(!stash){ |
460
|
0 |
0 |
name_pv = SvPV_const(name, name_len); |
462
|
0 |
0 |
RETVAL = gv ? GvCVu(gv) : NULL; |
|
0 |
0 |
RETVAL = gv ? GvCVu(gv) : NULL; |
464
|
0 |
0 |
if(!RETVAL){ |
481
|
1 |
0 |
must_defined(arg, ix == 0 ? "a class_name" : "method names"); |
483
|
0 |
1 |
if(predicate_name){ |
485
|
0 |
0 |
name_pv = SvPV_nolen_const(predicate_name); |
488
|
1 |
0 |
if(ix == 0){ |
495
|
1 |
0 |
if(predicate_name == NULL){ /* anonymous predicate */ |
496
|
0 |
1 |
mXPUSHs( newRV_inc((SV*)xsub) ); |
511
|
0 |
0 |
if( ((items-1) % 2) != 0 ){ |
515
|
0 |
0 |
for(i = 1; i < items; i += 2) { |
525
|
0 |
0 |
pv = SvPV_const(name, len); |