X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FSchema%2FSanityChecker.pm;h=ccfc0f3be473df10e7214d7980c2aa5737b8267f;hb=d8cf3aa31fb3d6ff7813f021fcc002663725fc41;hp=481d0f7758407fec733d49b6e1e00b2ae703640e;hpb=58c8eea05831756529c053be936eeba5483831de;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/Schema/SanityChecker.pm b/lib/DBIx/Class/Schema/SanityChecker.pm index 481d0f7..ccfc0f3 100644 --- a/lib/DBIx/Class/Schema/SanityChecker.pm +++ b/lib/DBIx/Class/Schema/SanityChecker.pm @@ -8,7 +8,6 @@ use DBIx::Class::_Util qw( describe_class_methods emit_loud_diag ); use DBIx::Class (); -use DBIx::Class::Exception (); use Scalar::Util qw( blessed refaddr ); use namespace::clean; @@ -341,8 +340,8 @@ sub format_no_indirect_method_overrides_errors { . "chain of calls within the convenience shortcut as seen when running:\n " . '~$ perl -M%2$s -MDevel::Dwarn -e "Ddie { %3$s => %2$s->can(q(%3$s)) }"', join (', ', map { "$_()" } sort @{ $_->{by} } ), - $_->{overriden}{via_class}, - $_->{overriden}{name}, + $_->{overridden}{via_class}, + $_->{overridden}{name}, )} @{ $_[1] } ] } @@ -361,10 +360,14 @@ sub check_no_indirect_method_overrides { for (@$method_stack) { push @$nonsugar_methods, $_ and next - unless $_->{attributes}{DBIC_method_is_indirect_sugar}; + unless( + $_->{attributes}{DBIC_method_is_indirect_sugar} + or + $_->{attributes}{DBIC_method_is_generated_from_resultsource_metadata} + ); push @err, { - overriden => { + overridden => { name => $_->{name}, via_class => ( # this way we report a much better Dwarn oneliner in the error @@ -506,7 +509,8 @@ sub check_valid_c3_composition { push @err, { class => $class, - isa => $desc->{isa}, + initial_linear_isa => $desc->{linear_isa}, + current_linear_isa => do { (undef, my @isa) = @{ mro::get_linear_isa($class) }; \@isa }, initial_mro => $desc->{mro}{type}, current_mro => mro::get_mro($class), affected_methods => $affected_methods,