| Filename | /home/doy/nytprof/markdent-new/accessor parameters_metaclass (defined at /home/doy/perl5/perlbrew/perls/perl-5.10.1/lib/site_perl/5.10.1/MooseX/Role/Parameterized/Meta/Role/Parameterizable.pm line 32) |
| Statements | Executed 137 statements in 1.17ms |
| Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
|---|---|---|---|---|---|
| 1 | 1 | 1 | 28µs | 28µs | Eval::Closure::__ANON__[accessor parameters_metaclass (defined at MooseX/Role/Parameterized/Meta/Role/Parameterizable.pm line 32):17] |
| 0 | 0 | 0 | 0s | 0s | Eval::Closure::__ANON__[accessor parameters_metaclass (defined at MooseX/Role/Parameterized/Meta/Role/Parameterizable.pm line 32):16] |
| Line | State ments |
Time on line |
Calls | Time in subs |
Code |
|---|---|---|---|---|---|
| 1 | # spent 28µs within Eval::Closure::__ANON__[accessor parameters_metaclass (defined at /home/doy/perl5/perlbrew/perls/perl-5.10.1/lib/site_perl/5.10.1/MooseX/Role/Parameterized/Meta/Role/Parameterizable.pm line 32):17] which was called:
# once (28µs+0s) by Eval::Closure::_clean_eval_closure at line 94 of Eval/Closure.pm | ||||
| 2 | 43 | 153µs | my $attr = ${$_[0]}; | ||
| 3 | my $meta = ${$_[1]}; | ||||
| 4 | my $type_constraint = ${$_[2]}; | ||||
| 5 | my $type_constraint_obj = ${$_[3]}; | ||||
| 6 | #line 1 "accessor parameters_metaclass (defined at /home/doy/perl5/perlbrew/perls/perl-5.10.1/lib/site_perl/5.10.1/MooseX/Role/Parameterized/Meta/Role/Parameterizable.pm line 32)" | ||||
| 7 | sub { | ||||
| 8 | 43 | 184µs | if (@_ > 1) { | ||
| 9 | 2 | 37µs | 2 | 25.7ms | if (!$type_constraint->($_[1])) { # spent 25.7ms making 2 calls to Class::MOP::Mixin::AttributeCore::default, avg 12.9ms/call |
| 10 | 2 | 29µs | 2 | 134µs | $meta->throw_error("Attribute (parameters_metaclass) does not pass the type constraint because: " . $type_constraint_obj->get_message($_[1]), data => $_[1]); # spent 134µs making 2 calls to Moose::Meta::TypeConstraint::Class::__ANON__[Moose/Meta/TypeConstraint/Class.pm:38], avg 67µs/call |
| 11 | } | ||||
| 12 | $_[0]->{"parameters_metaclass"} = $_[1]; | ||||
| 13 | 2 | 15µs | } | ||
| 14 | if (!exists $_[0]->{"parameters_metaclass"}) { | ||||
| 15 | 43 | 710µs | my $default = $attr->default($_[0]); | ||
| 16 | if (!$type_constraint->($default)) { | ||||
| 17 | 1 | 28µs | $meta->throw_error("Attribute (parameters_metaclass) does not pass the type constraint because: " . $type_constraint_obj->get_message($default), data => $default); | ||
| 18 | 1 | 19µs | } | ||
| 19 | $_[0]->{"parameters_metaclass"} = $default; | ||||
| 20 | } | ||||
| 21 | return $_[0]->{"parameters_metaclass"}; | ||||
| 22 | } | ||||
| 23 | } | ||||
| 24 | ; |