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.2205';
3              
4 37     37   21546 use strict;
  37         109  
  37         1201  
5 37     37   227 use warnings;
  37         90  
  37         951  
6              
7 37     37   231 use Moose::Role;
  37         117  
  37         292  
8              
9             with 'Moose::Meta::Method::Accessor::Native';
10              
11             requires '_return_value';
12              
13             sub _generate_method {
14 419     419   861 my $self = shift;
15              
16 419         785 my $inv = '$self';
17 419         2022 my $slot_access = $self->_get_value($inv);
18              
19             return (
20 419         2914 '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   906 my $self = shift;
30 450         1134 my ($inv, $slot_access, @extra) = @_;
31              
32             return (
33 450         1414 $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   1824 sub _inline_process_arguments { return }
42              
43 174     174   893 sub _inline_check_arguments { return }
44              
45 37     37   366 no Moose::Role;
  37         110  
  37         233  
46              
47             1;