X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=gitmo%2FMouse.git;a=blobdiff_plain;f=lib%2FMouse%2FMeta%2FModule.pm;h=0545f362aa12e25b437cf0f4c477dfc4e937d76d;hp=9fd52b94487990ecf4484223157c153319058ddd;hb=134daa672a270f9144185a6d245085558fceb210;hpb=53875581c2449e237cc1135b8c2cf1674a874aed diff --git a/lib/Mouse/Meta/Module.pm b/lib/Mouse/Meta/Module.pm index 9fd52b9..0545f36 100755 --- a/lib/Mouse/Meta/Module.pm +++ b/lib/Mouse/Meta/Module.pm @@ -5,7 +5,7 @@ use warnings; use Carp (); use Scalar::Util qw/blessed weaken/; -use Mouse::Util qw/get_code_info not_supported load_class :meta/; +use Mouse::Util qw/:meta get_code_info not_supported load_class/; { my %METACLASS_CACHE; @@ -102,7 +102,7 @@ sub _code_is_mine { # taken from Class::MOP::Class my ( $code_package, $code_name ) = get_code_info($code); - return $code_package && $code_package eq $self->name + return $code_package && $code_package eq $self->{package} || ( $code_package eq 'constant' && $code_name eq '__ANON__' ); } @@ -110,7 +110,8 @@ sub has_method { my($self, $method_name) = @_; return 1 if $self->{methods}->{$method_name}; - my $code = $self->name->can($method_name); + + my $code = $self->{package}->can($method_name); return $code && $self->_code_is_mine($code); } @@ -299,7 +300,11 @@ __END__ =head1 NAME -Mouse::Meta::Module - Common base class for Mouse::Meta::Class and Mouse::Meta::Role +Mouse::Meta::Module - The base class for Mouse::Meta::Class and Mouse::Meta::Role + +=head1 SEE ALSO + +L =cut