File Coverage

blib/lib/Moose/Meta/Method/Accessor/Native/Reader.pm
Criterion Covered Total %
statement 21 21 100.0
branch n/a
condition n/a
subroutine 8 8 100.0
pod n/a
total 29 29 100.0


line stmt bran cond sub pod time code
1             package Moose::Meta::Method::Accessor::Native::Reader;
2             our $VERSION = '2.2203';
3              
4 37     37   18456 use strict;
  37         120  
  37         1051  
5 37     37   201 use warnings;
  37         84  
  37         874  
6              
7 37     37   178 use Moose::Role;
  37         71  
  37         213  
8              
9             with 'Moose::Meta::Method::Accessor::Native';
10              
11             requires '_return_value';
12              
13             sub _generate_method {
14 419     419   750 my $self = shift;
15              
16 419         708 my $inv = '$self';
17 419         1698 my $slot_access = $self->_get_value($inv);
18              
19             return (
20 419         2136 'sub {',
21             'my ' . $inv . ' = shift;',
22             $self->_inline_curried_arguments,
23             $self->_inline_reader_core($inv, $slot_access, @_),
24             '}',
25             );
26             }
27              
28             sub _inline_reader_core {
29 450     450   772 my $self = shift;
30 450         946 my ($inv, $slot_access, @extra) = @_;
31              
32             return (
33 450         1224 $self->_inline_check_argument_count,
34             $self->_inline_process_arguments($inv, $slot_access),
35             $self->_inline_check_arguments,
36             $self->_inline_check_lazy($inv, '$type_constraint', '$type_coercion', '$type_message'),
37             $self->_inline_return_value($slot_access),
38             );
39             }
40              
41 449     449   1523 sub _inline_process_arguments { return }
42              
43 174     174   771 sub _inline_check_arguments { return }
44              
45 37     37   305 no Moose::Role;
  37         89  
  37         186  
46              
47             1;