From bc0972f70ba0077694badc6d77b15ce010ee986b Mon Sep 17 00:00:00 2001 From: Steve Hancock Date: Thu, 13 Jul 2023 09:36:49 -0700 Subject: [PATCH] add error checks --- lib/Perl/Tidy/Tokenizer.pm | 35 +++++++++++++++++++++++------------ 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/lib/Perl/Tidy/Tokenizer.pm b/lib/Perl/Tidy/Tokenizer.pm index 3683d5b2..a6e5c349 100644 --- a/lib/Perl/Tidy/Tokenizer.pm +++ b/lib/Perl/Tidy/Tokenizer.pm @@ -8,12 +8,12 @@ # source_object --> Tokenizer --> calling routine # get_line() get_line() line_of_tokens # -# The source object can be any object with a get_line() method which -# supplies one line (a character string) perl call. +# The source object can be a STRING ref, an ARRAY ref, or an object with a +# get_line() method which supplies one line (a character string) perl call. # The Tokenizer returns a reference to a data structure 'line_of_tokens' # containing one tokenized line for each call to its get_line() method. # -# WARNING: This is not a real class. Only one tokenizer my be used. +# NOTE: This is not a real class. Only one tokenizer my be used. # ######################################################################## @@ -429,6 +429,19 @@ sub new { my $source_object = $args{source_object}; my $rOpts = $args{rOpts}; + # Check call args + if ( !defined($source_object) ) { + Die( +"Perl::Tidy::Tokenizer::new called without a 'source_object' parameter\n" + ); + } + if ( !ref($source_object) ) { + Die(<Fault(<new( - input_file => \$replacement_text, - rOpts => $rOpts, - ); my $tokenizer = Perl::Tidy::Tokenizer->new( - source_object => $source_object, + source_object => \$replacement_text, logger_object => $logger_object, starting_line_number => $input_line_number, ); -- 2.39.5