File Coverage

blib/lib/FLAT/Symbol.pm
Criterion Covered Total %
statement 17 20 85.0
branch 4 6 66.6
condition n/a
subroutine 5 7 71.4
pod 0 3 0.0
total 26 36 72.2


line stmt bran cond sub pod time code
1             package FLAT::Symbol;
2              
3 6     6   2220 use strict;
  6         15  
  6         153  
4 6     6   25 use Carp;
  6         10  
  6         1463  
5              
6             sub new {
7 0     0 0 0 my ( $pkg, $label ) = @_;
8 0         0 bless {
9             LABEL => $label, #serialized representation
10             OBJECT => $label, #as object
11             COUNT => 1,
12             }, $pkg;
13             }
14              
15             sub _increment_count {
16 19535     19535   22813 my $self = shift;
17 19535 100       27140 my $add = $_[0] ? shift : 1;
18 19535         24290 $self->{COUNT} += $add;
19 19535         48496 return $self->{COUNT};
20             }
21              
22             sub _decrement_count {
23 10773     10773   12571 my $self = shift;
24 10773 50       14837 my $sub = $_[0] ? shift : 1;
25 10773         13171 $self->{COUNT} -= $sub;
26 10773 50       16535 croak "Count less than 0!\n" if ( 0 > $self->{COUNT} );
27 10773         23310 return $self->{COUNT};
28             }
29              
30             sub get_count {
31 148     148 0 210 my $self = shift;
32 148         344 return $self->{COUNT};
33             }
34              
35             sub as_string {
36 0     0 0   return $_[0]->{LABEL};
37             }
38              
39             1;