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.2206';
3              
4 3     3   1957 use strict;
  3         11  
  3         98  
5 3     3   30 use warnings;
  3         9  
  3         81  
6              
7 3     3   16 use Moose::Role;
  3         7  
  3         20  
8              
9             with 'Moose::Meta::Method::Accessor::Native::Array::Writer';
10              
11 18     18   74 sub _minimum_arguments { 1 }
12              
13 18     18   73 sub _maximum_arguments { 1 }
14              
15             sub _inline_check_arguments {
16 18     18   44 my $self = shift;
17              
18 18         78 return $self->_inline_check_var_is_valid_index('$_[0]');
19             }
20              
21 9     9   73 sub _adds_members { 0 }
22              
23             sub _potential_value {
24 18     18   48 my $self = shift;
25 18         56 my ($slot_access) = @_;
26              
27 18         79 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   36 my $self = shift;
36 12         44 my ($inv, $new, $slot_access) = @_;
37              
38 12         68 return '@return = splice @{ (' . $slot_access . ') }, $_[0], 1;';
39             }
40              
41             sub _return_value {
42 36     36   74 my $self = shift;
43 36         87 my ($slot_access) = @_;
44              
45 36         129 return '$return[0]';
46             }
47              
48 3     3   26 no Moose::Role;
  3         14  
  3         19  
49              
50             1;