Handle aliasing too
Shawn M Moore [Sun, 3 May 2009 19:26:59 +0000 (15:26 -0400)]
lib/Perl/Critic/Policy/DynamicMoose/ClassOverridesRole.pm
t/DynamicMoose/ClassOverridesRole.run

index 9f1c589..9c0dc9b 100644 (file)
@@ -20,6 +20,7 @@ sub violates_metaclass {
         my $role = $application->role;
         for my $method ($role->get_method_list) {
             next if $application->is_method_excluded($method);
+            next if $application->is_method_aliased($method);
 
             my $method_object = $class->get_method($method)
                 or next;
index 75df069..1a62da9 100644 (file)
@@ -68,3 +68,20 @@ use Moose;
 with 'Role::A';
 with 'Role::B';
 
+#-----------------------------------------------------------------------------
+
+## name Name collision with aliasing
+## failures 0
+## cut
+
+package Role;
+use Moose::Role;
+
+sub foo {}
+
+package Class;
+use Moose;
+with 'Role' => { alias => { foo => 'foo_bar' } };
+
+sub foo {}
+