line |
true |
false |
branch |
13
|
1 |
5 |
if (!clists) clists = newHV(); |
14
|
6 |
0 |
SV* clist = *hv_fetch(clists, HvNAME(stash), HvNAMELEN(stash), 1); |
|
6 |
0 |
SV* clist = *hv_fetch(clists, HvNAME(stash), HvNAMELEN(stash), 1); |
|
0 |
6 |
SV* clist = *hv_fetch(clists, HvNAME(stash), HvNAMELEN(stash), 1); |
|
0 |
0 |
SV* clist = *hv_fetch(clists, HvNAME(stash), HvNAMELEN(stash), 1); |
|
6 |
0 |
SV* clist = *hv_fetch(clists, HvNAME(stash), HvNAMELEN(stash), 1); |
|
0 |
6 |
SV* clist = *hv_fetch(clists, HvNAME(stash), HvNAMELEN(stash), 1); |
|
6 |
0 |
SV* clist = *hv_fetch(clists, HvNAME(stash), HvNAMELEN(stash), 1); |
|
6 |
0 |
SV* clist = *hv_fetch(clists, HvNAME(stash), HvNAMELEN(stash), 1); |
|
0 |
6 |
SV* clist = *hv_fetch(clists, HvNAME(stash), HvNAMELEN(stash), 1); |
|
0 |
0 |
SV* clist = *hv_fetch(clists, HvNAME(stash), HvNAMELEN(stash), 1); |
|
6 |
0 |
SV* clist = *hv_fetch(clists, HvNAME(stash), HvNAMELEN(stash), 1); |
|
0 |
6 |
SV* clist = *hv_fetch(clists, HvNAME(stash), HvNAMELEN(stash), 1); |
16
|
3 |
3 |
if (!SvOK(clist)) { |
|
3 |
0 |
if (!SvOK(clist)) { |
|
3 |
0 |
if (!SvOK(clist)) { |
17
|
3 |
0 |
SvUPGRADE(clist, SVt_RV); |
27
|
0 |
13 |
if (!stash_constants_list) stash_constants_list = constants_list(aTHX_ stash); |
29
|
1 |
12 |
if (!SvPOK(name)) EX_CROAK_BADNAME(HvNAME(stash), SvPV_nolen(name)); |
|
0 |
1 |
if (!SvPOK(name)) EX_CROAK_BADNAME(HvNAME(stash), SvPV_nolen(name)); |
|
1 |
0 |
if (!SvPOK(name)) EX_CROAK_BADNAME(HvNAME(stash), SvPV_nolen(name)); |
|
1 |
0 |
if (!SvPOK(name)) EX_CROAK_BADNAME(HvNAME(stash), SvPV_nolen(name)); |
|
0 |
1 |
if (!SvPOK(name)) EX_CROAK_BADNAME(HvNAME(stash), SvPV_nolen(name)); |
|
0 |
0 |
if (!SvPOK(name)) EX_CROAK_BADNAME(HvNAME(stash), SvPV_nolen(name)); |
|
1 |
0 |
if (!SvPOK(name)) EX_CROAK_BADNAME(HvNAME(stash), SvPV_nolen(name)); |
|
0 |
1 |
if (!SvPOK(name)) EX_CROAK_BADNAME(HvNAME(stash), SvPV_nolen(name)); |
30
|
0 |
12 |
if (!SvCUR(name)) EX_CROAK_NONAME(HvNAME(stash)); |
|
0 |
0 |
if (!SvCUR(name)) EX_CROAK_NONAME(HvNAME(stash)); |
|
0 |
0 |
if (!SvCUR(name)) EX_CROAK_NONAME(HvNAME(stash)); |
|
0 |
0 |
if (!SvCUR(name)) EX_CROAK_NONAME(HvNAME(stash)); |
|
0 |
0 |
if (!SvCUR(name)) EX_CROAK_NONAME(HvNAME(stash)); |
|
0 |
0 |
if (!SvCUR(name)) EX_CROAK_NONAME(HvNAME(stash)); |
|
0 |
0 |
if (!SvCUR(name)) EX_CROAK_NONAME(HvNAME(stash)); |
32
|
12 |
0 |
if (need_inc) { |
33
|
12 |
0 |
if (SvIsCOW_shared_hash(name)) SvREFCNT_inc(name); |
|
12 |
0 |
if (SvIsCOW_shared_hash(name)) SvREFCNT_inc(name); |
42
|
0 |
0 |
HEK* hek = CvNAMED(sub) ? CvNAME_HEK(sub) : GvNAME_HEK(CvGV(sub)); |
43
|
0 |
0 |
if (!hek) EX_CROAK_NONAME(HvNAME(stash)); |
|
0 |
0 |
if (!hek) EX_CROAK_NONAME(HvNAME(stash)); |
|
0 |
0 |
if (!hek) EX_CROAK_NONAME(HvNAME(stash)); |
|
0 |
0 |
if (!hek) EX_CROAK_NONAME(HvNAME(stash)); |
|
0 |
0 |
if (!hek) EX_CROAK_NONAME(HvNAME(stash)); |
|
0 |
0 |
if (!hek) EX_CROAK_NONAME(HvNAME(stash)); |
|
0 |
0 |
if (!hek) EX_CROAK_NONAME(HvNAME(stash)); |
61
|
0 |
14 |
if (!name) EX_CROAK_NONAME(HvNAME(stash)); |
|
0 |
0 |
if (!name) EX_CROAK_NONAME(HvNAME(stash)); |
|
0 |
0 |
if (!name) EX_CROAK_NONAME(HvNAME(stash)); |
|
0 |
0 |
if (!name) EX_CROAK_NONAME(HvNAME(stash)); |
|
0 |
0 |
if (!name) EX_CROAK_NONAME(HvNAME(stash)); |
|
0 |
0 |
if (!name) EX_CROAK_NONAME(HvNAME(stash)); |
|
0 |
0 |
if (!name) EX_CROAK_NONAME(HvNAME(stash)); |
65
|
1 |
13 |
if (sym_he && HeVAL(sym_he) && isGV(HeVAL(sym_he)) && GvCV(HeVAL(sym_he))) EX_CROAK_EXISTS(HvNAME(stash), SvPV_nolen(name)); |
|
1 |
0 |
if (sym_he && HeVAL(sym_he) && isGV(HeVAL(sym_he)) && GvCV(HeVAL(sym_he))) EX_CROAK_EXISTS(HvNAME(stash), SvPV_nolen(name)); |
|
1 |
0 |
if (sym_he && HeVAL(sym_he) && isGV(HeVAL(sym_he)) && GvCV(HeVAL(sym_he))) EX_CROAK_EXISTS(HvNAME(stash), SvPV_nolen(name)); |
|
1 |
0 |
if (sym_he && HeVAL(sym_he) && isGV(HeVAL(sym_he)) && GvCV(HeVAL(sym_he))) EX_CROAK_EXISTS(HvNAME(stash), SvPV_nolen(name)); |
|
1 |
0 |
if (sym_he && HeVAL(sym_he) && isGV(HeVAL(sym_he)) && GvCV(HeVAL(sym_he))) EX_CROAK_EXISTS(HvNAME(stash), SvPV_nolen(name)); |
|
1 |
0 |
if (sym_he && HeVAL(sym_he) && isGV(HeVAL(sym_he)) && GvCV(HeVAL(sym_he))) EX_CROAK_EXISTS(HvNAME(stash), SvPV_nolen(name)); |
|
1 |
0 |
if (sym_he && HeVAL(sym_he) && isGV(HeVAL(sym_he)) && GvCV(HeVAL(sym_he))) EX_CROAK_EXISTS(HvNAME(stash), SvPV_nolen(name)); |
|
0 |
1 |
if (sym_he && HeVAL(sym_he) && isGV(HeVAL(sym_he)) && GvCV(HeVAL(sym_he))) EX_CROAK_EXISTS(HvNAME(stash), SvPV_nolen(name)); |
|
0 |
0 |
if (sym_he && HeVAL(sym_he) && isGV(HeVAL(sym_he)) && GvCV(HeVAL(sym_he))) EX_CROAK_EXISTS(HvNAME(stash), SvPV_nolen(name)); |
|
1 |
0 |
if (sym_he && HeVAL(sym_he) && isGV(HeVAL(sym_he)) && GvCV(HeVAL(sym_he))) EX_CROAK_EXISTS(HvNAME(stash), SvPV_nolen(name)); |
|
0 |
1 |
if (sym_he && HeVAL(sym_he) && isGV(HeVAL(sym_he)) && GvCV(HeVAL(sym_he))) EX_CROAK_EXISTS(HvNAME(stash), SvPV_nolen(name)); |
70
|
12 |
0 |
if (value) SvREFCNT_inc(value); |
93
|
0 |
0 |
if (constant.svalue) create_constant(aTHX_ stash, constant.name, constant.svalue, stash_constants_list); |
99
|
0 |
3 |
XS_HV_ITER(constants, { |
|
3 |
0 |
XS_HV_ITER(constants, { |
|
31 |
2 |
XS_HV_ITER(constants, { |
|
13 |
30 |
XS_HV_ITER(constants, { |
107
|
1 |
0 |
if (!list || !items) return; |
|
0 |
1 |
if (!list || !items) return; |
109
|
1 |
0 |
for (size_t i = 0; i < items - 1; i += 2) { |
117
|
0 |
0 |
if (!list || !items) return; |
|
0 |
0 |
if (!list || !items) return; |
119
|
0 |
0 |
while (items--) { |
121
|
0 |
0 |
if (!constant.name) break; |
122
|
0 |
0 |
SV* namesv = newSVpvn_share(constant.name, strlen(constant.name), 0); |
123
|
0 |
0 |
SV* valuesv = constant.svalue ? newSVpv(constant.svalue, 0) : newSViv(constant.value); |
|
0 |
0 |
SV* valuesv = constant.svalue ? newSVpv(constant.svalue, 0) : newSViv(constant.value); |
|
0 |
0 |
SV* valuesv = constant.svalue ? newSVpv(constant.svalue, 0) : newSViv(constant.value); |
124
|
0 |
0 |
create_constant(aTHX_ stash, namesv, valuesv, clist); |
125
|
0 |
0 |
SvREFCNT_dec_NN(namesv); |
126
|
0 |
0 |
SvREFCNT_dec_NN(valuesv); |
132
|
26 |
1 |
GV* symentry = symentry_ent ? (GV*)HeVAL(symentry_ent) : NULL; |
133
|
26 |
1 |
if (!symentry || (isGV(symentry) && !GvCV(symentry))) EX_CROAK_NOSUB(HvNAME(from), SvPV_nolen(name)); |
|
26 |
0 |
if (!symentry || (isGV(symentry) && !GvCV(symentry))) EX_CROAK_NOSUB(HvNAME(from), SvPV_nolen(name)); |
|
0 |
26 |
if (!symentry || (isGV(symentry) && !GvCV(symentry))) EX_CROAK_NOSUB(HvNAME(from), SvPV_nolen(name)); |
|
1 |
0 |
if (!symentry || (isGV(symentry) && !GvCV(symentry))) EX_CROAK_NOSUB(HvNAME(from), SvPV_nolen(name)); |
|
1 |
0 |
if (!symentry || (isGV(symentry) && !GvCV(symentry))) EX_CROAK_NOSUB(HvNAME(from), SvPV_nolen(name)); |
|
1 |
0 |
if (!symentry || (isGV(symentry) && !GvCV(symentry))) EX_CROAK_NOSUB(HvNAME(from), SvPV_nolen(name)); |
|
0 |
1 |
if (!symentry || (isGV(symentry) && !GvCV(symentry))) EX_CROAK_NOSUB(HvNAME(from), SvPV_nolen(name)); |
|
0 |
0 |
if (!symentry || (isGV(symentry) && !GvCV(symentry))) EX_CROAK_NOSUB(HvNAME(from), SvPV_nolen(name)); |
|
1 |
0 |
if (!symentry || (isGV(symentry) && !GvCV(symentry))) EX_CROAK_NOSUB(HvNAME(from), SvPV_nolen(name)); |
|
0 |
1 |
if (!symentry || (isGV(symentry) && !GvCV(symentry))) EX_CROAK_NOSUB(HvNAME(from), SvPV_nolen(name)); |
141
|
0 |
0 |
GV* symentry = symentry_ref ? (GV*)(*symentry_ref) : NULL; |
142
|
0 |
0 |
if (!symentry || (isGV(symentry) && !GvCV(symentry))) EX_CROAK_NOSUB(HvNAME(from), name); |
|
0 |
0 |
if (!symentry || (isGV(symentry) && !GvCV(symentry))) EX_CROAK_NOSUB(HvNAME(from), name); |
|
0 |
0 |
if (!symentry || (isGV(symentry) && !GvCV(symentry))) EX_CROAK_NOSUB(HvNAME(from), name); |
|
0 |
0 |
if (!symentry || (isGV(symentry) && !GvCV(symentry))) EX_CROAK_NOSUB(HvNAME(from), name); |
|
0 |
0 |
if (!symentry || (isGV(symentry) && !GvCV(symentry))) EX_CROAK_NOSUB(HvNAME(from), name); |
|
0 |
0 |
if (!symentry || (isGV(symentry) && !GvCV(symentry))) EX_CROAK_NOSUB(HvNAME(from), name); |
|
0 |
0 |
if (!symentry || (isGV(symentry) && !GvCV(symentry))) EX_CROAK_NOSUB(HvNAME(from), name); |
|
0 |
0 |
if (!symentry || (isGV(symentry) && !GvCV(symentry))) EX_CROAK_NOSUB(HvNAME(from), name); |
|
0 |
0 |
if (!symentry || (isGV(symentry) && !GvCV(symentry))) EX_CROAK_NOSUB(HvNAME(from), name); |
156
|
28 |
5 |
while (items--) { |
158
|
0 |
28 |
if (!name) continue; |
160
|
1 |
27 |
if (name_str[0] == ':' && strEQ(name_str, ":const")) { |
|
1 |
0 |
if (name_str[0] == ':' && strEQ(name_str, ":const")) { |
163
|
1 |
0 |
if (AvARRAY(clist) != list) export_subs(aTHX_ from, to, AvARRAY(clist), AvFILLp(clist)+1); |
171
|
0 |
0 |
while (items--) { |
173
|
0 |
0 |
if (!name) break; |
174
|
0 |
0 |
if (name[0] == ':' && strEQ(name, ":const")) { |
|
0 |
0 |
if (name[0] == ':' && strEQ(name, ":const")) { |
183
|
2 |
0 |
}} |
|
2 |
0 |
}} |