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