X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMoose%2FMeta%2FMethod%2FAccessor%2FNative%2FArray%2Fpush.pm;h=62f14b40c7a366c4c95ceab5037548d7ec6be70b;hb=00bbc132f9e1cb2b1a44aa287887cafa27a84577;hp=2666f03f52a44f0048fc73e3f4c689055f831645;hpb=10bd99ecf3f1706d4452fa57e3f08a63b9f92a11;p=gitmo%2FMoose.git diff --git a/lib/Moose/Meta/Method/Accessor/Native/Array/push.pm b/lib/Moose/Meta/Method/Accessor/Native/Array/push.pm index 2666f03..62f14b4 100644 --- a/lib/Moose/Meta/Method/Accessor/Native/Array/push.pm +++ b/lib/Moose/Meta/Method/Accessor/Native/Array/push.pm @@ -3,24 +3,33 @@ package Moose::Meta::Method::Accessor::Native::Array::push; use strict; use warnings; -our $VERSION = '1.14'; -$VERSION = eval $VERSION; -our $AUTHORITY = 'cpan:STEVAN'; +use Moose::Role; -use base 'Moose::Meta::Method::Accessor::Native::Array::Writer'; +with 'Moose::Meta::Method::Accessor::Native::Array::Writer'; sub _adds_members { 1 } sub _potential_value { - my ( $self, $slot_access ) = @_; + my $self = shift; + my ($slot_access) = @_; - return "[ \@{ $slot_access }, \@_ ]"; + return '[ @{ (' . $slot_access . ') }, @_ ]'; } sub _inline_optimized_set_new_value { - my ( $self, $inv, $new, $slot_access ) = @_; + my $self = shift; + my ($inv, $new, $slot_access) = @_; - return "push \@{ $slot_access }, \@_;"; + return 'push @{ (' . $slot_access . ') }, @_;'; } +sub _return_value { + my $self = shift; + my ($slot_access) = @_; + + return 'scalar @{ (' . $slot_access . ') }'; +} + +no Moose::Role; + 1;