This is an automated email from the ASF dual-hosted git repository. asf-gitbox-commits pushed a commit to branch union-types in repository https://gitbox.apache.org/repos/asf/groovy.git
commit fef4c45457cc1908687b5d89ffb0b0185e7e1ffe Author: Eric Milles <[email protected]> AuthorDate: Thu May 7 15:49:05 2026 -0500 fix derived checks and add ingterface check --- .../codehaus/groovy/transform/stc/UnionTypeClassNode.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/codehaus/groovy/transform/stc/UnionTypeClassNode.java b/src/main/java/org/codehaus/groovy/transform/stc/UnionTypeClassNode.java index 108c12447a..57e6343294 100644 --- a/src/main/java/org/codehaus/groovy/transform/stc/UnionTypeClassNode.java +++ b/src/main/java/org/codehaus/groovy/transform/stc/UnionTypeClassNode.java @@ -385,15 +385,24 @@ class UnionTypeClassNode extends ClassNode { @Override public boolean isDerivedFrom(final ClassNode type) { - return getUnresolvedSuperClass(false).isDerivedFrom(type); + return this.equals(type) + || getUnresolvedSuperClass(false).isDerivedFrom(type); } @Override public boolean isDerivedFromGroovyObject() { for (ClassNode delegate : delegates) { - if (delegate.isDerivedFromGroovyObject()) return true; + if (!delegate.isDerivedFromGroovyObject()) return false; } - return false; + return true; + } + + @Override + public boolean isInterface() { + for (ClassNode delegate : delegates) { + if (!delegate.isInterface()) return false; + } + return true; } @Override
