← Index
NYTProf Performance Profile   « block view • line view • sub view »
For 01.HTTP.t
  Run on Tue May 4 15:25:55 2010
Reported on Tue May 4 15:26:20 2010

File /usr/local/lib/perl5/site_perl/5.10.1/darwin-2level/Class/MOP/Method/Accessor.pm
Statements Executed 4276
Statement Execution Time 9.93ms
Subroutines — ordered by exclusive time
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
172112.82ms18.3msClass::MOP::Method::Accessor::::newClass::MOP::Method::Accessor::new
223222.13ms2.13msClass::MOP::Method::Accessor::::_newClass::MOP::Method::Accessor::_new
172111.54ms12.2msClass::MOP::Method::Accessor::::_initialize_bodyClass::MOP::Method::Accessor::_initialize_body
5211958µs4.53msClass::MOP::Method::Accessor::::_generate_reader_method_inlineClass::MOP::Method::Accessor::_generate_reader_method_inline
1511317µs1.45msClass::MOP::Method::Accessor::::_generate_accessor_method_inlineClass::MOP::Method::Accessor::_generate_accessor_method_inline
5211299µs348µsClass::MOP::Method::Accessor::::_generate_reader_methodClass::MOP::Method::Accessor::_generate_reader_method
1311247µs987µsClass::MOP::Method::Accessor::::_generate_predicate_method_inlineClass::MOP::Method::Accessor::_generate_predicate_method_inline
196132186µs186µsClass::MOP::Method::Accessor::::associated_attributeClass::MOP::Method::Accessor::associated_attribute
17211179µs179µsClass::MOP::Method::Accessor::::accessor_typeClass::MOP::Method::Accessor::accessor_type
151189µs102µsClass::MOP::Method::Accessor::::_generate_accessor_methodClass::MOP::Method::Accessor::_generate_accessor_method
31184µs259µsClass::MOP::Method::Accessor::::_generate_writer_method_inlineClass::MOP::Method::Accessor::_generate_writer_method_inline
131173µs84µsClass::MOP::Method::Accessor::::_generate_predicate_methodClass::MOP::Method::Accessor::_generate_predicate_method
31126µs29µsClass::MOP::Method::Accessor::::_generate_writer_methodClass::MOP::Method::Accessor::_generate_writer_method
11122µs27µsClass::MOP::Method::Accessor::::BEGIN@4Class::MOP::Method::Accessor::BEGIN@4
11115µs64µsClass::MOP::Method::Accessor::::BEGIN@8Class::MOP::Method::Accessor::BEGIN@8
11111µs27µsClass::MOP::Method::Accessor::::BEGIN@5Class::MOP::Method::Accessor::BEGIN@5
11110µs2.64msClass::MOP::Method::Accessor::::BEGIN@14Class::MOP::Method::Accessor::BEGIN@14
11110µs55µ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__[:113]Class::MOP::Method::Accessor::__ANON__[:113]
0000s0sClass::MOP::Method::Accessor::::__ANON__[:120]Class::MOP::Method::Accessor::__ANON__[:120]
0000s0sClass::MOP::Method::Accessor::::__ANON__[:127]Class::MOP::Method::Accessor::__ANON__[:127]
0000s0sClass::MOP::Method::Accessor::::__ANON__[:97]Class::MOP::Method::Accessor::__ANON__[:97]
0000s0sClass::MOP::Method::Accessor::::_generate_clearer_methodClass::MOP::Method::Accessor::_generate_clearer_method
0000s0sClass::MOP::Method::Accessor::::_generate_clearer_method_inlineClass::MOP::Method::Accessor::_generate_clearer_method_inline
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1
2package Class::MOP::Method::Accessor;
3
4334µs233µs
# spent 27µs (22+5) within Class::MOP::Method::Accessor::BEGIN@4 which was called # once (22µs+5µs) by Class::MOP::Class::BEGIN@9 at line 4
use strict;
# spent 27µs making 1 call to Class::MOP::Method::Accessor::BEGIN@4 # spent 5µs making 1 call to strict::import
5335µs243µs
# spent 27µs (11+16) within Class::MOP::Method::Accessor::BEGIN@5 which was called # once (11µs+16µs) by Class::MOP::Class::BEGIN@9 at line 5
use warnings;
# spent 27µs making 1 call to Class::MOP::Method::Accessor::BEGIN@5 # spent 16µs making 1 call to warnings::import
6
7338µs299µs
# spent 55µs (10+45) within Class::MOP::Method::Accessor::BEGIN@7 which was called # once (10µs+45µs) by Class::MOP::Class::BEGIN@9 at line 7
use Carp 'confess';
# spent 55µs making 1 call to Class::MOP::Method::Accessor::BEGIN@7 # spent 45µs making 1 call to Exporter::import
8376µs2114µs
# spent 64µs (15+49) within Class::MOP::Method::Accessor::BEGIN@8 which was called # once (15µs+49µs) by Class::MOP::Class::BEGIN@9 at line 8
use Scalar::Util 'blessed', 'weaken';
# spent 64µs making 1 call to Class::MOP::Method::Accessor::BEGIN@8 # spent 49µs making 1 call to Exporter::import
9
101900nsour $VERSION = '0.98';
11124µs$VERSION = eval $VERSION;
121500nsour $AUTHORITY = 'cpan:STEVAN';
13
1431.05ms25.27ms
# spent 2.64ms (10µs+2.63) within Class::MOP::Method::Accessor::BEGIN@14 which was called # once (10µs+2.63ms) by Class::MOP::Class::BEGIN@9 at line 14
use base 'Class::MOP::Method::Generated';
# spent 2.64ms making 1 call to Class::MOP::Method::Accessor::BEGIN@14 # spent 2.63ms making 1 call to base::import
15
16
# spent 18.3ms (2.82+15.5) within Class::MOP::Method::Accessor::new which was called 172 times, avg 106µs/call: # 172 times (2.82ms+15.5ms) by Class::MOP::Attribute::__ANON__[/usr/local/lib/perl5/site_perl/5.10.1/darwin-2level/Class/MOP/Attribute.pm:340] at line 332 of Class/MOP/Attribute.pm, avg 106µs/call
sub new {
1717255µs my $class = shift;
18172392µs my %options = @_;
19
2017257µs (exists $options{attribute})
21 || confess "You must supply an attribute to construct with";
22
2317238µs (exists $options{accessor_type})
24 || confess "You must supply an accessor_type to construct with";
25
26172913µs344270µs (blessed($options{attribute}) && $options{attribute}->isa('Class::MOP::Attribute'))
# spent 140µs making 172 calls to UNIVERSAL::isa, avg 816ns/call # spent 130µs making 172 calls to Scalar::Util::blessed, avg 756ns/call
27 || confess "You must supply an attribute which is a 'Class::MOP::Attribute' instance";
28
2917262µs ($options{package_name} && $options{name})
30 || confess "You must supply the package_name and name parameters $Class::MOP::Method::UPGRADE_ERROR_TEXT";
31
32172271µs1722.80ms my $self = $class->_new(\%options);
# spent 1.50ms making 166 calls to Class::MOP::Method::Accessor::_new, avg 9µs/call # spent 1.04ms making 2 calls to Class::MOP::Method::_new, avg 521µs/call # spent 260µs making 4 calls to Moose::Meta::Method::Accessor::_new, avg 65µs/call
33
34 # we don't want this creating
35 # a cycle in the code, if not
36 # needed
37172543µs172220µs weaken($self->{'attribute'});
# spent 220µs making 172 calls to Scalar::Util::weaken, avg 1µs/call
38
39172189µs17212.2ms $self->_initialize_body;
# spent 12.2ms making 172 calls to Class::MOP::Method::Accessor::_initialize_body, avg 71µs/call
40
41172471µs return $self;
42}
43
44
# spent 2.13ms within Class::MOP::Method::Accessor::_new which was called 223 times, avg 10µs/call: # 166 times (1.50ms+0s) by Class::MOP::Method::Accessor::new at line 32, avg 9µs/call # 57 times (628µs+0s) by Class::MOP::Method::wrap at line 44 of Class/MOP/Method.pm, avg 11µs/call
sub _new {
4522354µs my $class = shift;
46
4722350µs return Class::MOP::Class->initialize($class)->new_object(@_)
48 if $class ne __PACKAGE__;
49
5022390µs my $params = @_ == 1 ? $_[0] : {@_};
51
522232.04ms return bless {
53 # inherited from Class::MOP::Method
54 body => $params->{body},
55 associated_metaclass => $params->{associated_metaclass},
56 package_name => $params->{package_name},
57 name => $params->{name},
58 original_method => $params->{original_method},
59
60 # inherit from Class::MOP::Generated
61 is_inline => $params->{is_inline} || 0,
62 definition_context => $params->{definition_context},
63
64 # defined in this class
65 attribute => $params->{attribute},
66 accessor_type => $params->{accessor_type},
67 } => $class;
68}
69
70## accessors
71
72196410µs
# spent 186µs within Class::MOP::Method::Accessor::associated_attribute which was called 196 times, avg 947ns/call: # 52 times (52µs+0s) by Class::MOP::Method::Accessor::_generate_reader_method_inline at line 153, avg 998ns/call # 52 times (49µs+0s) by Class::MOP::Method::Accessor::_generate_reader_method at line 101, avg 942ns/call # 15 times (14µs+0s) by Class::MOP::Method::Accessor::_generate_accessor_method_inline at line 134, avg 927ns/call # 15 times (13µs+0s) by Class::MOP::Method::Accessor::_generate_accessor_method at line 93, avg 867ns/call # 13 times (12µs+0s) by Class::MOP::Method::Accessor::_generate_predicate_method_inline at line 188, avg 892ns/call # 13 times (11µs+0s) by Class::MOP::Method::Accessor::_generate_predicate_method at line 117, avg 815ns/call # 6 times (8µs+0s) by Moose::Meta::Method::Accessor::_inline_check_lazy at line 158 of Moose/Meta/Method/Accessor.pm, avg 1µs/call # 6 times (7µs+0s) by Moose::Meta::Method::Accessor::_generate_reader_method_inline at line 91 of Moose/Meta/Method/Accessor.pm, avg 1µs/call # 6 times (6µs+0s) by Moose::Meta::Method::Accessor::_inline_auto_deref at line 277 of Moose/Meta/Method/Accessor.pm, avg 1µs/call # 6 times (6µs+0s) by Moose::Meta::Method::Accessor::_eval_code at line 24 of Moose/Meta/Method/Accessor.pm, avg 917ns/call # 6 times (4µs+0s) by Moose::Meta::Method::Accessor::_inline_get at line 250 of Moose/Meta/Method/Accessor.pm, avg 733ns/call # 3 times (3µs+0s) by Class::MOP::Method::Accessor::_generate_writer_method_inline at line 171, avg 900ns/call # 3 times (2µs+0s) by Class::MOP::Method::Accessor::_generate_writer_method at line 110, avg 800ns/call
sub associated_attribute { (shift)->{'attribute'} }
73172333µs
# spent 179µs within Class::MOP::Method::Accessor::accessor_type which was called 172 times, avg 1µs/call: # 172 times (179µs+0s) by Class::MOP::Method::Accessor::_initialize_body at line 80, avg 1µs/call
sub accessor_type { (shift)->{'accessor_type'} }
74
75## factory
76
77
# spent 12.2ms (1.54+10.6) within Class::MOP::Method::Accessor::_initialize_body which was called 172 times, avg 71µs/call: # 172 times (1.54ms+10.6ms) by Class::MOP::Method::Accessor::new at line 39, avg 71µs/call
sub _initialize_body {
7817229µs my $self = shift;
79
80172453µs344372µs my $method_name = join "_" => (
# spent 193µs making 172 calls to Class::MOP::Method::Generated::is_inline, avg 1µs/call # spent 179µs making 172 calls to Class::MOP::Method::Accessor::accessor_type, avg 1µs/call
81 '_generate',
82 $self->accessor_type,
83 'method',
84 ($self->is_inline ? 'inline' : ())
85 );
86
87172640µs17210.3ms $self->{'body'} = $self->$method_name();
# spent 4.53ms making 52 calls to Class::MOP::Method::Accessor::_generate_reader_method_inline, avg 87µs/call # spent 2.06ms making 5 calls to Moose::Meta::Method::Accessor::_generate_reader_method, avg 412µs/call # spent 1.45ms making 15 calls to Class::MOP::Method::Accessor::_generate_accessor_method_inline, avg 97µs/call # spent 987µs making 13 calls to Class::MOP::Method::Accessor::_generate_predicate_method_inline, avg 76µs/call # spent 424µs making 1 call to Moose::Meta::Method::Accessor::_generate_reader_method_inline # spent 348µs making 52 calls to Class::MOP::Method::Accessor::_generate_reader_method, avg 7µs/call # spent 259µs making 3 calls to Class::MOP::Method::Accessor::_generate_writer_method_inline, avg 86µs/call # spent 102µs making 15 calls to Class::MOP::Method::Accessor::_generate_accessor_method, avg 7µs/call # spent 84µs making 13 calls to Class::MOP::Method::Accessor::_generate_predicate_method, avg 6µs/call # spent 29µs making 3 calls to Class::MOP::Method::Accessor::_generate_writer_method, avg 10µs/call
88}
89
90## generators
91
92
# spent 102µs (89+13) within Class::MOP::Method::Accessor::_generate_accessor_method which was called 15 times, avg 7µs/call: # 15 times (89µs+13µs) by Class::MOP::Method::Accessor::_initialize_body at line 87, avg 7µs/call
sub _generate_accessor_method {
931517µs1513µs my $attr = (shift)->associated_attribute;
# spent 13µs making 15 calls to Class::MOP::Method::Accessor::associated_attribute, avg 867ns/call
94 return sub {
95 $attr->set_value($_[0], $_[1]) if scalar(@_) == 2;
96 $attr->get_value($_[0]);
971568µs };
98}
99
100
# spent 348µs (299+49) within Class::MOP::Method::Accessor::_generate_reader_method which was called 52 times, avg 7µs/call: # 52 times (299µs+49µs) by Class::MOP::Method::Accessor::_initialize_body at line 87, avg 7µs/call
sub _generate_reader_method {
1015266µs5249µs my $attr = (shift)->associated_attribute;
# spent 49µs making 52 calls to Class::MOP::Method::Accessor::associated_attribute, avg 942ns/call
102 return sub {
10364µs confess "Cannot assign a value to a read-only accessor" if @_ > 1;
104621µs6155µs $attr->get_value($_[0]);
# spent 155µs making 6 calls to Class::MOP::Attribute::get_value, avg 26µs/call
10552212µs };
106}
107
108
109
# spent 29µs (26+2) within Class::MOP::Method::Accessor::_generate_writer_method which was called 3 times, avg 10µs/call: # 3 times (26µs+2µs) by Class::MOP::Method::Accessor::_initialize_body at line 87, avg 10µs/call
sub _generate_writer_method {
11035µs32µs my $attr = (shift)->associated_attribute;
# spent 2µs making 3 calls to Class::MOP::Method::Accessor::associated_attribute, avg 800ns/call
111 return sub {
112 $attr->set_value($_[0], $_[1]);
113319µs };
114}
115
116
# spent 84µs (73+11) within Class::MOP::Method::Accessor::_generate_predicate_method which was called 13 times, avg 6µs/call: # 13 times (73µs+11µs) by Class::MOP::Method::Accessor::_initialize_body at line 87, avg 6µs/call
sub _generate_predicate_method {
1171315µs1311µs my $attr = (shift)->associated_attribute;
# spent 11µs making 13 calls to Class::MOP::Method::Accessor::associated_attribute, avg 815ns/call
118 return sub {
11929µs257µs $attr->has_value($_[0])
# spent 57µs making 2 calls to Class::MOP::Attribute::has_value, avg 28µs/call
1201350µs };
121}
122
123sub _generate_clearer_method {
124 my $attr = (shift)->associated_attribute;
125 return sub {
126 $attr->clear_value($_[0])
127 };
128}
129
130## Inline methods
131
132
# spent 1.45ms (317µs+1.14) within Class::MOP::Method::Accessor::_generate_accessor_method_inline which was called 15 times, avg 97µs/call: # 15 times (317µs+1.14ms) by Class::MOP::Method::Accessor::_initialize_body at line 87, avg 97µs/call
sub _generate_accessor_method_inline {
133153µs my $self = shift;
1341516µs1514µs my $attr = $self->associated_attribute;
# spent 14µs making 15 calls to Class::MOP::Method::Accessor::associated_attribute, avg 927ns/call
1351542µs159µs my $attr_name = $attr->name;
# spent 9µs making 15 calls to Class::MOP::Mixin::AttributeCore::name, avg 627ns/call
1361528µs3028µs my $meta_instance = $attr->associated_class->instance_metaclass;
# spent 15µs making 15 calls to Class::MOP::Class::instance_metaclass, avg 987ns/call # spent 14µs making 15 calls to Class::MOP::Attribute::associated_class, avg 907ns/call
137
1381585µs451.09ms my ( $code, $e ) = $self->_eval_closure(
# spent 902µs making 15 calls to Class::MOP::Method::Generated::_eval_closure, avg 60µs/call # spent 104µs making 15 calls to Class::MOP::Instance::inline_set_slot_value, avg 7µs/call # spent 80µs making 15 calls to Class::MOP::Instance::inline_get_slot_value, avg 5µs/call
139 {},
140 'sub {'
141 . $meta_instance->inline_set_slot_value('$_[0]', $attr_name, '$_[1]')
142 . ' if scalar(@_) == 2; '
143 . $meta_instance->inline_get_slot_value('$_[0]', $attr_name)
144 . '}'
145 );
146152µs confess "Could not generate inline accessor because : $e" if $e;
147
1481535µs return $code;
149}
150
151
# spent 4.53ms (958µs+3.57) within Class::MOP::Method::Accessor::_generate_reader_method_inline which was called 52 times, avg 87µs/call: # 52 times (958µs+3.57ms) by Class::MOP::Method::Accessor::_initialize_body at line 87, avg 87µs/call
sub _generate_reader_method_inline {
1525212µs my $self = shift;
1535256µs5252µs my $attr = $self->associated_attribute;
# spent 52µs making 52 calls to Class::MOP::Method::Accessor::associated_attribute, avg 998ns/call
15452154µs5236µs my $attr_name = $attr->name;
# spent 36µs making 52 calls to Class::MOP::Mixin::AttributeCore::name, avg 687ns/call
1555298µs104107µs my $meta_instance = $attr->associated_class->instance_metaclass;
# spent 58µs making 52 calls to Class::MOP::Class::instance_metaclass, avg 1µs/call # spent 49µs making 52 calls to Class::MOP::Attribute::associated_class, avg 940ns/call
156
15752213µs1043.38ms my ( $code, $e ) = $self->_eval_closure(
# spent 3.06ms making 52 calls to Class::MOP::Method::Generated::_eval_closure, avg 59µs/call # spent 313µs making 52 calls to Class::MOP::Instance::inline_get_slot_value, avg 6µs/call
158 {},
159 'sub {'
160 . 'confess "Cannot assign a value to a read-only accessor" if @_ > 1;'
161 . $meta_instance->inline_get_slot_value('$_[0]', $attr_name)
162 . '}'
163 );
164527µs confess "Could not generate inline reader because : $e" if $e;
165
16652119µs return $code;
167}
168
169
# spent 259µs (84+175) within Class::MOP::Method::Accessor::_generate_writer_method_inline which was called 3 times, avg 86µs/call: # 3 times (84µs+175µs) by Class::MOP::Method::Accessor::_initialize_body at line 87, avg 86µs/call
sub _generate_writer_method_inline {
17031µs my $self = shift;
17134µs33µs my $attr = $self->associated_attribute;
# spent 3µs making 3 calls to Class::MOP::Method::Accessor::associated_attribute, avg 900ns/call
172310µs32µs my $attr_name = $attr->name;
# spent 2µs making 3 calls to Class::MOP::Mixin::AttributeCore::name, avg 633ns/call
17338µs66µs my $meta_instance = $attr->associated_class->instance_metaclass;
# spent 3µs making 3 calls to Class::MOP::Class::instance_metaclass, avg 1µs/call # spent 3µs making 3 calls to Class::MOP::Attribute::associated_class, avg 933ns/call
174
175317µs6164µs my ( $code, $e ) = $self->_eval_closure(
# spent 144µs making 3 calls to Class::MOP::Method::Generated::_eval_closure, avg 48µs/call # spent 20µs making 3 calls to Class::MOP::Instance::inline_set_slot_value, avg 7µs/call
176 {},
177 'sub {'
178 . $meta_instance->inline_set_slot_value('$_[0]', $attr_name, '$_[1]')
179 . '}'
180 );
1813900ns confess "Could not generate inline writer because : $e" if $e;
182
183310µs return $code;
184}
185
186
# spent 987µs (247+740) within Class::MOP::Method::Accessor::_generate_predicate_method_inline which was called 13 times, avg 76µs/call: # 13 times (247µs+740µs) by Class::MOP::Method::Accessor::_initialize_body at line 87, avg 76µs/call
sub _generate_predicate_method_inline {
187134µs my $self = shift;
1881314µs1312µs my $attr = $self->associated_attribute;
# spent 12µs making 13 calls to Class::MOP::Method::Accessor::associated_attribute, avg 892ns/call
1891335µs138µs my $attr_name = $attr->name;
# spent 8µs making 13 calls to Class::MOP::Mixin::AttributeCore::name, avg 631ns/call
1901325µs2625µs my $meta_instance = $attr->associated_class->instance_metaclass;
# spent 13µs making 13 calls to Class::MOP::Class::instance_metaclass, avg 1µs/call # spent 11µs making 13 calls to Class::MOP::Attribute::associated_class, avg 877ns/call
191
1921357µs26696µs my ( $code, $e ) = $self->_eval_closure(
# spent 599µs making 13 calls to Class::MOP::Method::Generated::_eval_closure, avg 46µs/call # spent 96µs making 13 calls to Class::MOP::Instance::inline_is_slot_initialized, avg 7µs/call
193 {},
194 'sub {'
195 . $meta_instance->inline_is_slot_initialized('$_[0]', $attr_name)
196 . '}'
197 );
198132µs confess "Could not generate inline predicate because : $e" if $e;
199
2001332µs return $code;
201}
202
203sub _generate_clearer_method_inline {
204 my $self = shift;
205 my $attr = $self->associated_attribute;
206 my $attr_name = $attr->name;
207 my $meta_instance = $attr->associated_class->instance_metaclass;
208
209 my ( $code, $e ) = $self->_eval_closure(
210 {},
211 'sub {'
212 . $meta_instance->inline_deinitialize_slot('$_[0]', $attr_name)
213 . '}'
214 );
215 confess "Could not generate inline clearer because : $e" if $e;
216
217 return $code;
218}
219
22016µs1;
221
222__END__
223
224=pod
225
226=head1 NAME
227
228Class::MOP::Method::Accessor - Method Meta Object for accessors
229
230=head1 SYNOPSIS
231
232 use Class::MOP::Method::Accessor;
233
234 my $reader = Class::MOP::Method::Accessor->new(
235 attribute => $attribute,
236 is_inline => 1,
237 accessor_type => 'reader',
238 );
239
240 $reader->body->execute($instance); # call the reader method
241
242=head1 DESCRIPTION
243
244This is a subclass of <Class::MOP::Method> which is used by
245C<Class::MOP::Attribute> to generate accessor code. It handles
246generation of readers, writers, predicates and clearers. For each type
247of method, it can either create a subroutine reference, or actually
248inline code by generating a string and C<eval>'ing it.
249
250=head1 METHODS
251
252=over 4
253
254=item B<< Class::MOP::Method::Accessor->new(%options) >>
255
256This returns a new C<Class::MOP::Method::Accessor> based on the
257C<%options> provided.
258
259=over 4
260
261=item * attribute
262
263This is the C<Class::MOP::Attribute> for which accessors are being
264generated. This option is required.
265
266=item * accessor_type
267
268This is a string which should be one of "reader", "writer",
269"accessor", "predicate", or "clearer". This is the type of method
270being generated. This option is required.
271
272=item * is_inline
273
274This indicates whether or not the accessor should be inlined. This
275defaults to false.
276
277=item * name
278
279The method name (without a package name). This is required.
280
281=item * package_name
282
283The package name for the method. This is required.
284
285=back
286
287=item B<< $metamethod->accessor_type >>
288
289Returns the accessor type which was passed to C<new>.
290
291=item B<< $metamethod->is_inline >>
292
293Returns a boolean indicating whether or not the accessor is inlined.
294
295=item B<< $metamethod->associated_attribute >>
296
297This returns the L<Class::MOP::Attribute> object which was passed to
298C<new>.
299
300=item B<< $metamethod->body >>
301
302The method itself is I<generated> when the accessor object is
303constructed.
304
305=back
306
307=head1 AUTHORS
308
309Stevan Little E<lt>stevan@iinteractive.comE<gt>
310
311=head1 COPYRIGHT AND LICENSE
312
313Copyright 2006-2010 by Infinity Interactive, Inc.
314
315L<http://www.iinteractive.com>
316
317This library is free software; you can redistribute it and/or modify
318it under the same terms as Perl itself.
319
320=cut
321