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__ |