← 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:06 2021

Filename/usr/local/lib/perl5/site_perl/DateTime/TimeZone/OffsetOnly.pm
StatementsExecuted 0 statements in 0s
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
0000s0sDateTime::TimeZone::OffsetOnly::::BEGIN@11DateTime::TimeZone::OffsetOnly::BEGIN@11
0000s0sDateTime::TimeZone::OffsetOnly::::BEGIN@12DateTime::TimeZone::OffsetOnly::BEGIN@12
0000s0sDateTime::TimeZone::OffsetOnly::::BEGIN@13DateTime::TimeZone::OffsetOnly::BEGIN@13
0000s0sDateTime::TimeZone::OffsetOnly::::BEGIN@3DateTime::TimeZone::OffsetOnly::BEGIN@3
0000s0sDateTime::TimeZone::OffsetOnly::::BEGIN@4DateTime::TimeZone::OffsetOnly::BEGIN@4
0000s0sDateTime::TimeZone::OffsetOnly::::BEGIN@5DateTime::TimeZone::OffsetOnly::BEGIN@5
0000s0sDateTime::TimeZone::OffsetOnly::::BEGIN@9DateTime::TimeZone::OffsetOnly::BEGIN@9
0000s0sDateTime::TimeZone::OffsetOnly::::STORABLE_freezeDateTime::TimeZone::OffsetOnly::STORABLE_freeze
0000s0sDateTime::TimeZone::OffsetOnly::::STORABLE_thawDateTime::TimeZone::OffsetOnly::STORABLE_thaw
0000s0sDateTime::TimeZone::OffsetOnly::::__ANON__DateTime::TimeZone::OffsetOnly::__ANON__ (xsub)
0000s0sDateTime::TimeZone::OffsetOnly::::categoryDateTime::TimeZone::OffsetOnly::category
0000s0sDateTime::TimeZone::OffsetOnly::::is_dst_for_datetimeDateTime::TimeZone::OffsetOnly::is_dst_for_datetime
0000s0sDateTime::TimeZone::OffsetOnly::::is_utcDateTime::TimeZone::OffsetOnly::is_utc
0000s0sDateTime::TimeZone::OffsetOnly::::newDateTime::TimeZone::OffsetOnly::new
0000s0sDateTime::TimeZone::OffsetOnly::::offset_for_datetimeDateTime::TimeZone::OffsetOnly::offset_for_datetime
0000s0sDateTime::TimeZone::OffsetOnly::::offset_for_local_datetimeDateTime::TimeZone::OffsetOnly::offset_for_local_datetime
0000s0sDateTime::TimeZone::OffsetOnly::::short_name_for_datetimeDateTime::TimeZone::OffsetOnly::short_name_for_datetime
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package DateTime::TimeZone::OffsetOnly;
2
3use strict;
4use warnings;
5use namespace::autoclean;
6
7our $VERSION = '2.47';
8
9use parent 'DateTime::TimeZone';
10
11use DateTime::TimeZone::UTC;
12use Params::ValidationCompiler 0.13 qw( validation_for );
13use Specio::Library::String;
14
15{
16 my $validator = validation_for(
17 name => '_check_new_params',
18 name_is_optional => 1,
19 params => {
20 offset => {
21 type => t('NonEmptyStr'),
22 },
23 },
24 );
25
26 sub new {
27 my $class = shift;
28 my %p = $validator->(@_);
29
30 my $offset = DateTime::TimeZone::offset_as_seconds( $p{offset} );
31
32 die "Invalid offset: $p{offset}\n" unless defined $offset;
33
34 return DateTime::TimeZone::UTC->new unless $offset;
35
36 my $self = {
37 name => DateTime::TimeZone::offset_as_string($offset),
38 offset => $offset,
39 };
40
41 return bless $self, $class;
42 }
43}
44
45sub is_dst_for_datetime {0}
46
47sub offset_for_datetime { $_[0]->{offset} }
48sub offset_for_local_datetime { $_[0]->{offset} }
49
50sub is_utc {0}
51
52sub short_name_for_datetime { $_[0]->name }
53
54sub category {undef}
55
56sub STORABLE_freeze {
57 my $self = shift;
58
59 return $self->name;
60}
61
62sub STORABLE_thaw {
63 my $self = shift;
64 shift;
65 my $serialized = shift;
66
67 my $class = ref $self || $self;
68
69 my $obj;
70 if ( $class->isa(__PACKAGE__) ) {
71 $obj = __PACKAGE__->new( offset => $serialized );
72 }
73 else {
74 $obj = $class->new( offset => $serialized );
75 }
76
77 %$self = %$obj;
78
79 return $self;
80}
81
821;
83
84# ABSTRACT: A DateTime::TimeZone object that just contains an offset
85
86__END__