From: Yuval Kogman Date: Wed, 13 Aug 2008 21:20:57 +0000 (+0000) Subject: _new for Accessor X-Git-Tag: 0_64_01~21 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=a9e38dc76d4270c7a3d4fabae8e0e2009f11b5bb;p=gitmo%2FClass-MOP.git _new for Accessor --- diff --git a/lib/Class/MOP/Method/Accessor.pm b/lib/Class/MOP/Method/Accessor.pm index afa4340..f882ae5 100644 --- a/lib/Class/MOP/Method/Accessor.pm +++ b/lib/Class/MOP/Method/Accessor.pm @@ -28,16 +28,7 @@ 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 - 'attribute' => $options{attribute}, - 'is_inline' => ($options{is_inline} || 0), - 'accessor_type' => $options{accessor_type}, - } => $class; + my $self = $class->_new(%options); # we don't want this creating # a cycle in the code, if not @@ -49,6 +40,14 @@ sub new { return $self; } +sub _new { + my ( $class, %options ) = @_; + + $options{is_inline} ||= 0; + + return bless \%options, $class; +} + ## accessors sub associated_attribute { (shift)->{'attribute'} }