]> git.donarmstrong.com Git - perltidy.git/blobdiff - lib/Perl/Tidy/VerticalAligner/Line.pm
Update upstream source from tag 'upstream/20230309'
[perltidy.git] / lib / Perl / Tidy / VerticalAligner / Line.pm
index ab679de33a15ff3cd66e9fe05fd127529d118918..a1994601faa5d52bcded36d7c2cdd027bcb4b4a1 100644 (file)
@@ -1,45 +1,16 @@
 #####################################################################
 #
-# the Perl::Tidy::VerticalAligner::Line class supplies an object to
-# contain a single output line
+# The Perl::Tidy::VerticalAligner::Line class supplies an object to
+# contain a single output line.  It allows manipulation of the
+# alignment columns on that line.
 #
 #####################################################################
 
 package Perl::Tidy::VerticalAligner::Line;
 use strict;
 use warnings;
-our $VERSION = '20220613';
-
-BEGIN {
-
-    # Indexes for variables in $self.
-    # Do not combine with other BEGIN blocks (c101).
-    my $i = 0;
-    use constant {
-        _jmax_                      => $i++,
-        _rtokens_                   => $i++,
-        _rfields_                   => $i++,
-        _rfield_lengths_            => $i++,
-        _rpatterns_                 => $i++,
-        _indentation_               => $i++,
-        _leading_space_count_       => $i++,
-        _outdent_long_lines_        => $i++,
-        _list_seqno_                => $i++,
-        _list_type_                 => $i++,
-        _is_hanging_side_comment_   => $i++,
-        _ralignments_               => $i++,
-        _maximum_line_length_       => $i++,
-        _rvertical_tightness_flags_ => $i++,
-        _is_terminal_ternary_       => $i++,
-        _j_terminal_match_          => $i++,
-        _end_group_                 => $i++,
-        _Kend_                      => $i++,
-        _ci_level_                  => $i++,
-        _level_                     => $i++,
-        _level_end_                 => $i++,
-        _imax_pair_                 => $i++,
-    };
-}
+use English qw( -no_match_vars );
+our $VERSION = '20230309';
 
 sub AUTOLOAD {
 
@@ -60,202 +31,55 @@ This error is probably due to a recent programming change
 ======================================================================
 EOM
     exit 1;
-}
+} ## end sub AUTOLOAD
 
 {
 
-    ##use Carp;
-
     # Constructor may be called as a class method
     sub new {
         my ( $class, $ri ) = @_;
-        my $self = bless [], $class;
-
-        $self->[_jmax_]                      = $ri->{jmax};
-        $self->[_rtokens_]                   = $ri->{rtokens};
-        $self->[_rfields_]                   = $ri->{rfields};
-        $self->[_rfield_lengths_]            = $ri->{rfield_lengths};
-        $self->[_rpatterns_]                 = $ri->{rpatterns};
-        $self->[_indentation_]               = $ri->{indentation};
-        $self->[_leading_space_count_]       = $ri->{leading_space_count};
-        $self->[_outdent_long_lines_]        = $ri->{outdent_long_lines};
-        $self->[_list_type_]                 = $ri->{list_type};
-        $self->[_list_seqno_]                = $ri->{list_seqno};
-        $self->[_is_hanging_side_comment_]   = $ri->{is_hanging_side_comment};
-        $self->[_maximum_line_length_]       = $ri->{maximum_line_length};
-        $self->[_rvertical_tightness_flags_] = $ri->{rvertical_tightness_flags};
-        $self->[_is_terminal_ternary_]       = $ri->{is_terminal_ternary};
-        $self->[_j_terminal_match_]          = $ri->{j_terminal_match};
-        $self->[_end_group_]                 = $ri->{end_group};
-        $self->[_Kend_]                      = $ri->{Kend};
-        $self->[_ci_level_]                  = $ri->{ci_level};
-        $self->[_level_]                     = $ri->{level};
-        $self->[_level_end_]                 = $ri->{level_end};
-        $self->[_imax_pair_]                 = $ri->{imax_pair};
-
-        $self->[_ralignments_] = [];
-
+        my $self = bless $ri, $class;
         return $self;
     }
 
-    sub get_jmax { return $_[0]->[_jmax_] }
-
-    sub get_rtokens        { return $_[0]->[_rtokens_] }
-    sub get_rfields        { return $_[0]->[_rfields_] }
-    sub get_rfield_lengths { return $_[0]->[_rfield_lengths_] }
-    sub get_rpatterns      { return $_[0]->[_rpatterns_] }
-    sub get_indentation    { return $_[0]->[_indentation_] }
-    sub get_Kend           { return $_[0]->[_Kend_] }
-    sub get_ci_level       { return $_[0]->[_ci_level_] }
-    sub get_level          { return $_[0]->[_level_] }
-    sub get_level_end      { return $_[0]->[_level_end_] }
-    sub get_list_seqno     { return $_[0]->[_list_seqno_] }
-
-    sub get_imax_pair { return $_[0]->[_imax_pair_] }
-
-    sub set_imax_pair {
-        my ( $self, $val ) = @_;
-        $self->[_imax_pair_] = $val;
-        return;
-    }
-
-    sub get_j_terminal_match {
-        return $_[0]->[_j_terminal_match_];
-    }
-
-    sub set_j_terminal_match {
-        my ( $self, $val ) = @_;
-        $self->[_j_terminal_match_] = $val;
-        return;
-    }
-
-    sub get_is_terminal_ternary {
-        return $_[0]->[_is_terminal_ternary_];
-    }
-
-    sub get_leading_space_count {
-        return $_[0]->[_leading_space_count_];
-    }
-
-    sub get_outdent_long_lines {
-        return $_[0]->[_outdent_long_lines_];
-    }
-    sub get_list_type { return $_[0]->[_list_type_] }
-
-    sub get_is_hanging_side_comment {
-        return $_[0]->[_is_hanging_side_comment_];
-    }
-
-    sub get_maximum_line_length {
-        return $_[0]->[_maximum_line_length_];
-    }
-
-    sub get_rvertical_tightness_flags {
-        return $_[0]->[_rvertical_tightness_flags_];
-    }
-
-    sub get_alignment {
-        my ( $self, $j ) = @_;
-        return $self->[_ralignments_]->[$j];
-    }
-    sub get_alignments { return @{ $_[0]->[_ralignments_] } }
-
     sub get_column {
-        ##my ( $self, $j ) = @_;
-        my $alignment = $_[0]->[_ralignments_]->[ $_[1] ];
+        my ( $self, $j ) = @_;
+        my $alignment = $self->{ralignments}->[$j];
         return unless defined($alignment);
         return $alignment->get_column();
-    }
-
-    sub set_alignments {
-        my ( $self, @args ) = @_;
-        @{ $self->[_ralignments_] } = @args;
-        return;
-    }
+    } ## end sub get_column
 
     sub current_field_width {
         my ( $self, $j ) = @_;
         my $col_j  = 0;
         my $col_jm = 0;
 
-        my $alignment_j = $self->[_ralignments_]->[$j];
+        my $alignment_j = $self->{ralignments}->[$j];
         $col_j = $alignment_j->get_column() if defined($alignment_j);
 
         if ( $j > 0 ) {
-            my $alignment_jm = $self->[_ralignments_]->[ $j - 1 ];
+            my $alignment_jm = $self->{ralignments}->[ $j - 1 ];
             $col_jm = $alignment_jm->get_column() if defined($alignment_jm);
         }
         return $col_j - $col_jm;
-    }
+    } ## end sub current_field_width
 
     sub increase_field_width {
 
         my ( $self, $j, $pad ) = @_;
-        my $jmax = $self->[_jmax_];
+        my $jmax = $self->{jmax};
         foreach ( $j .. $jmax ) {
-            my $alignment = $self->[_ralignments_]->[$_];
+            my $alignment = $self->{ralignments}->[$_];
             if ( defined($alignment) ) {
                 $alignment->increment_column($pad);
             }
         }
         return;
-    }
+    } ## end sub increase_field_width
 
     sub get_available_space_on_right {
-        my $jmax = $_[0]->[_jmax_];
-        return $_[0]->[_maximum_line_length_] - $_[0]->get_column($jmax);
-    }
-
-    sub set_jmax { my ( $self, $val ) = @_; $self->[_jmax_] = $val; return }
-
-    sub set_rtokens {
-        my ( $self, $val ) = @_;
-        $self->[_rtokens_] = $val;
-        return;
-    }
-
-    sub set_rfields {
-        my ( $self, $val ) = @_;
-        $self->[_rfields_] = $val;
-        return;
-    }
-
-    sub set_rfield_lengths {
-        my ( $self, $val ) = @_;
-        $self->[_rfield_lengths_] = $val;
-        return;
-    }
-
-    sub set_rpatterns {
-        my ( $self, $val ) = @_;
-        $self->[_rpatterns_] = $val;
-        return;
-    }
-
-    sub set_list_type {
-        my ( $self, $val ) = @_;
-        $self->[_list_type_] = $val;
-        return;
-    }
-
-    sub set_is_hanging_side_comment {
-        my ( $self, $val ) = @_;
-        $self->[_is_hanging_side_comment_] = $val;
-        return;
-    }
-
-    sub set_alignment {
-        my ( $self, $j, $val ) = @_;
-        $self->[_ralignments_]->[$j] = $val;
-        return;
-    }
-
-    sub get_end_group { return $_[0]->[_end_group_] }
-
-    sub set_end_group {
-        my ( $self, $val ) = @_;
-        $self->[_end_group_] = $val;
-        return;
+        my $jmax = $_[0]->{jmax};
+        return $_[0]->{maximum_line_length} - $_[0]->get_column($jmax);
     }
 }