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/12 16:41:09 UTC

[groovy] branch GROOVY_3_0_X updated: GROOVY-10351: STC: argument `C<...>` for parameter `C`

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 cb14749429 GROOVY-10351: STC: argument `C<...>` for parameter `C<T,? extends T>`
cb14749429 is described below

commit cb14749429107c1f93680664dc1bb12b0934db73
Author: Eric Milles <er...@thomsonreuters.com>
AuthorDate: Mon Sep 12 11:08:54 2022 -0500

    GROOVY-10351: STC: argument `C<...>` for parameter `C<T,? extends T>`
---
 .../codehaus/groovy/transform/stc/StaticTypeCheckingSupport.java    | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingSupport.java b/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingSupport.java
index 7a8a944dd3..df46cfe2b9 100644
--- a/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingSupport.java
+++ b/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingSupport.java
@@ -456,7 +456,7 @@ public abstract class StaticTypeCheckingSupport {
             ClassNode sourceComponent = type.getComponentType(), targetComponent = toBeAssignedTo.getComponentType();
             return (isPrimitiveType(sourceComponent) == isPrimitiveType(targetComponent)) && isAssignableTo(sourceComponent, targetComponent);
         }
-        if (type.isDerivedFrom(GSTRING_TYPE) && STRING_TYPE.equals(toBeAssignedTo)) {
+        if (type.isDerivedFrom(GSTRING_TYPE) && toBeAssignedTo.equals(STRING_TYPE)) {
             return true;
         }
         if (type.equals(STRING_TYPE) && toBeAssignedTo.isDerivedFrom(GSTRING_TYPE)) {
@@ -1778,9 +1778,7 @@ public abstract class StaticTypeCheckingSupport {
             ClassNode ui = usage[i];
             ClassNode di = declaration[i];
             if (di.isGenericsPlaceHolder()) {
-                GenericsType gt = new GenericsType(di);
-                gt.setPlaceholder(di.isGenericsPlaceHolder());
-                connections.put(new GenericsTypeName(di.getGenericsTypes()[0].getName()), gt);
+                connections.put(new GenericsTypeName(di.getUnresolvedName()), new GenericsType(ui));
             } else if (di.isUsingGenerics()) {
                 extractGenericsConnections(connections, ui.getGenericsTypes(), di.getGenericsTypes());
             }