X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMouse%2FMeta%2FClass.pm;h=db68b7acd7ea2fc010fb4327f2a36519dcec3d88;hb=59afef985b4a8c91e505715d75457b35656e4013;hp=27a48db3433a9a7d15e6845f751f9fb16f674c26;hpb=9293fc9987237cca0e0072c9f9d670ea0ba3e47b;p=gitmo%2FMouse.git diff --git a/lib/Mouse/Meta/Class.pm b/lib/Mouse/Meta/Class.pm index 27a48db..db68b7a 100644 --- a/lib/Mouse/Meta/Class.pm +++ b/lib/Mouse/Meta/Class.pm @@ -241,7 +241,7 @@ sub add_attribute { # then register the attribute to the metaclass $attr->{insertion_order} = keys %{ $self->{attributes} }; $self->{attributes}{$name} = $attr; - delete $self->{_mouse_cache}; # clears internal cache + $self->_invalidate_metaclass_cache(); if(!$attr->{associated_methods} && ($attr->{is} || '') ne 'bare'){ Carp::carp(qq{Attribute ($name) of class }.$self->name @@ -413,8 +413,7 @@ sub add_override_method_modifier { local $Mouse::SUPER_PACKAGE = $package; local $Mouse::SUPER_BODY = $super_body; local @Mouse::SUPER_ARGS = @_; - - $code->(@_); + &{$code}; }); return; } @@ -431,10 +430,10 @@ sub add_augment_method_modifier { my $super_package = $super->package_name; my $super_body = $super->body; - $self->add_method($name => sub{ + $self->add_method($name => sub { local $Mouse::INNER_BODY{$super_package} = $code; local $Mouse::INNER_ARGS{$super_package} = [@_]; - $super_body->(@_); + &{$super_body}; }); return; } @@ -469,7 +468,7 @@ Mouse::Meta::Class - The Mouse class metaclass =head1 VERSION -This document describes Mouse version 0.76 +This document describes Mouse version 0.84 =head1 DESCRIPTION