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/09/10 18:06:45 UTC

[groovy] branch GROOVY_3_0_X updated: GROOVY-10291, GROOVY-10367: STC: diamond inference for object expression

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

emilles pushed a commit to branch GROOVY_3_0_X
in repository https://gitbox.apache.org/repos/asf/groovy.git


The following commit(s) were added to refs/heads/GROOVY_3_0_X by this push:
     new 9629c8466b GROOVY-10291, GROOVY-10367: STC: diamond inference for object expression
9629c8466b is described below

commit 9629c8466b00a262f16b83d0644d3110bcbd742c
Author: Eric Milles <er...@thomsonreuters.com>
AuthorDate: Sat Sep 10 12:55:37 2022 -0500

    GROOVY-10291, GROOVY-10367: STC: diamond inference for object expression
    
    3_0_X backport
---
 .../org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java  | 3 ++-
 src/test/groovy/transform/stc/GenericsSTCTest.groovy                  | 4 ++--
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java b/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
index d70eef4025..75f8027297 100644
--- a/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
+++ b/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
@@ -1486,7 +1486,8 @@ public class StaticTypeCheckingVisitor extends ClassCodeVisitorSupport {
         Expression objectExpression = pexp.getObjectExpression();
         ClassNode objectExpressionType = getType(objectExpression);
         if (objectExpression instanceof ConstructorCallExpression) {
-            inferDiamondType((ConstructorCallExpression) objectExpression, objectExpressionType);
+            ClassNode rawType = objectExpressionType.getPlainNodeReference();
+            inferDiamondType((ConstructorCallExpression) objectExpression, rawType);
         }
         List<ClassNode> enclosingTypes = typeCheckingContext.getEnclosingClassNodes();
 
diff --git a/src/test/groovy/transform/stc/GenericsSTCTest.groovy b/src/test/groovy/transform/stc/GenericsSTCTest.groovy
index 1d6e8ab3e5..d0e91fd8d4 100644
--- a/src/test/groovy/transform/stc/GenericsSTCTest.groovy
+++ b/src/test/groovy/transform/stc/GenericsSTCTest.groovy
@@ -1245,7 +1245,7 @@ class GenericsSTCTest extends StaticTypeCheckingTestCase {
         '''
     }
 
-    @NotYetImplemented // GROOVY-10291
+    // GROOVY-10291
     void testDiamondInferrenceFromConstructor17() {
         assertScript '''
             @groovy.transform.TupleConstructor(defaults=false)
@@ -1384,7 +1384,7 @@ class GenericsSTCTest extends StaticTypeCheckingTestCase {
         }
     }
 
-    @NotYetImplemented // GROOVY-10367
+    // GROOVY-10367
     void testDiamondInferrenceFromConstructor26() {
         assertScript '''
             @groovy.transform.TupleConstructor(defaults=false)