This is an automated email from the ASF dual-hosted git repository.

emilles pushed a commit to branch GROOVY-11745
in repository https://gitbox.apache.org/repos/asf/groovy.git

commit 3f8f996ae75b0a6ea56ee958bbecbb7ced967449
Author: Eric Milles <eric.mil...@thomsonreuters.com>
AuthorDate: Fri Sep 5 11:37:47 2025 -0500

    GROOVY-11745: check for null sender
---
 src/main/java/groovy/lang/MetaClassImpl.java | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/main/java/groovy/lang/MetaClassImpl.java 
b/src/main/java/groovy/lang/MetaClassImpl.java
index 836b84b28f..e5d64e2f19 100644
--- a/src/main/java/groovy/lang/MetaClassImpl.java
+++ b/src/main/java/groovy/lang/MetaClassImpl.java
@@ -2095,11 +2095,12 @@ public class MetaClassImpl implements MetaClass, 
MutableMetaClass {
     }
 
     private boolean isVisibleProperty(final MetaProperty field, final 
MetaMethod method, final Class<?> sender) {
-        if (!(field instanceof CachedField)) return false;
+        if (field == null
+            || sender == null // GROOVY-11745
+            || field.isPrivate()
+            || !(field instanceof CachedField cachedField)) return false;
 
-        if (field.isPrivate()) return false;
-
-        Class<?> owner = ((CachedField) field).getDeclaringClass();
+        Class<?> owner = cachedField.getDeclaringClass();
         // ensure access originates within the type hierarchy of the field 
owner
         if (owner.equals(sender) || !owner.isAssignableFrom(sender)) return 
false;
 

Reply via email to