X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FClass%2FMOP%2FMethod%2FConstructor.pm;h=372620caf70f60c04a7ec1b2c9b97d85632dbd7a;hb=32202ce2c416e23995519724fd8340de25e7ff2b;hp=9ac824d949047985777024b4d459db5ada27c468;hpb=127d39a79d936afd136ccfd8ff8271eea2bc0cbb;p=gitmo%2FClass-MOP.git diff --git a/lib/Class/MOP/Method/Constructor.pm b/lib/Class/MOP/Method/Constructor.pm index 9ac824d..372620c 100644 --- a/lib/Class/MOP/Method/Constructor.pm +++ b/lib/Class/MOP/Method/Constructor.pm @@ -7,7 +7,7 @@ use warnings; use Carp 'confess'; use Scalar::Util 'blessed', 'weaken', 'looks_like_number'; -our $VERSION = '0.04'; +our $VERSION = '0.06'; our $AUTHORITY = 'cpan:STEVAN'; use base 'Class::MOP::Method::Generated'; @@ -20,9 +20,14 @@ sub new { || confess "You must pass a metaclass instance if you want to inline" if $options{is_inline}; + ($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, + '&!body' => undef, + '$!package_name' => $options{package_name}, + '$!name' => $options{name}, # specific to this subclass '%!options' => $options{options} || {}, '$!associated_metaclass' => $options{metaclass},