X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=gitmo%2FMouse.git;a=blobdiff_plain;f=lib%2FMouse%2FPurePerl.pm;h=31e4a12b947664f6e7bfa87b7df3981e81490252;hp=ad2d35b597bf4a66c9148aedd65f087153513ff3;hb=cb60d0b55962e6ff8cdc07e51e59f7dd5feafd43;hpb=8801a6e6a8356e193b0ec0b67f92d741801d4fb8 diff --git a/lib/Mouse/PurePerl.pm b/lib/Mouse/PurePerl.pm index ad2d35b..31e4a12 100644 --- a/lib/Mouse/PurePerl.pm +++ b/lib/Mouse/PurePerl.pm @@ -344,6 +344,38 @@ sub is_anon_role{ sub get_roles { $_[0]->{roles} } +sub add_before_method_modifier { + my ($self, $method_name, $method) = @_; + + push @{ $self->{before_method_modifiers}{$method_name} ||= [] }, $method; + return; +} +sub add_around_method_modifier { + my ($self, $method_name, $method) = @_; + + push @{ $self->{around_method_modifiers}{$method_name} ||= [] }, $method; + return; +} +sub add_after_method_modifier { + my ($self, $method_name, $method) = @_; + + push @{ $self->{after_method_modifiers}{$method_name} ||= [] }, $method; + return; +} + +sub get_before_method_modifiers { + my ($self, $method_name) = @_; + return @{ $self->{before_method_modifiers}{$method_name} ||= [] } +} +sub get_around_method_modifiers { + my ($self, $method_name) = @_; + return @{ $self->{around_method_modifiers}{$method_name} ||= [] } +} +sub get_after_method_modifiers { + my ($self, $method_name) = @_; + return @{ $self->{after_method_modifiers}{$method_name} ||= [] } +} + package Mouse::Meta::Attribute; require Mouse::Meta::Method::Accessor;