1 package Moose::Meta::Method::Accessor::Native::Array::pop;
7 $VERSION = eval $VERSION;
8 our $AUTHORITY = 'cpan:STEVAN';
10 use base 'Moose::Meta::Method::Accessor::Native::Array::Writer';
12 sub _maximum_arguments { 0 }
14 sub _adds_members { 0 }
16 sub _potential_value {
17 my ( $self, $slot_access ) = @_;
19 return "[ \@{ $slot_access } > 1 ? \@{ $slot_access }[ 0 .. \$#{ $slot_access } - 1 ] : () ]";
22 sub _inline_capture_return_value {
23 my ( $self, $slot_access ) = @_;
25 return "my \$old = ${slot_access}->[-1];";
28 sub _inline_optimized_set_new_value {
29 my ( $self, $inv, $new, $slot_access ) = @_;
31 return "pop \@{ $slot_access }";
35 my ( $self, $slot_access ) = @_;
37 return 'return $old;';