line |
true |
false |
branch |
7
|
0 |
0 |
throw Simple::format("Export::XS: context package '%" SVf "' doesn't exist", SVfARG(name.get())); |
14
|
16 |
0 |
Stash caller_stash = CopSTASH(PL_curcop); |
17
|
16 |
0 |
panda::string_view ctx_clname = ctx_class; |
18
|
16 |
0 |
if (ctx_clname == "Export::XS") create = true; |
|
8 |
8 |
if (ctx_clname == "Export::XS") create = true; |
19
|
8 |
0 |
else if (ctx_clname == "Export::XS::Auto") { |
|
2 |
6 |
else if (ctx_clname == "Export::XS::Auto") { |
21
|
2 |
0 |
autoexport(caller_stash); |
|
2 |
0 |
autoexport(caller_stash); |
24
|
10 |
6 |
if (create) { |
25
|
3 |
7 |
if (items < 2) XSRETURN_EMPTY; |
26
|
7 |
0 |
if (Sv(ST(1)).is_hash_ref()) create_constants(caller_stash, ST(1)); |
|
3 |
4 |
if (Sv(ST(1)).is_hash_ref()) create_constants(caller_stash, ST(1)); |
|
3 |
0 |
if (Sv(ST(1)).is_hash_ref()) create_constants(caller_stash, ST(1)); |
|
3 |
0 |
if (Sv(ST(1)).is_hash_ref()) create_constants(caller_stash, ST(1)); |
|
2 |
1 |
if (Sv(ST(1)).is_hash_ref()) create_constants(caller_stash, ST(1)); |
27
|
4 |
0 |
else create_constants(caller_stash, &ST(1), items-1); |
|
3 |
1 |
else create_constants(caller_stash, &ST(1), items-1); |
30
|
6 |
0 |
auto ctx_stash = Stash::from_name(ctx_class); |
31
|
0 |
6 |
if (!ctx_stash) throw_nopackage(ctx_class); |
|
0 |
0 |
if (!ctx_stash) throw_nopackage(ctx_class); |
32
|
4 |
2 |
if (items > 1) { |
33
|
9 |
3 |
for (I32 i = 1; i < items; ++i) { |
34
|
9 |
0 |
panda::string_view name = Simple(ST(i)); |
|
9 |
0 |
panda::string_view name = Simple(ST(i)); |
35
|
9 |
0 |
if (name == ":const") export_constants(ctx_stash, caller_stash); |
|
1 |
8 |
if (name == ":const") export_constants(ctx_stash, caller_stash); |
|
1 |
0 |
if (name == ":const") export_constants(ctx_stash, caller_stash); |
|
1 |
0 |
if (name == ":const") export_constants(ctx_stash, caller_stash); |
36
|
8 |
0 |
else export_sub(ctx_stash, caller_stash, name); |
|
7 |
1 |
else export_sub(ctx_stash, caller_stash, name); |
39
|
2 |
0 |
else export_constants(ctx_stash, caller_stash); |
|
2 |
0 |
else export_constants(ctx_stash, caller_stash); |
44
|
0 |
0 |
auto ctx_stash = Stash::from_name(ctx_class); |
|
0 |
0 |
auto ctx_stash = Stash::from_name(ctx_class); |
45
|
0 |
0 |
if (!ctx_stash) throw_nopackage(ctx_class); |
|
0 |
0 |
if (!ctx_stash) throw_nopackage(ctx_class); |
46
|
0 |
0 |
RETVAL = constants_list(ctx_stash); |
50
|
0 |
0 |
auto ctx_stash = Stash::from_name(ctx_class); |
51
|
0 |
0 |
auto trg_stash = Stash::from_name(trg_class); |
53
|
0 |
0 |
export_constants(ctx_stash, trg_stash); |
|
0 |
0 |
export_constants(ctx_stash, trg_stash); |