]> git.donarmstrong.com Git - perltidy.git/blob - lib/Perl/Tidy/VerticalAligner/Alignment.pm
New upstream version 20230309
[perltidy.git] / lib / Perl / Tidy / VerticalAligner / Alignment.pm
1 #####################################################################
2 #
3 # the Perl::Tidy::VerticalAligner::Alignment class holds information
4 # on a single column being aligned
5 #
6 #####################################################################
7 package Perl::Tidy::VerticalAligner::Alignment;
8 use strict;
9 use warnings;
10
11 { #<<< A non-indenting brace
12
13 our $VERSION = '20230309';
14
15 sub new {
16     my ( $class, $rarg ) = @_;
17     my $self = bless $rarg, $class;
18     return $self;
19 }
20
21 sub AUTOLOAD {
22
23     # Catch any undefined sub calls so that we are sure to get
24     # some diagnostic information.  This sub should never be called
25     # except for a programming error.
26     our $AUTOLOAD;
27     return if ( $AUTOLOAD =~ /\bDESTROY$/ );
28     my ( $pkg, $fname, $lno ) = caller();
29     my $my_package = __PACKAGE__;
30     print STDERR <<EOM;
31 ======================================================================
32 Error detected in package '$my_package', version $VERSION
33 Received unexpected AUTOLOAD call for sub '$AUTOLOAD'
34 Called from package: '$pkg'  
35 Called from File '$fname'  at line '$lno'
36 This error is probably due to a recent programming change
37 ======================================================================
38 EOM
39     exit 1;
40 }
41
42 sub DESTROY {
43
44     # required to avoid call to AUTOLOAD in some versions of perl
45 }
46
47 sub get_column {
48     return $_[0]->{'column'};
49 }
50
51 sub increment_column {
52     $_[0]->{'column'} += $_[1];
53
54     return;
55 }
56
57 sub save_column {
58     $_[0]->{'saved_column'} = $_[0]->{'column'};
59     return;
60 }
61
62 sub restore_column {
63     $_[0]->{'column'} = $_[0]->{'saved_column'};
64     return;
65 }
66 } ## end of package VerticalAligner::Alignment
67 1;