← 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::Constraint::Parameterizable->new
StatementsExecuted 0 statements in 0s
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
0000s0s__ANON__[Specio::Constraint::::Parameterizable->new:176]__ANON__[Specio::Constraint::Parameterizable->new:176]
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 if ( exists $p{_ancestors} && !Specio::TypeChecks::is_ArrayRef( $p{_ancestors} ) ) {
25 Carp::confess(
26 Specio::OO::_bad_value_message(
27 "The value you provided to Specio::Constraint::Parameterizable->new for _ancestors is not a valid ArrayRef.",
28 $p{_ancestors},
29 )
30 );
31 }
32 $self->{_ancestors} = $p{_ancestors} if exists $p{_ancestors};
33
34 $p{_coercions} = Specio::Constraint::Parameterizable->_build_coercions unless exists $p{_coercions};
35 $self->{_coercions} = $p{_coercions} if exists $p{_coercions};
36
37 if ( exists $p{constraint} && !Specio::TypeChecks::is_CodeRef( $p{constraint} ) ) {
38 Carp::confess(
39 Specio::OO::_bad_value_message(
40 "The value you provided to Specio::Constraint::Parameterizable->new for constraint is not a valid CodeRef.",
41 $p{constraint},
42 )
43 );
44 }
45 $self->{_constraint} = $p{constraint} if exists $p{constraint};
46
47 if ( exists $p{_generated_inline_sub} && !Specio::TypeChecks::is_CodeRef( $p{_generated_inline_sub} ) ) {
48 Carp::confess(
49 Specio::OO::_bad_value_message(
50 "The value you provided to Specio::Constraint::Parameterizable->new for _generated_inline_sub is not a valid CodeRef.",
51 $p{_generated_inline_sub},
52 )
53 );
54 }
55 $self->{_generated_inline_sub} = $p{_generated_inline_sub} if exists $p{_generated_inline_sub};
56
57 if ( exists $p{inline_generator} && !Specio::TypeChecks::is_CodeRef( $p{inline_generator} ) ) {
58 Carp::confess(
59 Specio::OO::_bad_value_message(
60 "The value you provided to Specio::Constraint::Parameterizable->new for inline_generator is not a valid CodeRef.",
61 $p{inline_generator},
62 )
63 );
64 }
65 $self->{_inline_generator} = $p{inline_generator} if exists $p{inline_generator};
66
67 if ( exists $p{_message_generator} && !Specio::TypeChecks::is_CodeRef( $p{_message_generator} ) ) {
68 Carp::confess(
69 Specio::OO::_bad_value_message(
70 "The value you provided to Specio::Constraint::Parameterizable->new for _message_generator is not a valid CodeRef.",
71 $p{_message_generator},
72 )
73 );
74 }
75 $self->{_message_generator} = $p{_message_generator} if exists $p{_message_generator};
76
77 if ( exists $p{_optimized_constraint} && !Specio::TypeChecks::is_CodeRef( $p{_optimized_constraint} ) ) {
78 Carp::confess(
79 Specio::OO::_bad_value_message(
80 "The value you provided to Specio::Constraint::Parameterizable->new for _optimized_constraint is not a valid CodeRef.",
81 $p{_optimized_constraint},
82 )
83 );
84 }
85 $self->{_optimized_constraint} = $p{_optimized_constraint} if exists $p{_optimized_constraint};
86
87 if ( exists $p{parameterized_constraint_generator} && !Specio::TypeChecks::is_CodeRef( $p{parameterized_constraint_generator} ) ) {
88 Carp::confess(
89 Specio::OO::_bad_value_message(
90 "The value you provided to Specio::Constraint::Parameterizable->new for parameterized_constraint_generator is not a valid CodeRef.",
91 $p{parameterized_constraint_generator},
92 )
93 );
94 }
95 $self->{_parameterized_constraint_generator} = $p{parameterized_constraint_generator} if exists $p{parameterized_constraint_generator};
96
97 if ( exists $p{parameterized_inline_generator} && !Specio::TypeChecks::is_CodeRef( $p{parameterized_inline_generator} ) ) {
98 Carp::confess(
99 Specio::OO::_bad_value_message(
100 "The value you provided to Specio::Constraint::Parameterizable->new for parameterized_inline_generator is not a valid CodeRef.",
101 $p{parameterized_inline_generator},
102 )
103 );
104 }
105 $self->{_parameterized_inline_generator} = $p{parameterized_inline_generator} if exists $p{parameterized_inline_generator};
106
107 if ( exists $p{_signature} && !Specio::TypeChecks::is_Str( $p{_signature} ) ) {
108 Carp::confess(
109 Specio::OO::_bad_value_message(
110 "The value you provided to Specio::Constraint::Parameterizable->new for _signature is not a valid Str.",
111 $p{_signature},
112 )
113 );
114 }
115 $self->{_signature} = $p{_signature} if exists $p{_signature};
116
117 $self->{_subification} = $p{_subification} if exists $p{_subification};
118
119 Specio::OO::_constructor_confess(
120 "Specio::Constraint::Parameterizable->new requires a declared_at argument.")
121 unless exists $p{declared_at};
122 if ( exists $p{declared_at} && !Specio::TypeChecks::isa_class( $p{declared_at}, "Specio::DeclaredAt" ) ) {
123 Carp::confess(
124 Specio::OO::_bad_value_message(
125 "The value you provided to Specio::Constraint::Parameterizable->new for declared_at is not a valid Specio::DeclaredAt.",
126 $p{declared_at},
127 )
128 );
129 }
130 $self->{declared_at} = $p{declared_at} if exists $p{declared_at};
131
132 if ( exists $p{description} && !Specio::TypeChecks::is_Str( $p{description} ) ) {
133 Carp::confess(
134 Specio::OO::_bad_value_message(
135 "The value you provided to Specio::Constraint::Parameterizable->new for description is not a valid Str.",
136 $p{description},
137 )
138 );
139 }
140 $self->{description} = $p{description} if exists $p{description};
141
142 if ( exists $p{inline_environment} && !Specio::TypeChecks::is_HashRef( $p{inline_environment} ) ) {
143 Carp::confess(
144 Specio::OO::_bad_value_message(
145 "The value you provided to Specio::Constraint::Parameterizable->new for inline_environment is not a valid HashRef.",
146 $p{inline_environment},
147 )
148 );
149 }
150 $self->{inline_environment} = $p{inline_environment} if exists $p{inline_environment};
151
152 if ( exists $p{name} && !Specio::TypeChecks::is_Str( $p{name} ) ) {
153 Carp::confess(
154 Specio::OO::_bad_value_message(
155 "The value you provided to Specio::Constraint::Parameterizable->new for name is not a valid Str.",
156 $p{name},
157 )
158 );
159 }
160 $self->{name} = $p{name} if exists $p{name};
161
162 if ( exists $p{parent} && !Specio::TypeChecks::does_role( $p{parent}, "Specio::Constraint::Role::Interface" ) ) {
163 Carp::confess(
164 Specio::OO::_bad_value_message(
165 "The value you provided to Specio::Constraint::Parameterizable->new for parent does not do the Specio::Constraint::Role::Interface role.",
166 $p{parent},
167 )
168 );
169 }
170 $self->{parent} = $p{parent} if exists $p{parent};
171
172 $self->Specio::Constraint::Parameterizable::BUILD(\%p);
173 $self->Specio::Constraint::Role::Interface::_Specio_Constraint_Role_Interface_BUILD(\%p);
174
175 return $self;
176}
177;
178