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