From 951d97a32db426874c4bb6314e473660d765f302 Mon Sep 17 00:00:00 2001 From: Bill Erickson Date: Mon, 13 May 2013 16:19:51 -0400 Subject: [PATCH] LP#1179660: remove OpenSRF.pm AUTOLOAD Instead of simply producing an error message in the OpenSRF logs, calls to nonexistent subroutines are now fatal errors which will stop code execution. Signed-off-by: Bill Erickson Signed-off-by: Galen Charlton --- src/perl/lib/OpenSRF.pm | 41 +---------------------------------------- 1 file changed, 1 insertion(+), 40 deletions(-) diff --git a/src/perl/lib/OpenSRF.pm b/src/perl/lib/OpenSRF.pm index 3959bd0..b577ecd 100644 --- a/src/perl/lib/OpenSRF.pm +++ b/src/perl/lib/OpenSRF.pm @@ -1,8 +1,6 @@ package OpenSRF; - +use warnings; use strict; -use vars qw/$AUTOLOAD/; - use Error; require UNIVERSAL::require; @@ -22,43 +20,6 @@ our $VERSION = "2.12"; =head1 METHODS -=head2 AUTOLOAD - -Traps methods calls for methods that have not been defined so they -don't propagate up the class hierarchy. - -=cut - -sub AUTOLOAD { - my $self = shift; - my $type = ref($self) || $self; - my $name = $AUTOLOAD; - my $otype = ref $self; - - my ($package, $filename, $line) = caller; - my ($package1, $filename1, $line1) = caller(1); - my ($package2, $filename2, $line2) = caller(2); - my ($package3, $filename3, $line3) = caller(3); - my ($package4, $filename4, $line4) = caller(4); - my ($package5, $filename5, $line5) = caller(5); - $name =~ s/.*://; # strip fully-qualified portion - warn <<" WARN"; -**** -** ${name}() isn't there. Please create me somewhere (like in $type)! -** Error at $package ($filename), line $line -** Call Stack (5 deep): -** $package1 ($filename1), line $line1 -** $package2 ($filename2), line $line2 -** $package3 ($filename3), line $line3 -** $package4 ($filename4), line $line4 -** $package5 ($filename5), line $line5 -** Object type was $otype -**** - WARN -} - - - =head2 alert_abstract This method is called by abstract methods to ensure that the process -- 2.43.2