complicated expressions can't be dereferenced directly
[gitmo/Moose.git] / lib / Moose / Meta / Method / Accessor / Native / Array / push.pm
CommitLineData
f7fd22b6 1package Moose::Meta::Method::Accessor::Native::Array::push;
2
3use strict;
4use warnings;
5
f4b86ac0 6our $VERSION = '1.16';
f7fd22b6 7$VERSION = eval $VERSION;
8our $AUTHORITY = 'cpan:STEVAN';
9
8b9641b8 10use Moose::Role;
11
7f5ec80d 12with 'Moose::Meta::Method::Accessor::Native::Array::Writer' => {
13 -excludes => [
14 qw(
15 _inline_optimized_set_new_value
16 _return_value
17 )
18 ]
19};
f7fd22b6 20
a7821be5 21sub _adds_members { 1 }
f7fd22b6 22
a7821be5 23sub _potential_value {
24 my ( $self, $slot_access ) = @_;
f7fd22b6 25
1d06edbf 26 return "[ \@{ ($slot_access) }, \@_ ]";
e32b7489 27}
28
29sub _inline_optimized_set_new_value {
30 my ( $self, $inv, $new, $slot_access ) = @_;
31
1d06edbf 32 return "push \@{ ($slot_access) }, \@_";
f7fd22b6 33}
34
7f5ec80d 35sub _return_value {
36 my ( $self, $slot_access ) = @_;
37
1d06edbf 38 return "return scalar \@{ ($slot_access) }";
7f5ec80d 39}
40
8b9641b8 41no Moose::Role;
42
f7fd22b6 431;