A small optimization to CMOP::Mixin::HasMethods::get_method (from profiling)
Dave Rolsky [Thu, 5 Aug 2010 23:05:32 +0000 (01:05 +0200)]
lib/Class/MOP/Mixin/HasMethods.pm

index 3cf042d..34a66b4 100644 (file)
@@ -110,9 +110,8 @@ sub get_method {
     # added via roles or some other such bizareness. Honestly, I don't totally
     # understand this, but returning the entry works, and keeps various MX
     # modules from blowing up. - DR
-    return $map_entry if blessed $map_entry && !$code;
-
-    return $map_entry if blessed $map_entry && $map_entry->body == $code;
+    return $map_entry
+        if blessed $map_entry && ( !$code || $map_entry->body == $code );
 
     unless ($map_entry) {
         return unless $code && $self->_code_is_mine($code);