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 {
my ($self) = @_;
return unless ( $rOpts->{'non-indenting-braces'} );
- my $rLL = $self->[_rLL_];
+ my $rLL = $self->[_rLL_];
return unless ( defined($rLL) && @{$rLL} );
my $radjusted_levels;
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
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 +
$index_max_forced_break = UNDEFINED_INDEX;
$forced_breakpoint_undo_count = 0;
@forced_breakpoint_undo_stack = ();
+ return;
}
sub get_forced_breakpoint_count {
# 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;
}