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;