File Coverage

blib/lib/Tree/RB/Node/_Constants.pm
Criterion Covered Total %
statement 20 20 100.0
branch n/a
condition n/a
subroutine 7 7 100.0
pod n/a
total 27 27 100.0


line stmt bran cond sub pod time code
1             package Tree::RB::Node::_Constants;
2              
3 8     8   535 use strict;
  8         15  
  8         189  
4 8     8   35 use Carp;
  8         14  
  8         373  
5 8     8   43 use vars qw( $VERSION @EXPORT );
  8         16  
  8         725  
6              
7             $VERSION = '0.500006';
8              
9             require Exporter;
10             *import = \&Exporter::import;
11              
12             my @Node_slots;
13             my @Node_colors;
14              
15             BEGIN {
16 8     8   44 @Node_slots = qw(PARENT LEFT RIGHT COLOR KEY VAL);
17 8         342 @Node_colors = qw(RED BLACK);
18             }
19              
20             @EXPORT = (@Node_colors, map {"_$_"} @Node_slots);
21              
22 8     8   2104 use enum @Node_colors;
  8         7575  
  8         50  
23 8     8   1740 use enum @Node_slots;
  8         19  
  8         36  
24              
25             # enum doesn't allow symbols to start with "_", but we want them
26             foreach my $s (@Node_slots) {
27 8     8   3283 no strict 'refs';
  8         15  
  8         479  
28             *{"_$s"} = \&$s;
29             delete $Tree::RB::Node::_Constants::{$s};
30             }
31              
32             1; # Magic true value required at end of module
33             __END__