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.2206';
3              
4 37     37   21437 use strict;
  37         105  
  37         1211  
5 37     37   231 use warnings;
  37         122  
  37         926  
6              
7 37     37   220 use Moose::Role;
  37         101  
  37         251  
8              
9             with 'Moose::Meta::Method::Accessor::Native';
10              
11             requires '_return_value';
12              
13             sub _generate_method {
14 419     419   920 my $self = shift;
15              
16 419         867 my $inv = '$self';
17 419         2172 my $slot_access = $self->_get_value($inv);
18              
19             return (
20 419         2618 '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   923 my $self = shift;
30 450         1125 my ($inv, $slot_access, @extra) = @_;
31              
32             return (
33 450         1448 $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   1832 sub _inline_process_arguments { return }
42              
43 174     174   824 sub _inline_check_arguments { return }
44              
45 37     37   348 no Moose::Role;
  37         138  
  37         216  
46              
47             1;