From: Steve Hancock Date: Thu, 13 Jul 2023 16:36:49 +0000 (-0700) Subject: add error checks X-Git-Tag: 20230701.01~5 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=bc0972f70ba0077694badc6d77b15ce010ee986b;p=perltidy.git add error checks --- 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, );