X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FClass%2FMOP%2FMethod%2FWrapped.pm;h=ba1451bc8d15fc2d1177f20a9ebc0940833756c1;hb=c23184fc39306590f9e481d76c199020a638bb28;hp=0aa4a3b07520ed2f606838d6b8a841c63ec7ba4b;hpb=9363ea893ea47db99690a480cb163be298e3f1d2;p=gitmo%2FClass-MOP.git diff --git a/lib/Class/MOP/Method/Wrapped.pm b/lib/Class/MOP/Method/Wrapped.pm index 0aa4a3b..ba1451b 100644 --- a/lib/Class/MOP/Method/Wrapped.pm +++ b/lib/Class/MOP/Method/Wrapped.pm @@ -85,27 +85,27 @@ sub wrap { }; $_build_wrapped_method->($modifier_table); my $method = $class->SUPER::wrap(sub { $modifier_table->{cache}->(@_) }); - $method->{modifier_table} = $modifier_table; + $method->{'%!modifier_table'} = $modifier_table; $method; } sub get_original_method { my $code = shift; - $code->{modifier_table}->{orig}; + $code->{'%!modifier_table'}->{orig}; } sub add_before_modifier { my $code = shift; my $modifier = shift; - unshift @{$code->{modifier_table}->{before}} => $modifier; - $_build_wrapped_method->($code->{modifier_table}); + unshift @{$code->{'%!modifier_table'}->{before}} => $modifier; + $_build_wrapped_method->($code->{'%!modifier_table'}); } sub add_after_modifier { my $code = shift; my $modifier = shift; - push @{$code->{modifier_table}->{after}} => $modifier; - $_build_wrapped_method->($code->{modifier_table}); + push @{$code->{'%!modifier_table'}->{after}} => $modifier; + $_build_wrapped_method->($code->{'%!modifier_table'}); } { @@ -126,12 +126,12 @@ sub add_after_modifier { sub add_around_modifier { my $code = shift; my $modifier = shift; - unshift @{$code->{modifier_table}->{around}->{methods}} => $modifier; - $code->{modifier_table}->{around}->{cache} = $compile_around_method->( - @{$code->{modifier_table}->{around}->{methods}}, - $code->{modifier_table}->{orig}->body + unshift @{$code->{'%!modifier_table'}->{around}->{methods}} => $modifier; + $code->{'%!modifier_table'}->{around}->{cache} = $compile_around_method->( + @{$code->{'%!modifier_table'}->{around}->{methods}}, + $code->{'%!modifier_table'}->{orig}->body ); - $_build_wrapped_method->($code->{modifier_table}); + $_build_wrapped_method->($code->{'%!modifier_table'}); } }