File Coverage

blib/lib/Moose/Meta/Method/Accessor/Native/Array/delete.pm
Criterion Covered Total %
statement 26 26 100.0
branch n/a
condition n/a
subroutine 11 11 100.0
pod n/a
total 37 37 100.0


line stmt bran cond sub pod time code
1             package Moose::Meta::Method::Accessor::Native::Array::delete;
2             our $VERSION = '2.2203';
3              
4 3     3   1959 use strict;
  3         9  
  3         100  
5 3     3   18 use warnings;
  3         7  
  3         82  
6              
7 3     3   17 use Moose::Role;
  3         7  
  3         29  
8              
9             with 'Moose::Meta::Method::Accessor::Native::Array::Writer';
10              
11 18     18   57 sub _minimum_arguments { 1 }
12              
13 18     18   65 sub _maximum_arguments { 1 }
14              
15             sub _inline_check_arguments {
16 18     18   37 my $self = shift;
17              
18 18         65 return $self->_inline_check_var_is_valid_index('$_[0]');
19             }
20              
21 9     9   50 sub _adds_members { 0 }
22              
23             sub _potential_value {
24 18     18   41 my $self = shift;
25 18         45 my ($slot_access) = @_;
26              
27 18         70 return '(do { '
28             . 'my @potential = @{ (' . $slot_access . ') }; '
29             . '@return = splice @potential, $_[0], 1; '
30             . '\@potential; '
31             . '})';
32             }
33              
34             sub _inline_optimized_set_new_value {
35 12     12   31 my $self = shift;
36 12         38 my ($inv, $new, $slot_access) = @_;
37              
38 12         69 return '@return = splice @{ (' . $slot_access . ') }, $_[0], 1;';
39             }
40              
41             sub _return_value {
42 36     36   69 my $self = shift;
43 36         70 my ($slot_access) = @_;
44              
45 36         127 return '$return[0]';
46             }
47              
48 3     3   23 no Moose::Role;
  3         8  
  3         25  
49              
50             1;