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/12/06 17:48:36 UTC

[groovy] branch GROOVY_4_0_X updated: GROOVY-7204, GROOVY-10820: STC: partial rollback

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

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


The following commit(s) were added to refs/heads/GROOVY_4_0_X by this push:
     new 43a5ca1082 GROOVY-7204, GROOVY-10820: STC: partial rollback
43a5ca1082 is described below

commit 43a5ca10822eea74b641874a10d7631f4a75d511
Author: Eric Milles <er...@thomsonreuters.com>
AuthorDate: Tue Dec 6 11:19:35 2022 -0600

    GROOVY-7204, GROOVY-10820: STC: partial rollback
---
 .../transform/stc/StaticTypeCheckingVisitor.java     |  2 +-
 src/spec/test/typing/TypeCheckingTest.groovy         |  2 +-
 src/test/groovy/bugs/Groovy7204.groovy               |  2 +-
 src/test/groovy/bugs/Groovy8609Bug.groovy            |  6 +++---
 src/test/groovy/transform/stc/GenericsSTCTest.groovy | 20 ++++++++++----------
 5 files changed, 16 insertions(+), 16 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 aba5dcb505..8467ca5a03 100644
--- a/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
+++ b/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
@@ -3446,7 +3446,7 @@ public class StaticTypeCheckingVisitor extends ClassCodeVisitorSupport {
                 List<MethodNode> mn = null;
                 Receiver<String> chosenReceiver = null;
                 for (Receiver<String> currentReceiver : receivers) {
-                    mn = findMethod(currentReceiver.getType().getPlainNodeReference(), name, args);
+                    mn = findMethod(currentReceiver.getType(), name, args);
                     if (!mn.isEmpty()) {
                         first = mn.get(0); // capture for error string
                         // for "this" in a static context, only static methods are compatible
diff --git a/src/spec/test/typing/TypeCheckingTest.groovy b/src/spec/test/typing/TypeCheckingTest.groovy
index 84c18ac9ef..915bb7431f 100644
--- a/src/spec/test/typing/TypeCheckingTest.groovy
+++ b/src/spec/test/typing/TypeCheckingTest.groovy
@@ -701,7 +701,7 @@ import static org.codehaus.groovy.ast.tools.WideningCategories.lowestUpperBound
             // end::flowtyping_typeconstraints_failure[]
             flowTypingWithExplicitType()
         ''',
-        'Cannot call java.util.ArrayList#add(java.lang.String) with arguments [int]'
+        'Cannot find matching method java.util.ArrayList#add(int)'
 
         assertScript '''
             // tag::flowtyping_typeconstraints_fixed[]
diff --git a/src/test/groovy/bugs/Groovy7204.groovy b/src/test/groovy/bugs/Groovy7204.groovy
index e68ecbf823..ece6f06d3a 100644
--- a/src/test/groovy/bugs/Groovy7204.groovy
+++ b/src/test/groovy/bugs/Groovy7204.groovy
@@ -473,7 +473,7 @@ final class Groovy7204 {
         '''
     }
 
-    @NotYetImplemented @Test
+    @Test
     void testCompileStatic6() {
         assertScript shell, '''
             class Repository<T, S extends Serializable> {
diff --git a/src/test/groovy/bugs/Groovy8609Bug.groovy b/src/test/groovy/bugs/Groovy8609Bug.groovy
index 28bb9232eb..28e6543b5b 100644
--- a/src/test/groovy/bugs/Groovy8609Bug.groovy
+++ b/src/test/groovy/bugs/Groovy8609Bug.groovy
@@ -98,7 +98,7 @@ final class Groovy8609Bug extends GroovyTestCase {
                 }
             }
         '''
-        assert err.contains('Cannot call A#getFirstRecord(java.util.ArrayList<java.util.HashMap<java.lang.String, java.lang.Integer>>) with arguments [java.util.ArrayList<java.util.TreeMap<java.lang.String, java.lang.Integer>>]')
+        assert err.contains('Cannot find matching method A#getFirstRecord(java.util.ArrayList<java.util.TreeMap<java.lang.String, java.lang.Integer>>)')
     }
 
     void testUpperBoundWithGenericsThroughWrongType2() {
@@ -118,7 +118,7 @@ final class Groovy8609Bug extends GroovyTestCase {
                 }
             }
         '''
-        assert err.contains('Cannot call A#getFirstRecord(java.util.ArrayList<java.util.HashMap<java.lang.String, java.lang.Integer>>) with arguments [java.util.ArrayList<java.util.HashMap<java.lang.String, java.lang.Long>>]')
+        assert err.contains('Cannot find matching method A#getFirstRecord(java.util.ArrayList<java.util.HashMap<java.lang.String, java.lang.Long>>)')
     }
 
     void testUpperBoundWithGenericsThroughWrongType3() {
@@ -138,6 +138,6 @@ final class Groovy8609Bug extends GroovyTestCase {
                 }
             }
         '''
-        assert err.contains('Cannot call A#getFirstRecord(java.util.ArrayList<java.util.HashMap<java.lang.String, java.lang.Integer>>) with arguments [java.util.ArrayList<java.util.HashMap<java.lang.StringBuffer, java.lang.Integer>>]')
+        assert err.contains('Cannot find matching method A#getFirstRecord(java.util.ArrayList<java.util.HashMap<java.lang.StringBuffer, java.lang.Integer>>)')
     }
 }
diff --git a/src/test/groovy/transform/stc/GenericsSTCTest.groovy b/src/test/groovy/transform/stc/GenericsSTCTest.groovy
index f6f853742c..0c0411db60 100644
--- a/src/test/groovy/transform/stc/GenericsSTCTest.groovy
+++ b/src/test/groovy/transform/stc/GenericsSTCTest.groovy
@@ -58,7 +58,7 @@ class GenericsSTCTest extends StaticTypeCheckingTestCase {
             List<String> list = []
             list.add(1)
         ''',
-        'Cannot call java.util.ArrayList#add(java.lang.String) with arguments [int]'
+        'Cannot find matching method java.util.ArrayList#add(int)'
     }
 
     void testAddOnList2() {
@@ -134,7 +134,7 @@ class GenericsSTCTest extends StaticTypeCheckingTestCase {
             List<Integer> list = new LinkedList<>()
             list.add 'Hello'
         ''',
-        'Cannot call java.util.LinkedList#add(java.lang.Integer) with arguments [java.lang.String]'
+        'Cannot find matching method java.util.LinkedList#add(java.lang.String)'
     }
 
     void testAddOnListWithDiamondAndWrongTypeUsingLeftShift() {
@@ -241,7 +241,7 @@ class GenericsSTCTest extends StaticTypeCheckingTestCase {
             Number number = Optional.of(42).orElse(Double.NaN)
             assert number.intValue() == 42
         ''',
-        'Cannot call java.util.Optional#orElse(java.lang.Integer) with arguments [double]'
+        'Cannot find matching method java.util.Optional#orElse(double)'
     }
 
     void testReturnTypeInferenceWithMethodGenerics5() {
@@ -257,7 +257,7 @@ class GenericsSTCTest extends StaticTypeCheckingTestCase {
             Number number = Optional.ofNullable((Integer) null).orElse(42d)
             assert number.intValue() == 42
         ''',
-        'Cannot call java.util.Optional#orElse(java.lang.Integer) with arguments [double]'
+        'Cannot find matching method java.util.Optional#orElse(double)'
     }
 
     void testReturnTypeInferenceWithMethodGenerics7() {
@@ -2079,7 +2079,7 @@ class GenericsSTCTest extends StaticTypeCheckingTestCase {
             def map = new HashMap<String, Integer>()
             map.put('hello', new Object())
         ''',
-        'Cannot call java.util.HashMap#put(java.lang.String, java.lang.Integer) with arguments [java.lang.String, java.lang.Object]'
+        'Cannot find matching method java.util.HashMap#put(java.lang.String, java.lang.Object)'
     }
 
     void testPutAtWithWrongValueType() {
@@ -2103,7 +2103,7 @@ class GenericsSTCTest extends StaticTypeCheckingTestCase {
                 }
             }
         ''',
-        'Cannot call java.util.Map#put(java.lang.String, java.util.Map<java.lang.String, java.util.List<java.lang.String>>) with arguments [java.lang.String, java.util.LinkedHashMap<java.lang.String, java.util.List<ConfigAttribute>>]',
+        'Cannot find matching method java.util.Map#put(java.lang.String, java.util.LinkedHashMap<java.lang.String, java.util.List<ConfigAttribute>>)',
         'Cannot call <K,V> org.codehaus.groovy.runtime.DefaultGroovyMethods#putAt(java.util.Map<K, V>, K, V) with arguments [java.util.Map<java.lang.String, java.util.Map<java.lang.String, java.util.List<java.lang.String>>>, java.lang.String, java.util.LinkedHashMap<java.lang.String, java.util.List<ConfigAttribute>>]'
     }
 
@@ -2883,7 +2883,7 @@ class GenericsSTCTest extends StaticTypeCheckingTestCase {
             Map<Date, Date> map = new HashMap<>()
             map.put('foo', new Date())
         ''',
-        'Cannot call java.util.HashMap#put(java.util.Date, java.util.Date) with arguments [java.lang.String, java.util.Date]'
+        'Cannot find matching method java.util.HashMap#put(java.lang.String, java.util.Date)'
     }
     void testInferDiamondForAssignmentWithDatesAndIllegalKeyUsingSquareBracket() {
         shouldFailWithMessages '''
@@ -2923,7 +2923,7 @@ class GenericsSTCTest extends StaticTypeCheckingTestCase {
             Map<Date, Date> map = new HashMap<>()
             map.put(new Date(), 'foo')
         ''',
-        'Cannot call java.util.HashMap#put(java.util.Date, java.util.Date) with arguments [java.util.Date, java.lang.String]'
+        'Cannot find matching method java.util.HashMap#put(java.util.Date, java.lang.String)'
     }
     void testInferDiamondForAssignmentWithDatesAndIllegalValueUsingSquareBracket() {
         shouldFailWithMessages '''
@@ -3314,8 +3314,8 @@ class GenericsSTCTest extends StaticTypeCheckingTestCase {
             test(new Holder<Object>())
         ''',
         'Cannot call TypedProperty#eq(java.lang.String) with arguments [groovy.lang.GString]',
-        'Cannot call TypedProperty#eq(java.lang.String) with arguments [int]',
-        'Cannot call TypedProperty#eq(java.lang.Number) with arguments [java.lang.String]'
+        'Cannot find matching method TypedProperty#eq(int)',
+        'Cannot find matching method TypedProperty#eq(java.lang.String)'
     }
 
     // GROOVY-5748