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.2205';
3              
4 3     3   1860 use strict;
  3         10  
  3         96  
5 3     3   18 use warnings;
  3         9  
  3         94  
6              
7 3     3   18 use Moose::Role;
  3         7  
  3         21  
8              
9             with 'Moose::Meta::Method::Accessor::Native::Array::Writer';
10              
11 18     18   67 sub _minimum_arguments { 1 }
12              
13 18     18   71 sub _maximum_arguments { 1 }
14              
15             sub _inline_check_arguments {
16 18     18   51 my $self = shift;
17              
18 18         76 return $self->_inline_check_var_is_valid_index('$_[0]');
19             }
20              
21 9     9   64 sub _adds_members { 0 }
22              
23             sub _potential_value {
24 18     18   39 my $self = shift;
25 18         48 my ($slot_access) = @_;
26              
27 18         85 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   30 my $self = shift;
36 12         38 my ($inv, $new, $slot_access) = @_;
37              
38 12         63 return '@return = splice @{ (' . $slot_access . ') }, $_[0], 1;';
39             }
40              
41             sub _return_value {
42 36     36   89 my $self = shift;
43 36         88 my ($slot_access) = @_;
44              
45 36         130 return '$return[0]';
46             }
47              
48 3     3   26 no Moose::Role;
  3         9  
  3         16  
49              
50             1;