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:31:48 UTC

[groovy] branch GROOVY_2_5_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_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 2181e03228 GROOVY-8487, GROOVY-10712: revert change to `iterator(Object)` extension
2181e03228 is described below

commit 2181e03228283cdb22ebf74c8cf145afe359a9b8
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 d4747483e8..51579b8989 100644
--- a/src/main/java/org/codehaus/groovy/runtime/DefaultGroovyMethods.java
+++ b/src/main/java/org/codehaus/groovy/runtime/DefaultGroovyMethods.java
@@ -17518,7 +17518,6 @@ public class DefaultGroovyMethods extends DefaultGroovyMethodsSupport {
      * @since 1.0
      */
     public static Iterator iterator(final Object o) {
-        if (o instanceof Iterator) return (Iterator)o; //GROOVY-8487
         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 ee65cc9e51..3a985e541f 100644
--- a/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
+++ b/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
@@ -2023,10 +2023,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 '''