Skip to content

Commit fef4c45

Browse files
committed
fix derived checks and add ingterface check
1 parent c7c0eab commit fef4c45

1 file changed

Lines changed: 12 additions & 3 deletions

File tree

src/main/java/org/codehaus/groovy/transform/stc/UnionTypeClassNode.java

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -385,15 +385,24 @@ public boolean isAnnotated() {
385385

386386
@Override
387387
public boolean isDerivedFrom(final ClassNode type) {
388-
return getUnresolvedSuperClass(false).isDerivedFrom(type);
388+
return this.equals(type)
389+
|| getUnresolvedSuperClass(false).isDerivedFrom(type);
389390
}
390391

391392
@Override
392393
public boolean isDerivedFromGroovyObject() {
393394
for (ClassNode delegate : delegates) {
394-
if (delegate.isDerivedFromGroovyObject()) return true;
395+
if (!delegate.isDerivedFromGroovyObject()) return false;
395396
}
396-
return false;
397+
return true;
398+
}
399+
400+
@Override
401+
public boolean isInterface() {
402+
for (ClassNode delegate : delegates) {
403+
if (!delegate.isInterface()) return false;
404+
}
405+
return true;
397406
}
398407

399408
@Override

0 commit comments

Comments
 (0)