Bugzilla – Attachment 157678 Details for
Bug 35133
Accessors defined in AUTOLOAD does not work if called with SUPER
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 35133: Don't lazily define accessor methods when invoked through SUPER
Bug-35133-Dont-lazily-define-accessor-methods-when.patch (text/plain), 1.07 KB, created by
David Gustafsson
on 2023-10-23 15:51:51 UTC
(
hide
)
Description:
Bug 35133: Don't lazily define accessor methods when invoked through SUPER
Filename:
MIME Type:
Creator:
David Gustafsson
Created:
2023-10-23 15:51:51 UTC
Size:
1.07 KB
patch
obsolete
>From d7b30d7c303b219755f5d0de64d9025c5e2fba06 Mon Sep 17 00:00:00 2001 >From: David Gustafsson <david.gustafsson@ub.gu.se> >Date: Mon, 23 Oct 2023 17:49:06 +0200 >Subject: [PATCH] Bug 35133: Don't lazily define accessor methods when invoked > through SUPER > >--- > Koha/Object.pm | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > >diff --git a/Koha/Object.pm b/Koha/Object.pm >index 97ae3494fd2..cd4a1113f70 100644 >--- a/Koha/Object.pm >+++ b/Koha/Object.pm >@@ -918,8 +918,13 @@ sub AUTOLOAD { > return $self->_result()->get_column($method); > } > }; >- no strict 'refs'; ## no critic (strict) >- *{$AUTOLOAD} = $accessor; >+ # If called from child class as $self->SUPER-><accessor_name> >+ # $AUTOLOAD will contain ::SUPER which breaks method lookup >+ # therefore we cannot write those entries into the symbol table >+ unless ( $AUTOLOAD =~ /::SUPER::/ ) { >+ no strict 'refs'; ## no critic (strict) >+ *{$AUTOLOAD} = $accessor; >+ } > return $accessor->( $self, @_ ); > } > >-- >2.42.0
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 35133
:
157678
|
157793
|
160777
|
160778
|
161152