Refactored native trait accessors so they are done entirely in roles.
[gitmo/Moose.git] / lib / Moose / Meta / Method / Accessor / Native / Array / unshift.pm
CommitLineData
a7821be5 1package Moose::Meta::Method::Accessor::Native::Array::unshift;
2
3use strict;
4use warnings;
5
10bd99ec 6our $VERSION = '1.14';
a7821be5 7$VERSION = eval $VERSION;
8our $AUTHORITY = 'cpan:STEVAN';
9
8b9641b8 10use Moose::Role;
11
12with 'Moose::Meta::Method::Accessor::Native::Array::Writer' =>
13 { -excludes => ['_inline_optimized_set_new_value'] };
a7821be5 14
15sub _adds_members { 1 }
16
17sub _potential_value {
18 my ( $self, $slot_access ) = @_;
19
e32b7489 20 return "[ \@_, \@{ $slot_access } ]";
21}
22
23sub _inline_optimized_set_new_value {
24 my ( $self, $inv, $new, $slot_access ) = @_;
25
584540d9 26 return "unshift \@{ $slot_access }, \@_";
a7821be5 27}
28
8b9641b8 29no Moose::Role;
30
a7821be5 311;