Repository: groovy Updated Branches: refs/heads/GROOVY_2_4_X ca97826de -> 9e9b5b650
GROOVY-7774: Collection addAll fails CompileStatic type checking when adding a collection of subtypes (minor refactor) Project: http://git-wip-us.apache.org/repos/asf/groovy/repo Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/9e9b5b65 Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/9e9b5b65 Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/9e9b5b65 Branch: refs/heads/GROOVY_2_4_X Commit: 9e9b5b650da21e36a3f31ec857c05c1a13240f72 Parents: ca97826 Author: paulk <[email protected]> Authored: Tue Aug 2 21:50:01 2016 +1000 Committer: paulk <[email protected]> Committed: Tue Aug 2 21:52:25 2016 +1000 ---------------------------------------------------------------------- .../org/codehaus/groovy/runtime/DefaultGroovyMethods.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/groovy/blob/9e9b5b65/src/main/org/codehaus/groovy/runtime/DefaultGroovyMethods.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/runtime/DefaultGroovyMethods.java b/src/main/org/codehaus/groovy/runtime/DefaultGroovyMethods.java index 78db4c1..6c33936 100644 --- a/src/main/org/codehaus/groovy/runtime/DefaultGroovyMethods.java +++ b/src/main/org/codehaus/groovy/runtime/DefaultGroovyMethods.java @@ -5093,9 +5093,7 @@ public class DefaultGroovyMethods extends DefaultGroovyMethodsSupport { G key = outer.getKey(); List<Map.Entry<K, V>> entries = outer.getValue(); Map<K, V> target = createSimilarMap(self); - for (Map.Entry<K, V> entry : entries) { - target.put(entry.getKey(), entry.getValue()); - } + putAll(target, entries); answer.put(key, target); } return answer; @@ -8803,7 +8801,7 @@ public class DefaultGroovyMethods extends DefaultGroovyMethodsSupport { * @return the same map, after the items have been added to it. * @since 1.6.1 */ - public static <K, V> Map<K, V> putAll(Map<K, V> self, Collection<Map.Entry<? extends K, ? extends V>> entries) { + public static <K, V> Map<K, V> putAll(Map<K, V> self, Collection<? extends Map.Entry<? extends K, ? extends V>> entries) { for (Map.Entry<? extends K, ? extends V> entry : entries) { self.put(entry.getKey(), entry.getValue()); } @@ -8823,7 +8821,7 @@ public class DefaultGroovyMethods extends DefaultGroovyMethodsSupport { * @return a new Map containing all key, value pairs from self and entries * @since 1.6.1 */ - public static <K, V> Map<K, V> plus(Map<K, V> self, Collection<Map.Entry<? extends K, ? extends V>> entries) { + public static <K, V> Map<K, V> plus(Map<K, V> self, Collection<? extends Map.Entry<? extends K, ? extends V>> entries) { Map<K, V> map = cloneSimilarMap(self); putAll(map, entries); return map;
