X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=gitmo%2FMouse.git;a=blobdiff_plain;f=lib%2FMouse%2FMeta%2FClass.pm;h=eb0aadc60f3fe63257a642c7f54f098422dd0a7c;hp=5aab15e209f600e170148e0f232aaf3a815356be;hb=da4432f337513a1c3c791a4e6753a4b743cf3f62;hpb=2b68f76d78d96325821e9a6360c3639f8c5637df diff --git a/lib/Mouse/Meta/Class.pm b/lib/Mouse/Meta/Class.pm index 5aab15e..eb0aadc 100644 --- a/lib/Mouse/Meta/Class.pm +++ b/lib/Mouse/Meta/Class.pm @@ -17,9 +17,9 @@ sub destructor_class() { 'Mouse::Meta::Method::Destructor' } sub _construct_meta { my($class, %args) = @_; - $args{attributes} ||= {}; - $args{methods} ||= {}; - $args{roles} ||= []; + $args{attributes} = {}; + $args{methods} = {}; + $args{roles} = []; $args{superclasses} = do { no strict 'refs'; @@ -56,7 +56,7 @@ sub superclasses { foreach my $super(@_){ Mouse::Util::load_class($super); my $meta = Mouse::Util::get_metaclass_by_name($super); - if(Mouse::Util::TypeConstraints::_is_a_metarole($meta)){ + if(Mouse::Util::is_a_metarole($meta)){ $self->throw_error("You cannot inherit from a Mouse Role ($super)"); } } @@ -154,23 +154,6 @@ sub compute_all_applicable_attributes { return shift->get_all_attributes(@_) } -sub get_all_attributes { - my $self = shift; - my (@attr, %seen); - - for my $class ($self->linearized_isa) { - my $meta = Mouse::Util::get_metaclass_by_name($class) - or next; - - for my $name ($meta->get_attribute_list) { - next if $seen{$name}++; - push @attr, $meta->get_attribute($name); - } - } - - return @attr; -} - sub linearized_isa; sub new_object { @@ -479,7 +462,7 @@ Mouse::Meta::Class - The Mouse class metaclass =head1 VERSION -This document describes Mouse version 0.40_03 +This document describes Mouse version 0.40_05 =head1 METHODS