File Coverage

blib/lib/Moose/Meta/Method/Accessor/Native/Hash/accessor.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::Hash::accessor;
2             our $VERSION = '2.2205';
3              
4 5     5   3467 use strict;
  5         16  
  5         175  
5 5     5   32 use warnings;
  5         12  
  5         147  
6              
7 5     5   31 use Moose::Role;
  5         10  
  5         41  
8              
9             with 'Moose::Meta::Method::Accessor::Native::Hash::set',
10             'Moose::Meta::Method::Accessor::Native::Hash::get';
11              
12             sub _inline_process_arguments {
13 23     23   57 my $self = shift;
14 23         103 $self->Moose::Meta::Method::Accessor::Native::Hash::set::_inline_process_arguments(@_);
15             }
16              
17             sub _inline_check_argument_count {
18 23     23   49 my $self = shift;
19 23         200 $self->Moose::Meta::Method::Accessor::Native::Hash::set::_inline_check_argument_count(@_);
20             }
21              
22             sub _inline_check_arguments {
23 23     23   47 my $self = shift;
24 23         94 $self->Moose::Meta::Method::Accessor::Native::Hash::set::_inline_check_arguments(@_);
25             }
26              
27             sub _return_value {
28 46     46   81 my $self = shift;
29 46         196 $self->Moose::Meta::Method::Accessor::Native::Hash::set::_return_value(@_);
30             }
31              
32             sub _generate_method {
33 23     23   48 my $self = shift;
34              
35 23         54 my $inv = '$self';
36 23         109 my $slot_access = $self->_get_value($inv);
37              
38             return (
39 23         163 'sub {',
40             'my ' . $inv . ' = shift;',
41             $self->_inline_curried_arguments,
42             $self->_inline_check_lazy($inv, '$type_constraint', '$type_coercion', '$type_message'),
43             # get
44             'if (@_ == 1) {',
45             $self->_inline_check_var_is_valid_key('$_[0]'),
46             $slot_access . '->{$_[0]}',
47             '}',
48             # set
49             'else {',
50             $self->_inline_writer_core($inv, $slot_access),
51             '}',
52             '}',
53             );
54             }
55              
56 23     23   80 sub _minimum_arguments { 1 }
57 23     23   80 sub _maximum_arguments { 2 }
58              
59 5     5   43 no Moose::Role;
  5         16  
  5         29  
60              
61             1;