line |
true |
false |
branch |
34
|
5 |
18 |
PANDA_GLOBAL_MEMBER_AS_PTR(PayloadMarker, payload_marker_t, get, payload_marker_t()); |
47
|
3 |
0 |
Sv (T* sv, bool policy = INCREMENT) : sv((SV*)sv) { if (policy == INCREMENT) SvREFCNT_inc_simple_void(sv); } |
|
3 |
0 |
Sv (T* sv, bool policy = INCREMENT) : sv((SV*)sv) { if (policy == INCREMENT) SvREFCNT_inc_simple_void(sv); } |
|
109 |
0 |
Sv (T* sv, bool policy = INCREMENT) : sv((SV*)sv) { if (policy == INCREMENT) SvREFCNT_inc_simple_void(sv); } |
|
109 |
0 |
Sv (T* sv, bool policy = INCREMENT) : sv((SV*)sv) { if (policy == INCREMENT) SvREFCNT_inc_simple_void(sv); } |
|
274 |
86 |
Sv (T* sv, bool policy = INCREMENT) : sv((SV*)sv) { if (policy == INCREMENT) SvREFCNT_inc_simple_void(sv); } |
|
274 |
0 |
Sv (T* sv, bool policy = INCREMENT) : sv((SV*)sv) { if (policy == INCREMENT) SvREFCNT_inc_simple_void(sv); } |
56
|
13 |
0 |
SvREFCNT_inc_simple_void(val); |
|
13 |
0 |
SvREFCNT_inc_simple_void(val); |
59
|
13 |
0 |
SvREFCNT_dec(old); |
|
13 |
0 |
SvREFCNT_dec(old); |
87
|
106 |
0 |
bool defined () const { return sv && SvOK(sv); } |
|
2 |
104 |
bool defined () const { return sv && SvOK(sv); } |
|
2 |
0 |
bool defined () const { return sv && SvOK(sv); } |
|
0 |
2 |
bool defined () const { return sv && SvOK(sv); } |
92
|
34 |
0 |
bool is_scalar () const { return sv && is_scalar_unsafe(); } |
|
24 |
10 |
bool is_scalar () const { return sv && is_scalar_unsafe(); } |
93
|
82 |
0 |
bool is_ref () const { return sv && SvROK(sv); } |
|
69 |
13 |
bool is_ref () const { return sv && SvROK(sv); } |
94
|
108 |
0 |
bool is_simple () const { return sv && SvTYPE(sv) <= SVt_PVMG && !SvROK(sv); } |
|
108 |
0 |
bool is_simple () const { return sv && SvTYPE(sv) <= SVt_PVMG && !SvROK(sv); } |
|
54 |
54 |
bool is_simple () const { return sv && SvTYPE(sv) <= SVt_PVMG && !SvROK(sv); } |
96
|
50 |
0 |
bool is_like_number () const { return sv && looks_like_number(sv); } |
|
6 |
44 |
bool is_like_number () const { return sv && looks_like_number(sv); } |
99
|
2 |
0 |
bool is_hash () const { return sv && type() == SVt_PVHV; } |
|
0 |
2 |
bool is_hash () const { return sv && type() == SVt_PVHV; } |
105
|
54 |
0 |
bool is_object_ref () const { return is_ref() && SvOBJECT(SvRV(sv)); } |
|
3 |
51 |
bool is_object_ref () const { return is_ref() && SvOBJECT(SvRV(sv)); } |
106
|
0 |
2 |
bool is_stash () const { return is_hash() && HvNAME(sv); } |
|
0 |
0 |
bool is_stash () const { return is_hash() && HvNAME(sv); } |
|
0 |
0 |
bool is_stash () const { return is_hash() && HvNAME(sv); } |
|
0 |
0 |
bool is_stash () const { return is_hash() && HvNAME(sv); } |
|
0 |
0 |
bool is_stash () const { return is_hash() && HvNAME(sv); } |
|
0 |
0 |
bool is_stash () const { return is_hash() && HvNAME(sv); } |
|
0 |
0 |
bool is_stash () const { return is_hash() && HvNAME(sv); } |
|
0 |
0 |
bool is_stash () const { return is_hash() && HvNAME(sv); } |
110
|
124 |
0 |
bool is_ref_of_type (svtype type) const { return sv && SvROK(sv) && SvTYPE(SvRV(sv)) == type; } |
|
124 |
0 |
bool is_ref_of_type (svtype type) const { return sv && SvROK(sv) && SvTYPE(SvRV(sv)) == type; } |
|
52 |
72 |
bool is_ref_of_type (svtype type) const { return sv && SvROK(sv) && SvTYPE(SvRV(sv)) == type; } |
134
|
3 |
74 |
if (type() < SVt_PVMG) return false; |
135
|
78 |
33 |
for (MAGIC* mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) if (mg->mg_virtual == marker) return true; |
|
41 |
37 |
for (MAGIC* mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) if (mg->mg_virtual == marker) return true; |
140
|
0 |
27 |
if (type() < SVt_PVMG) return Payload(); |
141
|
40 |
0 |
for (MAGIC* mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) if (mg->mg_virtual == marker) return Payload { mg->mg_ptr, mg->mg_obj }; |
|
27 |
13 |
for (MAGIC* mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) if (mg->mg_virtual == marker) return Payload { mg->mg_ptr, mg->mg_obj }; |
170
|
0 |
0 |
inline bool is_undef() const { return (SvTYPE(sv) <= SVt_PVMG && !SvOK(sv)); } |
|
0 |
0 |
inline bool is_undef() const { return (SvTYPE(sv) <= SVt_PVMG && !SvOK(sv)); } |
|
0 |
0 |
inline bool is_undef() const { return (SvTYPE(sv) <= SVt_PVMG && !SvOK(sv)); } |
|
0 |
0 |
inline bool is_undef() const { return (SvTYPE(sv) <= SVt_PVMG && !SvOK(sv)); } |
171
|
10 |
36 |
inline bool is_scalar_unsafe() const { return (SvTYPE(sv) <= SVt_PVMG || SvTYPE(sv) == SVt_PVGV); } |
|
0 |
10 |
inline bool is_scalar_unsafe() const { return (SvTYPE(sv) <= SVt_PVMG || SvTYPE(sv) == SVt_PVGV); } |