D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
opt
/
cpanel
/
perl5
/
530
/
site_lib
/
Perl
/
Tidy
/
VerticalAligner
/
Filename :
Alignment.pm
back
Copy
##################################################################### # # the Perl::Tidy::VerticalAligner::Alignment class holds information # on a single column being aligned # ##################################################################### package Perl::Tidy::VerticalAligner::Alignment; use strict; use warnings; our $VERSION = '20200110'; { #use Carp; # _column # the current column number # _starting_column # column number when created # _matching_token # what token we are matching # _starting_line # the line index of creation # _ending_line # the most recent line to use it # _saved_column # _serial_number # unique number for this alignment my %default_data = ( column => undef, starting_column => undef, matching_token => undef, starting_line => undef, ending_line => undef, saved_column => undef, serial_number => undef, ); # class population count { my $_count = 0; sub get_count { return $_count } sub _increment_count { return ++$_count } sub _decrement_count { return --$_count } } # constructor sub new { my ( $caller, %arg ) = @_; my $caller_is_obj = ref($caller); my $class = $caller_is_obj || $caller; ##no strict "refs"; my $self = bless {}, $class; foreach my $key ( keys %default_data ) { my $_key = '_' . $key; if ( exists $arg{$key} ) { $self->{$_key} = $arg{$key} } elsif ($caller_is_obj) { $self->{$_key} = $caller->{$_key} } else { $self->{$_key} = $default_data{$_key} } } $self->_increment_count(); return $self; } sub DESTROY { my $self = shift; $self->_decrement_count(); return; } sub get_column { my $self = shift; return $self->{_column} } sub get_starting_column { my $self = shift; return $self->{_starting_column}; } sub get_matching_token { my $self = shift; return $self->{_matching_token} } sub get_starting_line { my $self = shift; return $self->{_starting_line} } sub get_ending_line { my $self = shift; return $self->{_ending_line} } sub get_serial_number { my $self = shift; return $self->{_serial_number} } sub set_column { my ( $self, $val ) = @_; $self->{_column} = $val; return } sub set_starting_column { my ( $self, $val ) = @_; $self->{_starting_column} = $val; return; } sub set_matching_token { my ( $self, $val ) = @_; $self->{_matching_token} = $val; return; } sub set_starting_line { my ( $self, $val ) = @_; $self->{_starting_line} = $val; return; } sub set_ending_line { my ( $self, $val ) = @_; $self->{_ending_line} = $val; return; } sub increment_column { my ( $self, $val ) = @_; $self->{_column} += $val; return; } sub save_column { my $self = shift; $self->{_saved_column} = $self->{_column}; return; } sub restore_column { my $self = shift; $self->{_column} = $self->{_saved_column}; return; } } 1;