From dd1c44053c79096c7f6e18f2124655c5de7cb0da Mon Sep 17 00:00:00 2001 From: Steve Hancock Date: Tue, 1 Sep 2020 18:41:46 -0700 Subject: [PATCH] minor code cleanups --- lib/Perl/Tidy.pm | 2 +- lib/Perl/Tidy/Formatter.pm | 38 +++++++++++++++++++++++++++++--------- lib/Perl/Tidy/Tokenizer.pm | 4 ++-- 3 files changed, 32 insertions(+), 12 deletions(-) diff --git a/lib/Perl/Tidy.pm b/lib/Perl/Tidy.pm index 2f52af0a..1fa035c0 100644 --- a/lib/Perl/Tidy.pm +++ b/lib/Perl/Tidy.pm @@ -1657,7 +1657,7 @@ EOM if ( $in_place_modify && $delete_backup && -f $ifname - && ( $delete_backup > 1 || !$logger_object->{_warning_count} ) ) + && ( $delete_backup > 1 || !$logger_object->get_warning_count() ) ) { # As an added safety precaution, do not delete the source file diff --git a/lib/Perl/Tidy/Formatter.pm b/lib/Perl/Tidy/Formatter.pm index 4c4ce853..91012a26 100644 --- a/lib/Perl/Tidy/Formatter.pm +++ b/lib/Perl/Tidy/Formatter.pm @@ -4579,12 +4579,33 @@ sub adjust_indentation_levels { my ($self) = @_; - # Set adjusted levels for any non-indenting braces + # Two options, -nib and -wc, are implemented by defining adjusted levels in + # $self->[_radjusted_levels_]. They will create this array if + # they are active, and otherwise it will be an empty array. + + # Set adjusted levels for any non-indenting braces. + # If this option is used it will create the _radjusted_levels_ array. $self->non_indenting_braces(); - # Set adjusted levels for the whitespace cycle option + # Set adjusted levels for the whitespace cycle option. If this option is + # used it will create or modify the _radjusted_levels_ array. $self->whitespace_cycle_adjustment(); + # Now clip any adjusted levels to be non-negative + $self->clip_adjusted_levels(); + + return; +} + +sub clip_adjusted_levels { + + # Replace any negative adjusted levels with zero. + # Negative levels can occur in files with brace errors. + my ($self) = @_; + my $radjusted_levels = $self->[_radjusted_levels_]; + return unless defined($radjusted_levels) && @{$radjusted_levels}; + foreach ( @{$radjusted_levels} ) { $_ = 0 if ( $_ < 0 ) } + return; } sub non_indenting_braces { @@ -4593,7 +4614,7 @@ sub non_indenting_braces { my ($self) = @_; return unless ( $rOpts->{'non-indenting-braces'} ); - my $rLL = $self->[_rLL_]; + my $rLL = $self->[_rLL_]; return unless ( defined($rLL) && @{$rLL} ); my $radjusted_levels; @@ -5156,9 +5177,7 @@ sub get_available_spaces_to_go { my $nws = @{$radjusted_levels}; if ( defined($radjusted_levels) && @{$radjusted_levels} == @{$rLL} ) { $level = $radjusted_levels->[$Kj]; - - # negative levels can occure in bad files - if ( $level < 0 ) { $level = 0 } + if ( $level < 0 ) { $level = 0 } # note: this should not happen } # The continued_quote flag means that this is the first token of a @@ -7504,9 +7523,9 @@ sub copy_token_as_type { my $radjusted_levels = $self->[_radjusted_levels_]; if ( defined($radjusted_levels) && @{$radjusted_levels} == @{$rLL} ) { $level_wc = $radjusted_levels->[$Ktoken_vars]; - - # negative levels can occure in bad files - if ( $level_wc < 0 ) { $level_wc = 0 } + if ( $level_wc < 0 ) { + $level_wc = 0; + } # note: this should not happen } my $space_count = $ci_level * $rOpts_continuation_indentation + @@ -16176,6 +16195,7 @@ sub set_nobreaks { $index_max_forced_break = UNDEFINED_INDEX; $forced_breakpoint_undo_count = 0; @forced_breakpoint_undo_stack = (); + return; } sub get_forced_breakpoint_count { diff --git a/lib/Perl/Tidy/Tokenizer.pm b/lib/Perl/Tidy/Tokenizer.pm index 2a7b5f3f..16e5af4c 100644 --- a/lib/Perl/Tidy/Tokenizer.pm +++ b/lib/Perl/Tidy/Tokenizer.pm @@ -527,14 +527,14 @@ sub report_tokenization_errors { # Set the severe error for a fairly high warning count because # some of the warnings do not harm formatting, such as duplicate # sub names. - my $warning_count = $logger_object->{_warning_count}; + my $warning_count = $logger_object->get_warning_count(); if ( $warning_count > 50 ) { $severe_error = 1; } # Brace errors are significant, so set the severe error flag at # a low number. - my $saw_brace_error = $logger_object->{_saw_brace_error}; + my $saw_brace_error = get_saw_brace_error(); if ( $saw_brace_error > 2 ) { $severe_error = 1; } -- 2.39.5