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.2205';
3              
4 5     5   3917 use strict;
  5         15  
  5         186  
5 5     5   42 use warnings;
  5         11  
  5         195  
6              
7 5     5   36 use Moose::Role;
  5         12  
  5         43  
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   98 my $self = shift;
14 30         156 $self->Moose::Meta::Method::Accessor::Native::Array::get::_inline_process_arguments(@_);
15             }
16              
17             sub _inline_check_arguments {
18 30     30   67 my $self = shift;
19 30         132 $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         316 $self->Moose::Meta::Method::Accessor::Native::Array::get::_return_value(@_);
25             }
26              
27             sub _generate_method {
28 30     30   59 my $self = shift;
29              
30 30         68 my $inv = '$self';
31 30         120 my $slot_access = $self->_get_value($inv);
32              
33             return (
34 30         227 '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   114 sub _minimum_arguments { 1 }
52 30     30   108 sub _maximum_arguments { 2 }
53              
54 5     5   46 no Moose::Role;
  5         24  
  5         32  
55              
56             1;