All methods which take a method name should not accept an empty string (using
[gitmo/Class-MOP.git] / lib / Class / MOP / Package.pm
index f6d4261..5ad509a 100644 (file)
@@ -311,7 +311,7 @@ sub wrap_method_body {
 
 sub add_method {
     my ($self, $method_name, $method) = @_;
-    (defined $method_name && $method_name)
+    (defined $method_name && length $method_name)
         || confess "You must define a method name";
 
     my $body;
@@ -358,7 +358,8 @@ sub _code_is_mine {
 
 sub has_method {
     my ($self, $method_name) = @_;
-    (defined $method_name && $method_name)
+
+    (defined $method_name && length $method_name)
         || confess "You must define a method name";
 
     return defined($self->get_method($method_name));
@@ -366,7 +367,8 @@ sub has_method {
 
 sub get_method {
     my ( $self, $method_name ) = @_;
-    ( defined $method_name && $method_name )
+
+    (defined $method_name && length $method_name)
         || confess "You must define a method name";
 
     my $method_map = $self->_method_map;
@@ -402,7 +404,7 @@ sub get_method {
 
 sub remove_method {
     my ($self, $method_name) = @_;
-    (defined $method_name && $method_name)
+    (defined $method_name && length $method_name)
         || confess "You must define a method name";
 
     my $removed_method = delete $self->_full_method_map->{$method_name};