X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMouse%2FMeta%2FClass.pm;h=4761e5d86ebdcf6eb08370b9193d57e78eea1b6e;hb=ab1a1cce52104e19f86fec43e8ffa9f008041ee5;hp=6d9cc4f97c5d7294787cb2d29c6e21b69f5baf85;hpb=cecfb9738ad8b93c2ca0171b61c06cac0ebd7484;p=gitmo%2FMouse.git diff --git a/lib/Mouse/Meta/Class.pm b/lib/Mouse/Meta/Class.pm index 6d9cc4f..4761e5d 100644 --- a/lib/Mouse/Meta/Class.pm +++ b/lib/Mouse/Meta/Class.pm @@ -147,7 +147,8 @@ sub add_attribute { } } -sub compute_all_applicable_attributes { +sub compute_all_applicable_attributes { shift->get_all_attributes(@_) } +sub get_all_attributes { my $self = shift; my (@attr, %seen); @@ -192,7 +193,7 @@ sub clone_instance { my $clone = bless { %$instance }, ref $instance; - foreach my $attr ($class->compute_all_applicable_attributes()) { + foreach my $attr ($class->get_all_attributes()) { if ( defined( my $init_arg = $attr->init_arg ) ) { if (exists $params{$init_arg}) { $clone->{ $attr->name } = $params{$init_arg}; @@ -208,6 +209,7 @@ sub make_immutable { my $self = shift; my %args = ( inline_constructor => 1, + inline_destructor => 1, @_, ); @@ -308,7 +310,7 @@ sub does_role { for my $class ($self->linearized_isa) { next unless $class->can('meta') and $class->meta->can('roles'); - for my $role (@{ $self->roles }) { + for my $role (@{ $class->meta->roles }) { return 1 if $role->name eq $role_name; } } @@ -423,7 +425,7 @@ Gets (or sets) the list of superclasses of the owner class. Begins keeping track of the existing L for the owner class. -=head2 compute_all_applicable_attributes -> (Mouse::Meta::Attribute) +=head2 get_all_attributes -> (Mouse::Meta::Attribute) Returns the list of all L instances associated with this class and its superclasses. @@ -437,7 +439,7 @@ L objects. This returns a list of attribute names which are defined in the local class. If you want a list of all applicable attributes for a class, -use the C method. +use the C method. =head2 has_attribute Name -> Bool @@ -458,7 +460,8 @@ metaclass. =head2 clone_instance Instance, Parameters -> Instance -Clones the given C and sets any additional parameters. +The clone_instance method has been made private. +The public version is deprecated. =cut