diff options
author | doy <doy@tozt.net> | 2009-04-14 23:34:54 -0500 |
---|---|---|
committer | doy <doy@tozt.net> | 2009-04-14 23:34:54 -0500 |
commit | 3d42fbce70693ebf8b285bae0bd1dd37c158ec9d (patch) | |
tree | f0e1de8c72e2964ccf59d6c084c525453cb263e0 /lib | |
parent | 05d803fdad9a28635f8b6e2ab5f33cbe659dd290 (diff) | |
download | moosex-nonmoose-3d42fbce70693ebf8b285bae0bd1dd37c158ec9d.tar.gz moosex-nonmoose-3d42fbce70693ebf8b285bae0bd1dd37c158ec9d.zip |
reorder the non-immutable constructor a bit to line up better with the inlined version
Diffstat (limited to 'lib')
-rw-r--r-- | lib/MooseX/NonMoose.pm | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/lib/MooseX/NonMoose.pm b/lib/MooseX/NonMoose.pm index 35e960c..29ab778 100644 --- a/lib/MooseX/NonMoose.pm +++ b/lib/MooseX/NonMoose.pm @@ -44,15 +44,14 @@ sub extends { $caller_meta->add_method(new => sub { my $class = shift; - my $self = $super_new->execute($class, @_); - my $params = $class->BUILDARGS(@_); - my $moose_self = Class::MOP::Class->initialize($class)->new_object( - __INSTANCE__ => $self, + my $instance = $super_new->execute($class, @_); + my $self = Class::MOP::Class->initialize($class)->new_object( + __INSTANCE__ => $instance, %$params, ); - $moose_self->BUILDALL($params); - return $moose_self; + $self->BUILDALL($params); + return $self; }); $caller_meta->replace_constructor(1); } |