package Perl::Tidy::LineSource;
use strict;
use warnings;
-our $VERSION = '20200110';
+our $VERSION = '20220217';
+
+sub AUTOLOAD {
+
+ # Catch any undefined sub calls so that we are sure to get
+ # some diagnostic information. This sub should never be called
+ # except for a programming error.
+ our $AUTOLOAD;
+ return if ( $AUTOLOAD =~ /\bDESTROY$/ );
+ my ( $pkg, $fname, $lno ) = caller();
+ my $my_package = __PACKAGE__;
+ print STDERR <<EOM;
+======================================================================
+Error detected in package '$my_package', version $VERSION
+Received unexpected AUTOLOAD call for sub '$AUTOLOAD'
+Called from package: '$pkg'
+Called from File '$fname' at line '$lno'
+This error is probably due to a recent programming change
+======================================================================
+EOM
+ exit 1;
+}
+
+sub DESTROY {
+
+ # required to avoid call to AUTOLOAD in some versions of perl
+}
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'} ) {