← Index
NYTProf Performance Profile   « line view »
For /home/ss5/perl5/perlbrew/perls/perl-5.22.0/bin/benchmarkanything-storage
  Run on Mon Jan 29 16:55:34 2018
Reported on Mon Jan 29 16:57:06 2018

Filename/home/ss5/perl5/perlbrew/perls/perl-5.22.0/lib/site_perl/5.22.0/x86_64-linux/Class/MOP/Method/Accessor.pm
StatementsExecuted 4895 statements in 11.8ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
193222.22ms28.0msClass::MOP::Method::Accessor::::newClass::MOP::Method::Accessor::new
193111.06ms23.5msClass::MOP::Method::Accessor::::_initialize_bodyClass::MOP::Method::Accessor::_initialize_body
263331.06ms2.26msClass::MOP::Method::Accessor::::_newClass::MOP::Method::Accessor::_new
9911511µs19.5msClass::MOP::Method::Accessor::::try {...} Class::MOP::Method::Accessor::try {...}
5622390µs13.3msClass::MOP::Method::Accessor::::_generate_reader_method_inlineClass::MOP::Method::Accessor::_generate_reader_method_inline
5411232µs267µsClass::MOP::Method::Accessor::::_generate_reader_methodClass::MOP::Method::Accessor::_generate_reader_method
2522152µs6.18msClass::MOP::Method::Accessor::::_generate_accessor_method_inlineClass::MOP::Method::Accessor::_generate_accessor_method_inline
151190µs1.85msClass::MOP::Method::Accessor::::_generate_predicate_method_inlineClass::MOP::Method::Accessor::_generate_predicate_method_inline
211175µs85µsClass::MOP::Method::Accessor::::_generate_accessor_methodClass::MOP::Method::Accessor::_generate_accessor_method
561173µs73µsClass::MOP::Method::Accessor::::_inline_throw_exceptionClass::MOP::Method::Accessor::_inline_throw_exception
151144µs49µsClass::MOP::Method::Accessor::::_generate_predicate_methodClass::MOP::Method::Accessor::_generate_predicate_method
31126µs370µsClass::MOP::Method::Accessor::::_generate_writer_method_inlineClass::MOP::Method::Accessor::_generate_writer_method_inline
31115µs16µsClass::MOP::Method::Accessor::::_generate_writer_methodClass::MOP::Method::Accessor::_generate_writer_method
11110µs11µsClass::MOP::Method::Accessor::::BEGIN@4Class::MOP::Method::Accessor::BEGIN@4
1117µs1.26msClass::MOP::Method::Accessor::::BEGIN@10Class::MOP::Method::Accessor::BEGIN@10
1117µs8µsClass::MOP::Method::Accessor::::_generate_clearer_methodClass::MOP::Method::Accessor::_generate_clearer_method
1114µs8µsClass::MOP::Method::Accessor::::BEGIN@5Class::MOP::Method::Accessor::BEGIN@5
1114µs24µsClass::MOP::Method::Accessor::::BEGIN@8Class::MOP::Method::Accessor::BEGIN@8
1114µs24µsClass::MOP::Method::Accessor::::BEGIN@7Class::MOP::Method::Accessor::BEGIN@7
0000s0sClass::MOP::Method::Accessor::::__ANON__[:105]Class::MOP::Method::Accessor::__ANON__[:105]
0000s0sClass::MOP::Method::Accessor::::__ANON__[:121]Class::MOP::Method::Accessor::__ANON__[:121]
0000s0sClass::MOP::Method::Accessor::::__ANON__[:127]Class::MOP::Method::Accessor::__ANON__[:127]
0000s0sClass::MOP::Method::Accessor::::__ANON__[:142]Class::MOP::Method::Accessor::__ANON__[:142]
0000s0sClass::MOP::Method::Accessor::::__ANON__[:163]Class::MOP::Method::Accessor::__ANON__[:163]
0000s0sClass::MOP::Method::Accessor::::__ANON__[:169]Class::MOP::Method::Accessor::__ANON__[:169]
0000s0sClass::MOP::Method::Accessor::::__ANON__[:183]Class::MOP::Method::Accessor::__ANON__[:183]
0000s0sClass::MOP::Method::Accessor::::__ANON__[:196]Class::MOP::Method::Accessor::__ANON__[:196]
0000s0sClass::MOP::Method::Accessor::::__ANON__[:202]Class::MOP::Method::Accessor::__ANON__[:202]
0000s0sClass::MOP::Method::Accessor::::__ANON__[:211]Class::MOP::Method::Accessor::__ANON__[:211]
0000s0sClass::MOP::Method::Accessor::::__ANON__[:224]Class::MOP::Method::Accessor::__ANON__[:224]
0000s0sClass::MOP::Method::Accessor::::__ANON__[:230]Class::MOP::Method::Accessor::__ANON__[:230]
0000s0sClass::MOP::Method::Accessor::::__ANON__[:239]Class::MOP::Method::Accessor::__ANON__[:239]
0000s0sClass::MOP::Method::Accessor::::__ANON__[:252]Class::MOP::Method::Accessor::__ANON__[:252]
0000s0sClass::MOP::Method::Accessor::::__ANON__[:258]Class::MOP::Method::Accessor::__ANON__[:258]
0000s0sClass::MOP::Method::Accessor::::_generate_clearer_method_inlineClass::MOP::Method::Accessor::_generate_clearer_method_inline
0000s0sClass::MOP::Method::Accessor::::catch {...} Class::MOP::Method::Accessor::catch {...}
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package Class::MOP::Method::Accessor;
21300nsour $VERSION = '2.1605';
3
4214µs213µs
# spent 11µs (10+2) within Class::MOP::Method::Accessor::BEGIN@4 which was called: # once (10µs+2µs) by Class::MOP::Class::BEGIN@9 at line 4
use strict;
# spent 11µs making 1 call to Class::MOP::Method::Accessor::BEGIN@4 # spent 2µs making 1 call to strict::import
5215µs211µs
# spent 8µs (4+3) within Class::MOP::Method::Accessor::BEGIN@5 which was called: # once (4µs+3µs) by Class::MOP::Class::BEGIN@9 at line 5
use warnings;
# spent 8µs making 1 call to Class::MOP::Method::Accessor::BEGIN@5 # spent 3µs making 1 call to warnings::import
6
7214µs244µs
# spent 24µs (4+20) within Class::MOP::Method::Accessor::BEGIN@7 which was called: # once (4µs+20µs) by Class::MOP::Class::BEGIN@9 at line 7
use Scalar::Util 'blessed', 'weaken';
# spent 24µs making 1 call to Class::MOP::Method::Accessor::BEGIN@7 # spent 20µs making 1 call to Exporter::import
824.56ms244µs
# spent 24µs (4+20) within Class::MOP::Method::Accessor::BEGIN@8 which was called: # once (4µs+20µs) by Class::MOP::Class::BEGIN@9 at line 8
use Try::Tiny;
# spent 24µs making 1 call to Class::MOP::Method::Accessor::BEGIN@8 # spent 20µs making 1 call to Exporter::import
9
102602µs22.52ms
# spent 1.26ms (7µs+1.25) within Class::MOP::Method::Accessor::BEGIN@10 which was called: # once (7µs+1.25ms) by Class::MOP::Class::BEGIN@9 at line 10
use parent 'Class::MOP::Method::Generated';
# spent 1.26ms making 1 call to Class::MOP::Method::Accessor::BEGIN@10 # spent 1.25ms making 1 call to parent::import
11
12
# spent 28.0ms (2.22+25.8) within Class::MOP::Method::Accessor::new which was called 193 times, avg 145µs/call: # 187 times (2.12ms+21.2ms) by Class::MOP::Attribute::try {...} at line 407 of Class/MOP/Attribute.pm, avg 124µs/call # 6 times (96µs+4.64ms) by Class::MOP::Attribute::try {...} at line 16 of Moose/Meta/Method/Accessor.pm, avg 789µs/call
sub new {
1319332µs my $class = shift;
14193311µs my %options = @_;
15
16 (exists $options{attribute})
1719342µs || $class->_throw_exception( MustSupplyAnAttributeToConstructWith => params => \%options,
18 class => $class,
19 );
20
21 (exists $options{accessor_type})
2219326µs || $class->_throw_exception( MustSupplyAnAccessorTypeToConstructWith => params => \%options,
23 class => $class,
24 );
25
26193628µs386193µs (blessed($options{attribute}) && $options{attribute}->isa('Class::MOP::Attribute'))
# spent 101µs making 193 calls to UNIVERSAL::isa, avg 525ns/call # spent 92µs making 193 calls to Scalar::Util::blessed, avg 475ns/call
27 || $class->_throw_exception( MustSupplyAClassMOPAttributeInstance => params => \%options,
28 class => $class
29 );
30
31 ($options{package_name} && $options{name})
3219353µs || $class->_throw_exception( MustSupplyPackageNameAndName => params => \%options,
33 class => $class
34 );
35
36193180µs193767µs my $self = $class->_new(\%options);
# spent 759µs making 187 calls to Class::MOP::Method::Accessor::_new, avg 4µs/call # spent 8µs making 6 calls to Moose::Meta::Method::Accessor::_new, avg 1µs/call
37
38 # we don't want this creating
39 # a cycle in the code, if not
40 # needed
41193339µs193105µs weaken($self->{'attribute'});
# spent 105µs making 193 calls to Scalar::Util::weaken, avg 546ns/call
42
43193402µs19323.5ms $self->_initialize_body;
# spent 23.5ms making 193 calls to Class::MOP::Method::Accessor::_initialize_body, avg 122µs/call
44
45193333µs return $self;
46}
47
48
# spent 2.26ms (1.06+1.21) within Class::MOP::Method::Accessor::_new which was called 263 times, avg 9µs/call: # 187 times (759µs+0s) by Class::MOP::Method::Accessor::new at line 36, avg 4µs/call # 70 times (274µs+0s) by Class::MOP::Method::wrap at line 49 of Class/MOP/Method.pm, avg 4µs/call # 6 times (24µs+1.21ms) by Class::MOP::Method::Accessor::new at line 20 of Moose/Meta/Method/Accessor.pm, avg 205µs/call
sub _new {
4926337µs my $class = shift;
50
5126371µs121.21ms return Class::MOP::Class->initialize($class)->new_object(@_)
# spent 959µs making 6 calls to Class::MOP::Class::new_object, avg 160µs/call # spent 248µs making 6 calls to Class::MOP::Class::initialize, avg 41µs/call
52 if $class ne __PACKAGE__;
53
5425790µs my $params = @_ == 1 ? $_[0] : {@_};
55
56 return bless {
57 # inherited from Class::MOP::Method
58 body => $params->{body},
59 associated_metaclass => $params->{associated_metaclass},
60 package_name => $params->{package_name},
61 name => $params->{name},
62 original_method => $params->{original_method},
63
64 # inherit from Class::MOP::Generated
65 is_inline => $params->{is_inline} || 0,
66 definition_context => $params->{definition_context},
67
68 # defined in this class
69 attribute => $params->{attribute},
70 accessor_type => $params->{accessor_type},
712571.03ms } => $class;
72}
73
74## accessors
75
76205276µssub associated_attribute { (shift)->{'attribute'} }
77193226µssub accessor_type { (shift)->{'accessor_type'} }
78
79## factory
80
81
# spent 23.5ms (1.06+22.4) within Class::MOP::Method::Accessor::_initialize_body which was called 193 times, avg 122µs/call: # 193 times (1.06ms+22.4ms) by Class::MOP::Method::Accessor::new at line 43, avg 122µs/call
sub _initialize_body {
8219328µs my $self = shift;
83
84193540µs386192µs my $method_name = join "_" => (
# spent 125µs making 193 calls to Class::MOP::Method::Accessor::accessor_type, avg 650ns/call # spent 67µs making 193 calls to Class::MOP::Method::Generated::is_inline, avg 346ns/call
85 '_generate',
86 $self->accessor_type,
87 'method',
88 ($self->is_inline ? 'inline' : ())
89 );
90
91193456µs19322.2ms $self->{'body'} = $self->$method_name();
# spent 12.9ms making 55 calls to Class::MOP::Method::Accessor::_generate_reader_method_inline, avg 234µs/call # spent 3.72ms making 21 calls to Class::MOP::Method::Accessor::_generate_accessor_method_inline, avg 177µs/call # spent 2.51ms making 4 calls to Moose::Meta::Method::Accessor::_generate_accessor_method, avg 628µs/call # spent 1.85ms making 15 calls to Class::MOP::Method::Accessor::_generate_predicate_method_inline, avg 123µs/call # spent 476µs making 1 call to Moose::Meta::Method::Accessor::_generate_reader_method # spent 370µs making 3 calls to Class::MOP::Method::Accessor::_generate_writer_method_inline, avg 123µs/call # spent 267µs making 54 calls to Class::MOP::Method::Accessor::_generate_reader_method, avg 5µs/call # spent 85µs making 21 calls to Class::MOP::Method::Accessor::_generate_accessor_method, avg 4µs/call # spent 49µs making 15 calls to Class::MOP::Method::Accessor::_generate_predicate_method, avg 3µs/call # spent 16µs making 3 calls to Class::MOP::Method::Accessor::_generate_writer_method, avg 5µs/call # spent 8µs making 1 call to Class::MOP::Method::Accessor::_generate_clearer_method
92}
93
94## generators
95
96
# spent 85µs (75+10) within Class::MOP::Method::Accessor::_generate_accessor_method which was called 21 times, avg 4µs/call: # 21 times (75µs+10µs) by Class::MOP::Method::Accessor::_initialize_body at line 91, avg 4µs/call
sub _generate_accessor_method {
97214µs my $self = shift;
982114µs2110µs my $attr = $self->associated_attribute;
# spent 10µs making 21 calls to Class::MOP::Method::Accessor::associated_attribute, avg 452ns/call
99
100 return sub {
101 if (@_ >= 2) {
102 $attr->set_value($_[0], $_[1]);
103 }
104 $attr->get_value($_[0]);
1052148µs };
106}
107
108
# spent 6.18ms (152µs+6.03) within Class::MOP::Method::Accessor::_generate_accessor_method_inline which was called 25 times, avg 247µs/call: # 21 times (127µs+3.60ms) by Class::MOP::Method::Accessor::_initialize_body at line 91, avg 177µs/call # 4 times (25µs+2.43ms) by Moose::Meta::Method::Accessor::_generate_accessor_method at line 68 of Moose/Meta/Method/Accessor.pm, avg 615µs/call
sub _generate_accessor_method_inline {
109254µs my $self = shift;
1102518µs2512µs my $attr = $self->associated_attribute;
# spent 12µs making 25 calls to Class::MOP::Method::Accessor::associated_attribute, avg 464ns/call
111
112
# spent 19.5ms (511µs+19.0) within Class::MOP::Method::Accessor::try {...} which was called 99 times, avg 197µs/call: # 99 times (511µs+19.0ms) by Try::Tiny::try at line 87 of Try/Tiny.pm, avg 197µs/call
return try {
11325100µs755.48ms $self->_compile_code([
# spent 2.15ms making 21 calls to Class::MOP::Method::Generated::_compile_code, avg 102µs/call # spent 1.29ms making 4 calls to Moose::Meta::Method::Accessor::_compile_code, avg 323µs/call # spent 805µs making 4 calls to Moose::Meta::Attribute::_inline_set_value, avg 201µs/call # spent 800µs making 21 calls to Class::MOP::Attribute::_inline_set_value, avg 38µs/call # spent 217µs making 21 calls to Class::MOP::Attribute::_inline_get_value, avg 10µs/call # spent 214µs making 4 calls to Moose::Meta::Attribute::_inline_get_value, avg 54µs/call
114 'sub {',
115 'if (@_ > 1) {',
116 $attr->_inline_set_value('$_[0]', '$_[1]'),
117 '}',
118 $attr->_inline_get_value('$_[0]'),
119 '}',
120 ]);
121 }
122 catch {
123 $self->_throw_exception( CouldNotGenerateInlineAttributeMethod => instance => $self,
124 error => $_,
125 option => "accessor"
126 );
1272592µs50129µs };
# spent 129µs making 25 calls to Try::Tiny::catch, avg 5µs/call # spent 5.89ms making 25 calls to Try::Tiny::try, avg 236µs/call, recursion: max depth 2, sum of overlapping time 5.89ms
128}
129
130
# spent 267µs (232+35) within Class::MOP::Method::Accessor::_generate_reader_method which was called 54 times, avg 5µs/call: # 54 times (232µs+35µs) by Class::MOP::Method::Accessor::_initialize_body at line 91, avg 5µs/call
sub _generate_reader_method {
131549µs my $self = shift;
1325433µs5424µs my $attr = $self->associated_attribute;
# spent 24µs making 54 calls to Class::MOP::Method::Accessor::associated_attribute, avg 439ns/call
1335470µs5411µs my $class = $attr->associated_class;
# spent 11µs making 54 calls to Class::MOP::Attribute::associated_class, avg 204ns/call
134
135 return sub {
136123µs $self->_throw_exception( CannotAssignValueToReadOnlyAccessor => class_name => $class->name,
137 value => $_[1],
138 attribute => $attr
139 )
140 if @_ > 1;
1411226µs12195µs $attr->get_value($_[0]);
# spent 195µs making 12 calls to Class::MOP::Attribute::get_value, avg 16µs/call
14254117µs };
143}
144
145
# spent 13.3ms (390µs+13.0) within Class::MOP::Method::Accessor::_generate_reader_method_inline which was called 56 times, avg 238µs/call: # 55 times (380µs+12.5ms) by Class::MOP::Method::Accessor::_initialize_body at line 91, avg 234µs/call # once (11µs+441µs) by Moose::Meta::Method::Accessor::_generate_reader_method at line 56 of Moose/Meta/Method/Accessor.pm
sub _generate_reader_method_inline {
146569µs my $self = shift;
1475633µs5622µs my $attr = $self->associated_attribute;
# spent 22µs making 56 calls to Class::MOP::Method::Accessor::associated_attribute, avg 400ns/call
1485684µs5611µs my $attr_name = $attr->name;
# spent 11µs making 56 calls to Class::MOP::Mixin::AttributeCore::name, avg 204ns/call
149
150 return try {
15156271µs16811.7ms $self->_compile_code([
# spent 9.34ms making 54 calls to Class::MOP::Method::Generated::_compile_code, avg 173µs/call # spent 1.58ms making 54 calls to Class::MOP::Attribute::_inline_get_value, avg 29µs/call # spent 517µs making 2 calls to Moose::Meta::Method::Accessor::_compile_code, avg 259µs/call # spent 200µs making 2 calls to Moose::Meta::Attribute::_inline_get_value, avg 100µs/call # spent 73µs making 56 calls to Class::MOP::Method::Accessor::_inline_throw_exception, avg 1µs/call
152 'sub {',
153 'if (@_ > 1) {',
154 $self->_inline_throw_exception( CannotAssignValueToReadOnlyAccessor =>
155 'class_name => ref $_[0],'.
156 'value => $_[1],'.
157 "attribute_name => '".$attr_name."'",
158 ) . ';',
159 '}',
160 $attr->_inline_get_value('$_[0]'),
161 '}',
162 ]);
163 }
164 catch {
165 $self->_throw_exception( CouldNotGenerateInlineAttributeMethod => instance => $self,
166 error => $_,
167 option => "reader"
168 );
16956202µs112290µs };
# spent 290µs making 56 calls to Try::Tiny::catch, avg 5µs/call # spent 12.6ms making 56 calls to Try::Tiny::try, avg 225µs/call, recursion: max depth 2, sum of overlapping time 12.6ms
170}
171
172
# spent 73µs within Class::MOP::Method::Accessor::_inline_throw_exception which was called 56 times, avg 1µs/call: # 56 times (73µs+0s) by Class::MOP::Method::Accessor::try {...} at line 151, avg 1µs/call
sub _inline_throw_exception {
1735614µs my ( $self, $exception_type, $throw_args ) = @_;
1745683µs return 'die Module::Runtime::use_module("Moose::Exception::' . $exception_type . '")->new(' . ($throw_args || '') . ')';
175}
176
177
# spent 16µs (15+1) within Class::MOP::Method::Accessor::_generate_writer_method which was called 3 times, avg 5µs/call: # 3 times (15µs+1µs) by Class::MOP::Method::Accessor::_initialize_body at line 91, avg 5µs/call
sub _generate_writer_method {
17832µs my $self = shift;
17934µs31µs my $attr = $self->associated_attribute;
# spent 1µs making 3 calls to Class::MOP::Method::Accessor::associated_attribute, avg 400ns/call
180
181 return sub {
182 $attr->set_value($_[0], $_[1]);
18337µs };
184}
185
186
# spent 370µs (26+345) within Class::MOP::Method::Accessor::_generate_writer_method_inline which was called 3 times, avg 123µs/call: # 3 times (26µs+345µs) by Class::MOP::Method::Accessor::_initialize_body at line 91, avg 123µs/call
sub _generate_writer_method_inline {
1873900ns my $self = shift;
18832µs31µs my $attr = $self->associated_attribute;
# spent 1µs making 3 calls to Class::MOP::Method::Accessor::associated_attribute, avg 400ns/call
189
190 return try {
19139µs6287µs $self->_compile_code([
# spent 250µs making 3 calls to Class::MOP::Method::Generated::_compile_code, avg 83µs/call # spent 37µs making 3 calls to Class::MOP::Attribute::_inline_set_value, avg 12µs/call
192 'sub {',
193 $attr->_inline_set_value('$_[0]', '$_[1]'),
194 '}',
195 ]);
196 }
197 catch {
198 $self->_throw_exception( CouldNotGenerateInlineAttributeMethod => instance => $self,
199 error => $_,
200 option => "writer"
201 );
202314µs614µs };
# spent 14µs making 3 calls to Try::Tiny::catch, avg 5µs/call # spent 329µs making 3 calls to Try::Tiny::try, avg 110µs/call, recursion: max depth 1, sum of overlapping time 329µs
203}
204
205
# spent 49µs (44+5) within Class::MOP::Method::Accessor::_generate_predicate_method which was called 15 times, avg 3µs/call: # 15 times (44µs+5µs) by Class::MOP::Method::Accessor::_initialize_body at line 91, avg 3µs/call
sub _generate_predicate_method {
206152µs my $self = shift;
207159µs155µs my $attr = $self->associated_attribute;
# spent 5µs making 15 calls to Class::MOP::Method::Accessor::associated_attribute, avg 353ns/call
208
209 return sub {
2101224µs12174µs $attr->has_value($_[0])
# spent 174µs making 12 calls to Class::MOP::Attribute::has_value, avg 14µs/call
2111527µs };
212}
213
214
# spent 1.85ms (90µs+1.76) within Class::MOP::Method::Accessor::_generate_predicate_method_inline which was called 15 times, avg 123µs/call: # 15 times (90µs+1.76ms) by Class::MOP::Method::Accessor::_initialize_body at line 91, avg 123µs/call
sub _generate_predicate_method_inline {
215154µs my $self = shift;
216159µs156µs my $attr = $self->associated_attribute;
# spent 6µs making 15 calls to Class::MOP::Method::Accessor::associated_attribute, avg 413ns/call
217
218 return try {
2191540µs301.48ms $self->_compile_code([
# spent 1.28ms making 15 calls to Class::MOP::Method::Generated::_compile_code, avg 86µs/call # spent 197µs making 15 calls to Class::MOP::Attribute::_inline_has_value, avg 13µs/call
220 'sub {',
221 $attr->_inline_has_value('$_[0]'),
222 '}',
223 ]);
224 }
225 catch {
226 $self->_throw_exception( CouldNotGenerateInlineAttributeMethod => instance => $self,
227 error => $_,
228 option => "predicate"
229 );
2301553µs3071µs };
# spent 71µs making 15 calls to Try::Tiny::catch, avg 5µs/call # spent 1.68ms making 15 calls to Try::Tiny::try, avg 112µs/call, recursion: max depth 1, sum of overlapping time 1.68ms
231}
232
233
# spent 8µs (7+800ns) within Class::MOP::Method::Accessor::_generate_clearer_method which was called: # once (7µs+800ns) by Class::MOP::Method::Accessor::_initialize_body at line 91
sub _generate_clearer_method {
2341300ns my $self = shift;
23512µs1800ns my $attr = $self->associated_attribute;
236
237 return sub {
238 $attr->clear_value($_[0])
23914µs };
240}
241
242sub _generate_clearer_method_inline {
243 my $self = shift;
244 my $attr = $self->associated_attribute;
245
246 return try {
247 $self->_compile_code([
248 'sub {',
249 $attr->_inline_clear_value('$_[0]'),
250 '}',
251 ]);
252 }
253 catch {
254 $self->_throw_exception( CouldNotGenerateInlineAttributeMethod => instance => $self,
255 error => $_,
256 option => "clearer"
257 );
258 };
259}
260
26112µs1;
262
263# ABSTRACT: Method Meta Object for accessors
264
265__END__