File Coverage

blib/lib/Class/XSAccessor/Compat.pm
Criterion Covered Total %
statement 39 39 100.0
branch n/a
condition n/a
subroutine 11 11 100.0
pod 3 3 100.0
total 53 53 100.0


line stmt bran cond sub pod time code
1             package Class::XSAccessor::Compat;
2 4     4   35501 use 5.008;
  4         17  
  4         167  
3 4     4   26 use strict;
  4         6  
  4         140  
4 4     4   32 use warnings;
  4         9  
  4         221  
5             our $VERSION = '0.01';
6 4     4   5005 use Class::XSAccessor;
  4         14931  
  4         36  
7 4     4   1041 use Class::Accessor::Fast;
  4         9  
  4         56  
8             our @ISA = qw(Class::Accessor::Fast);
9              
10             # The following is almost 100% the same as Ruslan Zakirov's code:
11             sub make_ro_accessor {
12 8     8 1 2692 my($class, $field) = @_;
13              
14 8         20 my $sub = $class ."::__cxs_ro_". $field;
15             # Do not copy this code. It's the only place where this internal function should be used:
16 8         808 Class::XSAccessor::newxs_getter($sub, $field);
17              
18 4     4   399 no strict 'refs';
  4         8  
  4         402  
19 8         11 return \&{$sub};
  8         43  
20             }
21              
22             sub make_wo_accessor {
23 8     8 1 319 my($class, $field) = @_;
24              
25 8         20 my $sub = $class ."::__cxs_wo_". $field;
26             # Do not copy this code. It's the only place where this internal function should be used:
27 8         62 Class::XSAccessor::_newxs_compat_setter($sub, $field);
28              
29 4     4   22 no strict 'refs';
  4         9  
  4         386  
30 8         12 return \&{$sub};
  8         35  
31             }
32              
33             sub make_accessor {
34 11     11 1 13776 my($class, $field) = @_;
35              
36 11         24 my $sub = $class ."::__cxs_ac_". $field;
37             # Do not copy this code. It's the only place where this internal function should be used:
38 11         102 Class::XSAccessor::_newxs_compat_accessor($sub, $field);
39              
40 4     4   22 no strict 'refs';
  4         10  
  4         976  
41 11         16 return \&{$sub};
  11         47  
42             }
43              
44              
45              
46              
47             1;
48              
49             __END__