tidy new code from Goro
[gitmo/Class-MOP.git] / lib / Class / MOP / Method.pm
index 9907bd7..3b6d025 100644 (file)
@@ -7,7 +7,7 @@ use warnings;
 use Carp         'confess';
 use Scalar::Util 'weaken', 'reftype';
 
-our $VERSION   = '0.88';
+our $VERSION   = '0.89';
 $VERSION = eval $VERSION;
 our $AUTHORITY = 'cpan:STEVAN';
 
@@ -43,13 +43,18 @@ sub wrap {
 
 sub _new {
     my $class = shift;
+
+    return Class::MOP::Class->initialize($class)->new_object(@_)
+        if $class ne __PACKAGE__;
+
     my $params = @_ == 1 ? $_[0] : {@_};
 
-    my $self = bless {
+    return bless {
         'body'                 => $params->{body},
         'associated_metaclass' => $params->{associated_metaclass},
         'package_name'         => $params->{package_name},
         'name'                 => $params->{name},
+        'original_method'      => $params->{original_method},
     } => $class;
 }