1 package Moose::Meta::Method::Accessor::Native::Array::shift;
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 }[ 1 .. \$#{ $slot_access } ] : () ]";
22 sub _inline_capture_return_value {
23 my ( $self, $slot_access ) = @_;
25 return "my \$old = ${slot_access}->[0];";
28 sub _inline_optimized_set_new_value {
29 my ( $self, $inv, $new, $slot_access ) = @_;
31 return "shift \@{ $slot_access };";
35 my ( $self, $slot_access ) = @_;