File Coverage

blib/lib/Perl/Tidy/VerticalAligner/Alignment.pm
Criterion Covered Total %
statement 20 27 74.0
branch 0 2 0.0
condition n/a
subroutine 7 9 77.7
pod 0 5 0.0
total 27 43 62.7


line stmt bran cond sub pod time code
1             package Perl::Tidy::VerticalAligner::Alignment;
2              
3             #####################################################################
4             #
5             # the Perl::Tidy::VerticalAligner::Alignment class holds information
6             # on a single column being aligned
7             #
8             #####################################################################
9              
10 44     44   234 use strict;
  44         77  
  44         1211  
11 44     44   149 use warnings;
  44         96  
  44         17796  
12              
13             our $VERSION = '20260705';
14              
15             sub new {
16              
17 8399     8399 0 11159 my ( $class, $rhash ) = @_;
18              
19             # Create a new VerticalAligner::Alignment object
20             # Given:
21             # $rhash = ref to hash for an alignment column
22             # There are just two values in the hash:
23             # {column} is the alignment column
24             # {saved_column} is used to save a column
25              
26 8399         10271 my $self = bless $rhash, $class;
27 8399         11973 return $self;
28             } ## end sub new
29              
30             sub AUTOLOAD {
31              
32             # Catch any undefined sub calls so that we are sure to get
33             # some diagnostic information. This sub should never be called
34             # except for a programming error.
35 0     0   0 our $AUTOLOAD;
36 0 0       0 return if ( $AUTOLOAD =~ /\bDESTROY$/ );
37 0         0 my ( $pkg, $fname, $lno ) = caller();
38 0         0 my $my_package = __PACKAGE__;
39 0         0 print {*STDERR} <<EOM;
  0         0  
40             ======================================================================
41             Error detected in package '$my_package', version $VERSION
42             Received unexpected AUTOLOAD call for sub '$AUTOLOAD'
43             Called from package: '$pkg'
44             Called from File '$fname' at line '$lno'
45             This error is probably due to a recent programming change
46             ======================================================================
47             EOM
48 0         0 exit 1;
49             } ## end sub AUTOLOAD
50              
51       0     sub DESTROY {
52              
53             # required to avoid call to AUTOLOAD in some versions of perl
54             }
55              
56             sub get_column {
57 9972     9972 0 10374 my $self = shift;
58 9972         14929 return $self->{'column'};
59             }
60              
61             sub increment_column {
62 7228     7228 0 8602 my ( $self, $pad ) = @_;
63 7228         7901 $self->{'column'} += $pad;
64 7228         9908 return;
65             }
66              
67             sub save_column {
68 4062     4062 0 4174 my $self = shift;
69 4062         5361 $self->{'saved_column'} = $self->{'column'};
70 4062         5429 return;
71             }
72              
73             sub restore_column {
74 43     43 0 51 my $self = shift;
75 43         63 $self->{'column'} = $self->{'saved_column'};
76 43         61 return;
77             }
78             1;