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

Filename/root/Specio::Exception->new
StatementsExecuted 0 statements in 0s
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
0000s0s__ANON__[Specio::::Exception->new:60]__ANON__[Specio::Exception->new:60]
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1sub {
2 my $class = shift;
3
4 my %p = do {
5 if ( @_ == 1 ) {
6 if ( ref $_[0] eq 'HASH' ) {
7 %{ shift() };
8 }
9 else {
10 Specio::OO::_constructor_confess(
11 Specio::OO::_bad_args_message( $class, @_ ) );
12 }
13 }
14 else {
15 Specio::OO::_constructor_confess(
16 Specio::OO::_bad_args_message( $class, @_ ) )
17 if @_ % 2;
18 @_;
19 }
20 };
21
22 my $self = bless {}, $class;
23
24 Specio::OO::_constructor_confess(
25 "Specio::Exception->new requires a message argument.")
26 unless exists $p{message};
27 if ( exists $p{message} && !Specio::TypeChecks::is_Str( $p{message} ) ) {
28 Carp::confess(
29 Specio::OO::_bad_value_message(
30 "The value you provided to Specio::Exception->new for message is not a valid Str.",
31 $p{message},
32 )
33 );
34 }
35 $self->{message} = $p{message} if exists $p{message};
36
37 $self->{stack_trace} = $p{stack_trace} if exists $p{stack_trace};
38
39 Specio::OO::_constructor_confess(
40 "Specio::Exception->new requires a type argument.")
41 unless exists $p{type};
42 if ( exists $p{type} && !Specio::TypeChecks::does_role( $p{type}, "Specio::Constraint::Role::Interface" ) ) {
43 Carp::confess(
44 Specio::OO::_bad_value_message(
45 "The value you provided to Specio::Exception->new for type does not do the Specio::Constraint::Role::Interface role.",
46 $p{type},
47 )
48 );
49 }
50 $self->{type} = $p{type} if exists $p{type};
51
52 Specio::OO::_constructor_confess(
53 "Specio::Exception->new requires a value argument.")
54 unless exists $p{value};
55 $self->{value} = $p{value} if exists $p{value};
56
57 $self->Specio::Exception::BUILD(\%p);
58
59 return $self;
60}
61;
62