File Coverage

blib/lib/Class/Fields/Attribs.pm
Criterion Covered Total %
statement 18 18 100.0
branch n/a
condition n/a
subroutine 6 6 100.0
pod n/a
total 24 24 100.0


line stmt bran cond sub pod time code
1             package Class::Fields::Attribs;
2              
3 7     7   24430 use strict;
  7         12  
  7         310  
4              
5 7     7   38 use vars qw( @EXPORT @ISA $VERSION );
  7         11  
  7         842  
6             @EXPORT = qw(PUBLIC PRIVATE INHERITED PROTECTED);
7             require Exporter;
8             @ISA = qw(Exporter);
9             $VERSION = '0.03';
10              
11             # Inheritance constants.
12             # Its too bad I can't use 0bXXX since its 5.6 only.
13 7     7   105 use constant PUBLIC => 2**0; # Open to the public, will be inherited.
  7         16  
  7         418  
14 7     7   36 use constant PRIVATE => 2**1; # Not to be used by anyone but that class,
  7         18  
  7         416  
15             # will not be inherited
16 7     7   39 use constant INHERITED => 2**2; # This member was inherited
  7         75  
  7         357  
17 7     7   36 use constant PROTECTED => 2**3; # Not to be used by anyone but that class
  7         9  
  7         1014  
18             # and its subclasses, will be inherited.
19              
20             # For backwards compatibility.
21             # constant.pm doesn't like leading underscores. Damn.
22             sub _PUBLIC () { PUBLIC }
23             sub _PRIVATE () { PRIVATE }
24             sub _INHERITED () { INHERITED }
25             sub _PROTECTED () { PROTECTED }
26              
27             return 'FIRE!';
28              
29             __END__