File Coverage

blib/lib/Moose/Meta/Method/Accessor/Native/Array/accessor.pm
Criterion Covered Total %
statement 24 24 100.0
branch n/a
condition n/a
subroutine 10 10 100.0
pod n/a
total 34 34 100.0


line stmt bran cond sub pod time code
1             package Moose::Meta::Method::Accessor::Native::Array::accessor;
2             our $VERSION = '2.2203';
3              
4 5     5   3356 use strict;
  5         15  
  5         170  
5 5     5   30 use warnings;
  5         9  
  5         151  
6              
7 5     5   27 use Moose::Role;
  5         17  
  5         46  
8              
9             with 'Moose::Meta::Method::Accessor::Native::Array::set',
10             'Moose::Meta::Method::Accessor::Native::Array::get';
11              
12             sub _inline_process_arguments {
13 30     30   62 my $self = shift;
14 30         123 $self->Moose::Meta::Method::Accessor::Native::Array::get::_inline_process_arguments(@_);
15             }
16              
17             sub _inline_check_arguments {
18 30     30   54 my $self = shift;
19 30         107 $self->Moose::Meta::Method::Accessor::Native::Array::get::_inline_check_arguments(@_);
20             }
21              
22             sub _return_value {
23 90     90   168 my $self = shift;
24 90         266 $self->Moose::Meta::Method::Accessor::Native::Array::get::_return_value(@_);
25             }
26              
27             sub _generate_method {
28 30     30   54 my $self = shift;
29              
30 30         58 my $inv = '$self';
31 30         121 my $slot_access = $self->_get_value($inv);
32              
33             return (
34 30         230 'sub {',
35             'my ' . $inv . ' = shift;',
36             $self->_inline_curried_arguments,
37             $self->_inline_check_lazy($inv, '$type_constraint', '$type_coercion', '$type_message'),
38             # get
39             'if (@_ == 1) {',
40             $self->_inline_check_var_is_valid_index('$_[0]'),
41             $self->Moose::Meta::Method::Accessor::Native::Array::get::_inline_return_value($slot_access),
42             '}',
43             # set
44             'else {',
45             $self->_inline_writer_core($inv, $slot_access),
46             '}',
47             '}',
48             );
49             }
50              
51 30     30   100 sub _minimum_arguments { 1 }
52 30     30   92 sub _maximum_arguments { 2 }
53              
54 5     5   41 no Moose::Role;
  5         10  
  5         39  
55              
56             1;