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/09 23:13:44 UTC

[groovy] branch GROOVY_3_0_X updated: GROOVY-8487, GROOVY-10712: revert change to `iterator(Object)` extension

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 2fca763fd9 GROOVY-8487, GROOVY-10712: revert change to `iterator(Object)` extension
2fca763fd9 is described below

commit 2fca763fd90369039c7aa348f99c399eee0bb091
Author: Eric Milles <er...@thomsonreuters.com>
AuthorDate: Fri Sep 9 18:09:58 2022 -0500

    GROOVY-8487, GROOVY-10712: revert change to `iterator(Object)` extension
---
 .../org/codehaus/groovy/runtime/DefaultGroovyMethods.java     |  1 -
 .../groovy/transform/stc/StaticTypeCheckingVisitor.java       |  4 ----
 src/test/groovy/transform/stc/LoopsSTCTest.groovy             | 11 -----------
 3 files changed, 16 deletions(-)

diff --git a/src/main/java/org/codehaus/groovy/runtime/DefaultGroovyMethods.java b/src/main/java/org/codehaus/groovy/runtime/DefaultGroovyMethods.java
index 3df39e4f46..d1e2346228 100644
--- a/src/main/java/org/codehaus/groovy/runtime/DefaultGroovyMethods.java
+++ b/src/main/java/org/codehaus/groovy/runtime/DefaultGroovyMethods.java
@@ -18279,7 +18279,6 @@ public class DefaultGroovyMethods extends DefaultGroovyMethodsSupport {
      * @since 1.0
      */
     public static Iterator iterator(final Object o) {
-        if (o instanceof Iterator) return (Iterator)o;
         return DefaultTypeTransformation.asCollection(o).iterator();
     }
 
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 11eb97ea20..d70eef4025 100644
--- a/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
+++ b/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
@@ -1996,10 +1996,6 @@ public class StaticTypeCheckingVisitor extends ClassCodeVisitorSupport {
                 ClassNode col = GenericsUtils.parameterizeType(collectionType, ENUMERATION_TYPE);
                 componentType = col.getGenericsTypes()[0].getType();
 
-            } else if (implementsInterfaceOrIsSubclassOf(collectionType, Iterator_TYPE)) { // GROOVY-10712
-                ClassNode col = GenericsUtils.parameterizeType(collectionType, Iterator_TYPE);
-                componentType = col.getGenericsTypes()[0].getType();
-
             } else if (collectionType.equals(STRING_TYPE)) {
                 componentType = STRING_TYPE;
             } else {
diff --git a/src/test/groovy/transform/stc/LoopsSTCTest.groovy b/src/test/groovy/transform/stc/LoopsSTCTest.groovy
index 4dd97a7226..dd159a4a2a 100644
--- a/src/test/groovy/transform/stc/LoopsSTCTest.groovy
+++ b/src/test/groovy/transform/stc/LoopsSTCTest.groovy
@@ -225,17 +225,6 @@ class LoopsSTCTest extends StaticTypeCheckingTestCase {
         '''
     }
 
-    // GROOVY-8487, GROOVY-10712
-    void testForInLoopOnIterator() {
-        assertScript '''
-            def list = []
-            for (item in ['a','b','c'].iterator()) {
-                list.add(item.toUpperCase())
-            }
-            assert list == ['A','B','C']
-        '''
-    }
-
     // GROOVY-6123
     void testForInLoopOnEnumeration() {
         assertScript '''