]> git.donarmstrong.com Git - perltidy.git/commitdiff
switched self from hash ref to array ref; improved efficiency
authorSteve Hancock <perltidy@users.sourceforge.net>
Wed, 7 Oct 2020 00:08:29 +0000 (17:08 -0700)
committerSteve Hancock <perltidy@users.sourceforge.net>
Wed, 7 Oct 2020 00:08:29 +0000 (17:08 -0700)
lib/Perl/Tidy/VerticalAligner/Alignment.pm

index 70a1a6d859507a3d4b13b378331be464c8c3910d..8e34b14390008332341bcdd5d44142441a78e2d5 100644 (file)
@@ -12,20 +12,26 @@ use warnings;
 
 our $VERSION = '20201001';
 
-#    _column          # the current column number
-#    _starting_column # column number when created
-#    _saved_column    # a place for temporary storage
+#    _column_          # the current column number
+#    _starting_column_ # column number when created
+#    _saved_column_    # a place for temporary storage
+my $i = 0;
+use constant {
+    _column_          => $i++,
+    _starting_column_ => $i++,
+    _saved_column_    => $i++,
+};
 
 sub new {
     my ( $caller, %arg ) = @_;
     my $caller_is_obj = ref($caller);
     my $class         = $caller_is_obj || $caller;
-    my $self          = bless {}, $class;
-    $self->{_column}          = $arg{column};
-    $self->{_starting_column} = $arg{starting_column};
-    $self->{_saved_column}    = $arg{saved_column};
-    if ( !defined( $self->{_starting_column} ) ) {
-        $self->{_starting_column} = $self->{_column};
+    my $self          = bless [], $class;
+    $self->[_column_]          = $arg{column};
+    $self->[_starting_column_] = $arg{starting_column};
+    $self->[_saved_column_]    = $arg{saved_column};
+    if ( !defined( $self->[_starting_column_] ) ) {
+        $self->[_starting_column_] = $self->[_column_];
     }
     return $self;
 }
@@ -36,7 +42,7 @@ sub AUTOLOAD {
     # some diagnostic information.  This sub should never be called
     # except for a programming error.
     our $AUTOLOAD;
-    return if ( $AUTOLOAD =~/\bDESTROY$/ );
+    return if ( $AUTOLOAD =~ /\bDESTROY$/ );
     my ( $pkg, $fname, $lno ) = caller();
     print STDERR <<EOM;
     ======================================================================
@@ -54,36 +60,39 @@ sub DESTROY {
     # required to avoid call to AUTOLOAD in some versions of perl
 }
 
-sub get_column { my $self = shift; return $self->{_column} }
+sub get_column {
+    return $_[0]->[_column_];
+}
 
 sub get_starting_column {
-    my $self = shift;
-    return $self->{_starting_column};
+    return $_[0]->[_starting_column_];
 }
 
-sub set_column { my ( $self, $val ) = @_; $self->{_column} = $val; return }
+sub set_column {
+    my ( $self, $val ) = @_;
+    $self->[_column_] = $val;
+    return;
+}
 
 sub set_starting_column {
     my ( $self, $val ) = @_;
-    $self->{_starting_column} = $val;
+    $self->[_starting_column_] = $val;
     return;
 }
 
 sub increment_column {
     my ( $self, $val ) = @_;
-    $self->{_column} += $val;
+    $self->[_column_] += $val;
     return;
 }
 
 sub save_column {
-    my $self = shift;
-    $self->{_saved_column} = $self->{_column};
+    $_[0]->[_saved_column_] = $_[0]->[_column_];
     return;
 }
 
 sub restore_column {
-    my $self = shift;
-    $self->{_column} = $self->{_saved_column};
+    $_[0]->[_column_] = $_[0]->[_saved_column_];
     return;
 }
 } ## end of package VerticalAligner::Alignment