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

joshtynjala pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-compiler.git


The following commit(s) were added to refs/heads/develop by this push:
     new 34ca20ce4 externc: hasSuperMethod() and hasSuperField() on 
ClassReference return false if super method/field is excluded
34ca20ce4 is described below

commit 34ca20ce4ada89da910daf864f8fb4e8dda0f00a
Author: Josh Tynjala <[email protected]>
AuthorDate: Wed Feb 18 14:51:57 2026 -0800

    externc: hasSuperMethod() and hasSuperField() on ClassReference return 
false if super method/field is excluded
---
 .../codegen/typedefs/reference/ClassReference.java | 32 +++++++++++++++++++---
 1 file changed, 28 insertions(+), 4 deletions(-)

diff --git 
a/compiler-externc/src/main/java/org/apache/royale/compiler/internal/codegen/typedefs/reference/ClassReference.java
 
b/compiler-externc/src/main/java/org/apache/royale/compiler/internal/codegen/typedefs/reference/ClassReference.java
index 2cda66c2d..1dd3dd2da 100644
--- 
a/compiler-externc/src/main/java/org/apache/royale/compiler/internal/codegen/typedefs/reference/ClassReference.java
+++ 
b/compiler-externc/src/main/java/org/apache/royale/compiler/internal/codegen/typedefs/reference/ClassReference.java
@@ -452,7 +452,13 @@ public class ClassReference extends BaseReference
         for (ClassReference reference : list)
         {
             if (reference.hasInstanceField(fieldName))
-                return true;
+            {
+                FieldReference fieldReference = 
reference.getInstanceField(fieldName);
+                if (fieldReference != null && fieldReference.isExcluded() == 
null)
+                {
+                    return true;
+                }
+            }
         }
         return false;
     }
@@ -463,7 +469,13 @@ public class ClassReference extends BaseReference
         for (ClassReference reference : list)
         {
             if (reference.hasInstanceMethod(methodName))
-                return true;
+            {
+                MethodReference methodReference = 
reference.getInstanceMethod(methodName);
+                if (methodReference != null && methodReference.isExcluded() == 
null)
+                {
+                    return true;
+                }
+            }
         }
         return false;
     }
@@ -474,14 +486,26 @@ public class ClassReference extends BaseReference
         for (ClassReference reference : list)
         {
             if (reference.hasInstanceMethod(methodName))
-                return reference.getInstanceMethod(methodName);
+            {
+                MethodReference methodReference = 
reference.getInstanceMethod(methodName);
+                if (methodReference != null && methodReference.isExcluded() == 
null)
+                {
+                    return methodReference;
+                }
+            }
         }
 
         list = getAllImplInterfaces(); // return all our interfaces and all 
superclass
         for (ClassReference reference : list)
         {
             if (reference.hasInstanceMethod(methodName))
-                return reference.getInstanceMethod(methodName);
+            {
+                MethodReference methodReference = 
reference.getInstanceMethod(methodName);
+                if (methodReference != null && methodReference.isExcluded() == 
null)
+                {
+                    return methodReference;
+                }
+            }
         }
 
         return null;

Reply via email to