← Index
NYTProf Performance Profile   « line view »
For /usr/local/libexec/sympa/task_manager-debug.pl
  Run on Tue Jun 1 22:32:51 2021
Reported on Tue Jun 1 22:35:04 2021

Filename/usr/local/lib/perl5/site_perl/mach/5.32/DateTime/Types.pm
StatementsExecuted 0 statements in 0s
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
0000s0sDateTime::Types::::BEGIN@11DateTime::Types::BEGIN@11
0000s0sDateTime::Types::::BEGIN@12DateTime::Types::BEGIN@12
0000s0sDateTime::Types::::BEGIN@13DateTime::Types::BEGIN@13
0000s0sDateTime::Types::::BEGIN@14DateTime::Types::BEGIN@14
0000s0sDateTime::Types::::BEGIN@15DateTime::Types::BEGIN@15
0000s0sDateTime::Types::::BEGIN@3DateTime::Types::BEGIN@3
0000s0sDateTime::Types::::BEGIN@4DateTime::Types::BEGIN@4
0000s0sDateTime::Types::::BEGIN@5DateTime::Types::BEGIN@5
0000s0sDateTime::Types::::BEGIN@9DateTime::Types::BEGIN@9
0000s0sDateTime::Types::::__ANON__DateTime::Types::__ANON__ (xsub)
0000s0sDateTime::Types::::__ANON__[:100]DateTime::Types::__ANON__[:100]
0000s0sDateTime::Types::::__ANON__[:109]DateTime::Types::__ANON__[:109]
0000s0sDateTime::Types::::__ANON__[:118]DateTime::Types::__ANON__[:118]
0000s0sDateTime::Types::::__ANON__[:132]DateTime::Types::__ANON__[:132]
0000s0sDateTime::Types::::__ANON__[:28]DateTime::Types::__ANON__[:28]
0000s0sDateTime::Types::::__ANON__[:37]DateTime::Types::__ANON__[:37]
0000s0sDateTime::Types::::__ANON__[:68]DateTime::Types::__ANON__[:68]
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package DateTime::Types;
2
3use strict;
4use warnings;
5use namespace::autoclean;
6
7our $VERSION = '1.54';
8
9use parent 'Specio::Exporter';
10
11use Specio 0.18;
12use Specio::Declare;
13use Specio::Library::Builtins -reexport;
14use Specio::Library::Numeric -reexport;
15use Specio::Library::String;
16
17any_can_type(
18 'ConvertibleObject',
19 methods => ['utc_rd_values'],
20);
21
22declare(
23 'DayOfMonth',
24 parent => t('Int'),
25 inline => sub {
26 $_[0]->parent->inline_check( $_[1] )
27 . " && $_[1] >= 1 && $_[1] <= 31";
28 },
29);
30
31declare(
32 'DayOfYear',
33 parent => t('Int'),
34 inline => sub {
35 $_[0]->parent->inline_check( $_[1] )
36 . " && $_[1] >= 1 && $_[1] <= 366";
37 },
38);
39
40object_isa_type(
41 'Duration',
42 class => 'DateTime::Duration',
43);
44
45enum(
46 'EndOfMonthMode',
47 values => [qw( wrap limit preserve )],
48);
49
50any_can_type(
51 'Formatter',
52 methods => ['format_datetime'],
53);
54
55my $locale_object = declare(
56 'LocaleObject',
57 parent => t('Object'),
58 inline => sub {
59
60 # Can't use $_[1] directly because 5.8 gives very weird errors
61 my $var = $_[1];
62 <<"EOF";
63(
64 $var->isa('DateTime::Locale::FromData')
65 || $var->isa('DateTime::Locale::Base')
66)
67EOF
68 },
69);
70
71union(
72 'Locale',
73 of => [ t('NonEmptySimpleStr'), $locale_object ],
74);
75
76my $time_zone_object = object_can_type(
77 'TZObject',
78 methods => [
79 qw(
80 is_floating
81 is_utc
82 name
83 offset_for_datetime
84 short_name_for_datetime
85 )
86 ],
87);
88
89declare(
90 'TimeZone',
91 of => [ t('NonEmptySimpleStr'), $time_zone_object ],
92);
93
94declare(
95 'Hour',
96 parent => t('PositiveOrZeroInt'),
97 inline => sub {
98 $_[0]->parent->inline_check( $_[1] )
99 . " && $_[1] >= 0 && $_[1] <= 23";
100 },
101);
102
103declare(
104 'Minute',
105 parent => t('PositiveOrZeroInt'),
106 inline => sub {
107 $_[0]->parent->inline_check( $_[1] )
108 . " && $_[1] >= 0 && $_[1] <= 59";
109 },
110);
111
112declare(
113 'Month',
114 parent => t('PositiveInt'),
115 inline => sub {
116 $_[0]->parent->inline_check( $_[1] )
117 . " && $_[1] >= 1 && $_[1] <= 12";
118 },
119);
120
121declare(
122 'Nanosecond',
123 parent => t('PositiveOrZeroInt'),
124);
125
126declare(
127 'Second',
128 parent => t('PositiveOrZeroInt'),
129 inline => sub {
130 $_[0]->parent->inline_check( $_[1] )
131 . " && $_[1] >= 0 && $_[1] <= 61";
132 },
133);
134
135enum(
136 'TruncationLevel',
137 values => [
138 qw(
139 year
140 quarter
141 month
142 day hour
143 minute
144 second
145 nanosecond
146 week
147 local_week
148 )
149 ],
150);
151
152declare(
153 'Year',
154 parent => t('Int'),
155);
156
1571;
158
159# ABSTRACT: Types used for parameter checking in DateTime
160
161__END__