line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
MODULE = Time::XS PACKAGE = Time::XS::Timezone |
2
|
|
|
|
|
|
|
PROTOTYPES: DISABLE |
3
|
|
|
|
|
|
|
|
4
|
2467
|
50
|
|
|
|
|
string name (TimezoneSP THIS) { RETVAL = THIS->name; } |
5
|
|
|
|
|
|
|
|
6
|
1229
|
|
|
|
|
|
bool is_local (TimezoneSP THIS) { RETVAL = THIS->is_local; } |
7
|
|
|
|
|
|
|
|
8
|
|
|
|
|
|
|
Hash export (TimezoneSP THIS) { |
9
|
1228
|
50
|
|
|
|
|
RETVAL = Hash::create(); |
10
|
|
|
|
|
|
|
|
11
|
1228
|
50
|
|
|
|
|
RETVAL.store("name", Simple(string_view(THIS->name.data(), THIS->name.length()))); |
|
|
50
|
|
|
|
|
|
12
|
1228
|
100
|
|
|
|
|
RETVAL.store("is_local", Simple(THIS->is_local ? 1 : 0)); |
|
|
50
|
|
|
|
|
|
|
|
50
|
|
|
|
|
|
13
|
|
|
|
|
|
|
|
14
|
2456
|
50
|
|
|
|
|
auto future = Hash::create(); |
|
|
50
|
|
|
|
|
|
15
|
1228
|
100
|
|
|
|
|
future.store("hasdst", Simple(THIS->future.hasdst ? 1 : 0)); |
|
|
50
|
|
|
|
|
|
|
|
50
|
|
|
|
|
|
16
|
|
|
|
|
|
|
|
17
|
2456
|
50
|
|
|
|
|
auto outer = Hash::create(); |
|
|
50
|
|
|
|
|
|
18
|
1228
|
50
|
|
|
|
|
outer.store("abbrev", Simple(string_view(THIS->future.outer.abbrev, strlen(THIS->future.outer.abbrev)))); |
|
|
50
|
|
|
|
|
|
19
|
1228
|
50
|
|
|
|
|
outer.store("offset", Simple(THIS->future.outer.offset)); |
|
|
50
|
|
|
|
|
|
20
|
1228
|
50
|
|
|
|
|
outer.store("gmt_offset", Simple(THIS->future.outer.gmt_offset)); |
|
|
50
|
|
|
|
|
|
21
|
1228
|
50
|
|
|
|
|
outer.store("isdst", Simple(THIS->future.outer.isdst)); |
|
|
50
|
|
|
|
|
|
22
|
1228
|
50
|
|
|
|
|
future.store("outer", Ref::create(outer)); |
|
|
50
|
|
|
|
|
|
23
|
|
|
|
|
|
|
|
24
|
1228
|
100
|
|
|
|
|
if (THIS->future.hasdst) { |
25
|
890
|
50
|
|
|
|
|
auto outer_end = Hash::create(); |
26
|
445
|
50
|
|
|
|
|
outer_end.store("mon", Simple(THIS->future.outer.end.mon)); |
|
|
50
|
|
|
|
|
|
27
|
445
|
50
|
|
|
|
|
outer_end.store("week", Simple(THIS->future.outer.end.yday)); |
|
|
50
|
|
|
|
|
|
28
|
445
|
50
|
|
|
|
|
outer_end.store("day", Simple(THIS->future.outer.end.wday)); |
|
|
50
|
|
|
|
|
|
29
|
445
|
50
|
|
|
|
|
outer_end.store("hour", Simple(THIS->future.outer.end.hour)); |
|
|
50
|
|
|
|
|
|
30
|
445
|
50
|
|
|
|
|
outer_end.store("min", Simple(THIS->future.outer.end.min)); |
|
|
50
|
|
|
|
|
|
31
|
445
|
50
|
|
|
|
|
outer_end.store("sec", Simple(THIS->future.outer.end.sec)); |
|
|
50
|
|
|
|
|
|
32
|
445
|
50
|
|
|
|
|
outer.store("end", Ref::create(outer_end)); |
|
|
50
|
|
|
|
|
|
33
|
|
|
|
|
|
|
|
34
|
890
|
50
|
|
|
|
|
auto inner = Hash::create(); |
35
|
445
|
50
|
|
|
|
|
inner.store("abbrev", Simple(string_view(THIS->future.inner.abbrev, strlen(THIS->future.inner.abbrev)))); |
|
|
50
|
|
|
|
|
|
36
|
445
|
50
|
|
|
|
|
inner.store("offset", Simple(THIS->future.inner.offset)); |
|
|
50
|
|
|
|
|
|
37
|
445
|
50
|
|
|
|
|
inner.store("gmt_offset", Simple(THIS->future.inner.gmt_offset)); |
|
|
50
|
|
|
|
|
|
38
|
445
|
50
|
|
|
|
|
inner.store("isdst", Simple(THIS->future.inner.isdst)); |
|
|
50
|
|
|
|
|
|
39
|
|
|
|
|
|
|
|
40
|
890
|
50
|
|
|
|
|
auto inner_end = Hash::create(); |
41
|
445
|
50
|
|
|
|
|
inner_end.store("mon", Simple(THIS->future.inner.end.mon)); |
|
|
50
|
|
|
|
|
|
42
|
445
|
50
|
|
|
|
|
inner_end.store("week", Simple(THIS->future.inner.end.yday)); |
|
|
50
|
|
|
|
|
|
43
|
445
|
50
|
|
|
|
|
inner_end.store("day", Simple(THIS->future.inner.end.wday)); |
|
|
50
|
|
|
|
|
|
44
|
445
|
50
|
|
|
|
|
inner_end.store("hour", Simple(THIS->future.inner.end.hour)); |
|
|
50
|
|
|
|
|
|
45
|
445
|
50
|
|
|
|
|
inner_end.store("min", Simple(THIS->future.inner.end.min)); |
|
|
50
|
|
|
|
|
|
46
|
445
|
50
|
|
|
|
|
inner_end.store("sec", Simple(THIS->future.inner.end.sec)); |
|
|
50
|
|
|
|
|
|
47
|
445
|
50
|
|
|
|
|
inner.store("end", Ref::create(inner_end)); |
|
|
50
|
|
|
|
|
|
48
|
|
|
|
|
|
|
|
49
|
445
|
50
|
|
|
|
|
future.store("inner", Ref::create(inner)); |
|
|
50
|
|
|
|
|
|
50
|
|
|
|
|
|
|
} |
51
|
1228
|
50
|
|
|
|
|
RETVAL.store("future", Ref::create(future)); |
|
|
50
|
|
|
|
|
|
52
|
|
|
|
|
|
|
|
53
|
2456
|
50
|
|
|
|
|
auto trans = Array::create(); |
|
|
50
|
|
|
|
|
|
54
|
103011
|
100
|
|
|
|
|
for (uint32_t i = 0; i < THIS->trans_cnt; ++i) trans.push(Ref::create(export_transition(THIS->trans[i], false))); |
|
|
50
|
|
|
|
|
|
|
|
50
|
|
|
|
|
|
|
|
50
|
|
|
|
|
|
55
|
1228
|
50
|
|
|
|
|
RETVAL.store("transitions", Ref::create(trans)); |
|
|
50
|
|
|
|
|
|
56
|
|
|
|
|
|
|
|
57
|
1228
|
50
|
|
|
|
|
RETVAL.store("past", Ref::create(export_transition(THIS->trans[0], true))); |
|
|
50
|
|
|
|
|
|
|
|
50
|
|
|
|
|
|
58
|
|
|
|
|
|
|
} |