From: Yuval Kogman Date: Wed, 13 Aug 2008 21:21:14 +0000 (+0000) Subject: _new for Accessor X-Git-Tag: 0_64_01~20 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=e3a72dbc1bf2abca4d135b408baaf99cc9d04e9f;p=gitmo%2FClass-MOP.git _new for Accessor --- diff --git a/lib/Class/MOP/Method/Generated.pm b/lib/Class/MOP/Method/Generated.pm index 1ba8cb0..a38a3ba 100644 --- a/lib/Class/MOP/Method/Generated.pm +++ b/lib/Class/MOP/Method/Generated.pm @@ -18,20 +18,22 @@ sub new { ($options{package_name} && $options{name}) || confess "You must supply the package_name and name parameters $Class::MOP::Method::UPGRADE_ERROR_TEXT"; - my $self = bless { - # from our superclass - 'body' => undef, - 'package_name' => $options{package_name}, - 'name' => $options{name}, - # specific to this subclass - 'is_inline' => ($options{is_inline} || 0), - } => $class; + my $self = $self->_new(%options); $self->initialize_body; return $self; } +sub _new { + my ( $self, %options ) = @_; + + $options{is_inline} ||= 0; + $options{body} ||= undef; + + bless \%options, $class; +} + ## accessors sub is_inline { (shift)->{'is_inline'} }