You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by em...@apache.org on 2022/08/26 15:45:58 UTC
[groovy] branch GROOVY_2_5_X updated: GROOVY-8828: STC: `UnionTypeClassNode` plain node reference semantics
This is an automated email from the ASF dual-hosted git repository.
emilles pushed a commit to branch GROOVY_2_5_X
in repository https://gitbox.apache.org/repos/asf/groovy.git
The following commit(s) were added to refs/heads/GROOVY_2_5_X by this push:
new e8fff13222 GROOVY-8828: STC: `UnionTypeClassNode` plain node reference semantics
e8fff13222 is described below
commit e8fff132220424f9e556407f294962d8770986aa
Author: Eric Milles <er...@thomsonreuters.com>
AuthorDate: Fri Aug 26 10:12:59 2022 -0500
GROOVY-8828: STC: `UnionTypeClassNode` plain node reference semantics
---
.../org/codehaus/groovy/transform/stc/UnionTypeClassNode.java | 9 +++++++++
src/test/groovy/transform/stc/TypeInferenceSTCTest.groovy | 2 +-
2 files changed, 10 insertions(+), 1 deletion(-)
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 1513421c27..34d6947a9e 100644
--- a/src/main/java/org/codehaus/groovy/transform/stc/UnionTypeClassNode.java
+++ b/src/main/java/org/codehaus/groovy/transform/stc/UnionTypeClassNode.java
@@ -306,6 +306,15 @@ class UnionTypeClassNode extends ClassNode {
return nodes;
}
+ @Override
+ public ClassNode getPlainNodeReference() {
+ int n = delegates.length; ClassNode[] plainNodes = new ClassNode[n];
+ for (int i = 0; i < n; i += 1) {
+ plainNodes[i] = delegates[i].getPlainNodeReference();
+ }
+ return new UnionTypeClassNode(plainNodes);
+ }
+
@Override
public List<PropertyNode> getProperties() {
List<PropertyNode> nodes = new LinkedList<PropertyNode>();
diff --git a/src/test/groovy/transform/stc/TypeInferenceSTCTest.groovy b/src/test/groovy/transform/stc/TypeInferenceSTCTest.groovy
index 99cd7be03e..76f66851bf 100644
--- a/src/test/groovy/transform/stc/TypeInferenceSTCTest.groovy
+++ b/src/test/groovy/transform/stc/TypeInferenceSTCTest.groovy
@@ -363,7 +363,7 @@ class TypeInferenceSTCTest extends StaticTypeCheckingTestCase {
}
}
- @NotYetImplemented // GROOVY-8828
+ // GROOVY-8828
void testMultipleInstanceOf7() {
assertScript '''
interface Foo { }