b373f846b1c54602cc12c7e23b5f7865484e4668
[gitmo/Perl-Critic-Dynamic-Moose.git] / lib / Perl / Critic / Policy / DynamicMoose / ClassOverridesRole.pm
1 package Perl::Critic::Policy::DynamicMoose::ClassOverridesRole;
2 use Moose;
3 extends 'Perl::Critic::Policy::DynamicMoose';
4
5 use Perl::Critic::Utils ':severities';
6
7 Readonly::Scalar my $EXPL => q{};
8 sub default_severity { $SEVERITY_MEDIUM }
9
10 # Class::MOP::Class has no roles
11 sub applies_to_metaclass { 'Moose::Meta::Class' }
12
13 sub violates_metaclass {
14     my $self = shift;
15     my $meta = shift;
16
17     return;
18 }
19
20 no Moose;
21
22 1;
23
24 __END__
25
26 =head1 NAME
27
28 Perl::Critic::Policy::DynamicMoose::ClassOverridesRole
29
30 =head1 DESCRIPTION
31
32
33 =head1 WARNING
34
35 B<VERY IMPORTANT:> Most L<Perl::Critic> Policies (including all the ones that
36 ship with Perl::Critic> use pure static analysis -- they never compile nor
37 execute any of the code that they analyze.  However, this policy is very
38 different.  It actually attempts to compile your code and then compares the
39 subroutines mentioned in your code to those found in the symbol table.
40 Therefore you should B<not> use this Policy on any code that you do not trust,
41 or may have undesirable side-effects at compile-time (such as connecting to the
42 network or mutating files).
43
44 For this Policy to work, all the modules included in your code must be
45 installed locally, and must compile without error.
46
47 =head1 AUTHOR
48
49 Shawn M Moore, C<sartak@bestpractical.com>
50
51 =cut
52