From 3e48fb4b484c8ad37fa261d88e14d5a2844db81a Mon Sep 17 00:00:00 2001 From: Steve Hancock Date: Tue, 5 May 2020 20:57:20 -0700 Subject: [PATCH] minor code cleanups --- lib/Perl/Tidy.pm | 92 ++++++++++++++++++++----------------- lib/Perl/Tidy/HtmlWriter.pm | 19 ++++++-- lib/Perl/Tidy/LineSource.pm | 14 +++++- lib/Perl/Tidy/Logger.pm | 24 ++++++++-- lib/Perl/Tidy/Tokenizer.pm | 8 ++-- 5 files changed, 104 insertions(+), 53 deletions(-) diff --git a/lib/Perl/Tidy.pm b/lib/Perl/Tidy.pm index 03f8345b..205ac432 100644 --- a/lib/Perl/Tidy.pm +++ b/lib/Perl/Tidy.pm @@ -915,9 +915,11 @@ EOM } # the 'source_object' supplies a method to read the input file - my $source_object = - Perl::Tidy::LineSource->new( $input_file, $rOpts, - $rpending_logfile_message ); + my $source_object = Perl::Tidy::LineSource->new( + input_file => $input_file, + rOpts => $rOpts, + rpending_logfile_message => $rpending_logfile_message, + ); next unless ($source_object); my $max_iterations = $rOpts->{'iterations'}; @@ -1069,8 +1071,11 @@ EOM $saw_md5{$digest} = 0; } - $source_object = Perl::Tidy::LineSource->new( \$buf, $rOpts, - $rpending_logfile_message ); + $source_object = Perl::Tidy::LineSource->new( + input_file => \$buf, + rOpts => $rOpts, + rpending_logfile_message => $rpending_logfile_message, + ); # register this file name with the Diagnostics package $diagnostics_object->set_input_file($input_file) @@ -1176,27 +1181,18 @@ EOM # the 'sink_object' knows how to write the output file my ( $sink_object, $postfilter_buffer ); - if ( $postfilter - || $rOpts->{'assert-tidy'} - || $rOpts->{'assert-untidy'} ) - { - $sink_object = Perl::Tidy::LineSink->new( - output_file => \$postfilter_buffer, - line_separator => $line_separator, - rOpts => $rOpts, - rpending_logfile_message => $rpending_logfile_message, - is_encoded_data => $is_encoded_data, - ); - } - else { - $sink_object = Perl::Tidy::LineSink->new( - output_file => $output_file, - line_separator => $line_separator, - rOpts => $rOpts, - rpending_logfile_message => $rpending_logfile_message, - is_encoded_data => $is_encoded_data, - ); - } + my $use_buffer = + $postfilter + || $rOpts->{'assert-tidy'} + || $rOpts->{'assert-untidy'}; + + $sink_object = Perl::Tidy::LineSink->new( + output_file => $use_buffer ? \$postfilter_buffer : $output_file, + line_separator => $line_separator, + rOpts => $rOpts, + rpending_logfile_message => $rpending_logfile_message, + is_encoded_data => $is_encoded_data, + ); #--------------------------------------------------------------- # initialize the error logger for this file @@ -1206,9 +1202,15 @@ EOM my $log_file = $fileroot . $dot . "LOG"; if ($logfile_stream) { $log_file = $logfile_stream } - my $logger_object = - Perl::Tidy::Logger->new( $rOpts, $log_file, $warning_file, - $fh_stderr, $saw_extrude, $display_name, $is_encoded_data ); + my $logger_object = Perl::Tidy::Logger->new( + rOpts => $rOpts, + log_file => $log_file, + warning_file => $warning_file, + fh_stderr => $fh_stderr, + saw_extruce => $saw_extrude, + display_name => $display_name, + is_encoded_data => $is_encoded_data, + ); write_logfile_header( $rOpts, $logger_object, $config_file, $rraw_options, $Windows_type, $readable_options, @@ -1288,10 +1290,13 @@ EOM $formatter = $user_formatter; } elsif ( $rOpts->{'format'} eq 'html' ) { - $formatter = - Perl::Tidy::HtmlWriter->new( $fileroot, $output_file, - $actual_output_extension, $html_toc_extension, - $html_src_extension ); + $formatter = Perl::Tidy::HtmlWriter->new( + input_file => $fileroot, + html_file => $output_file, + extension => $actual_output_extension, + html_toc_extension => $html_toc_extension, + html_src_extension => $html_src_extension, + ); } elsif ( $rOpts->{'format'} eq 'tidy' ) { $formatter = Perl::Tidy::Formatter->new( @@ -1349,9 +1354,11 @@ EOM if ( $iter < $max_iterations ) { $sink_object->close_output_file(); - $source_object = - Perl::Tidy::LineSource->new( \$sink_buffer, $rOpts, - $rpending_logfile_message ); + $source_object = Perl::Tidy::LineSource->new( + input_file => \$sink_buffer, + rOpts => $rOpts, + rpending_logfile_message => $rpending_logfile_message, + ); # stop iterations if errors or converged my $stop_now = $tokenizer->report_tokenization_errors(); @@ -1425,10 +1432,7 @@ EOM #--------------------------------------------------------------- # Perform any postfilter operation #--------------------------------------------------------------- - if ( $postfilter - || $rOpts->{'assert-tidy'} - || $rOpts->{'assert-untidy'} ) - { + if ($use_buffer) { $sink_object->close_output_file(); $sink_object = Perl::Tidy::LineSink->new( output_file => $output_file, @@ -1461,9 +1465,11 @@ EOM } } - $source_object = - Perl::Tidy::LineSource->new( \$buf, $rOpts, - $rpending_logfile_message ); + $source_object = Perl::Tidy::LineSource->new( + input_file => \$buf, + rOpts => $rOpts, + rpending_logfile_message => $rpending_logfile_message, + ); while ( my $line = $source_object->get_line() ) { $sink_object->write_line($line); } diff --git a/lib/Perl/Tidy/HtmlWriter.pm b/lib/Perl/Tidy/HtmlWriter.pm index 4db9247f..cc2419a1 100644 --- a/lib/Perl/Tidy/HtmlWriter.pm +++ b/lib/Perl/Tidy/HtmlWriter.pm @@ -40,9 +40,22 @@ BEGIN { sub new { - my ( $class, $input_file, $html_file, $extension, $html_toc_extension, - $html_src_extension ) - = @_; + my ( $class, @args ) = @_; + + my %defaults = ( + input_file => undef, + html_file => undef, + extension => undef, + html_toc_extension => undef, + html_src_extension => undef, + ); + my %args = ( %defaults, @args ); + + my $input_file = $args{input_file}; + my $html_file = $args{html_file}; + my $extension = $args{extension}; + my $html_toc_extension = $args{html_toc_extension}; + my $html_src_extension = $args{html_src_extension}; my $html_file_opened = 0; my $html_fh; diff --git a/lib/Perl/Tidy/LineSource.pm b/lib/Perl/Tidy/LineSource.pm index cc1a7905..15cc2aca 100644 --- a/lib/Perl/Tidy/LineSource.pm +++ b/lib/Perl/Tidy/LineSource.pm @@ -12,7 +12,19 @@ our $VERSION = '20200110.01'; sub new { - my ( $class, $input_file, $rOpts, $rpending_logfile_message ) = @_; + my ( $class, @args ) = @_; + + my %defaults = ( + input_file => undef, + rOpts => undef, + rpending_logfile_message => undef, + ); + + my %args = ( %defaults, @args ); + + my $input_file = $args{input_file}; + my $rOpts = $args{rOpts}; + my $rpending_logfile_message = $args{rpending_logfile_message}; my $input_line_ending; if ( $rOpts->{'preserve-line-endings'} ) { diff --git a/lib/Perl/Tidy/Logger.pm b/lib/Perl/Tidy/Logger.pm index 73e24af7..df9b5436 100644 --- a/lib/Perl/Tidy/Logger.pm +++ b/lib/Perl/Tidy/Logger.pm @@ -11,9 +11,27 @@ our $VERSION = '20200110.01'; sub new { - my ( $class, $rOpts, $log_file, $warning_file, $fh_stderr, $saw_extrude, - $display_name, $is_encoded_data ) - = @_; + my ( $class, @args ) = @_; + + my %defaults = ( + rOpts => undef, + log_file => undef, + warning_file => undef, + fh_stderr => undef, + saw_extruce => undef, + display_name => undef, + is_encoded_data => undef, + ); + + my %args = ( %defaults, @args ); + + my $rOpts = $args{rOpts}; + my $log_file = $args{log_file}; + my $warning_file = $args{warning_file}; + my $fh_stderr = $args{fh_stderr}; + my $saw_extrude = $args{saw_extrude}; + my $display_name = $args{display_name}; + my $is_encoded_data = $args{is_encoded_data}; my $fh_warnings = $rOpts->{'standard-error-output'} ? $fh_stderr : undef; diff --git a/lib/Perl/Tidy/Tokenizer.pm b/lib/Perl/Tidy/Tokenizer.pm index 3eaa8792..641dba1e 100644 --- a/lib/Perl/Tidy/Tokenizer.pm +++ b/lib/Perl/Tidy/Tokenizer.pm @@ -1421,9 +1421,11 @@ sub prepare_for_a_new_file { # make a new tokenizer my $rOpts = {}; my $rpending_logfile_message; - my $source_object = - Perl::Tidy::LineSource->new( \$replacement_text, $rOpts, - $rpending_logfile_message ); + my $source_object = Perl::Tidy::LineSource->new( + input_file => \$replacement_text, + rOpts => $rOpts, + rpending_logfile_message => $rpending_logfile_message, + ); my $tokenizer = Perl::Tidy::Tokenizer->new( source_object => $source_object, logger_object => $logger_object, -- 2.39.5