Minor refactoring: iterate maps via entrySet (cherry picked from commit cfbd6d2)
Project: http://git-wip-us.apache.org/repos/asf/groovy/repo Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/a7825997 Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/a7825997 Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/a7825997 Branch: refs/heads/GROOVY_2_4_X Commit: a7825997e57ab73714c40be64cf358d0c7fb170d Parents: 44c8b61 Author: sunlan <[email protected]> Authored: Tue Dec 5 08:28:50 2017 +0800 Committer: sunlan <[email protected]> Committed: Tue Dec 5 10:03:13 2017 +0800 ---------------------------------------------------------------------- .../groovy/tools/javac/JavaStubGenerator.java | 5 +++-- .../groovy/ant/AntProjectPropertiesDelegate.java | 8 +++----- .../tools/groovydoc/SimpleGroovyRootDoc.java | 17 ++++++++++------- .../groovy/xml/streamingmarkupsupport/Builder.java | 15 +++++++-------- 4 files changed, 23 insertions(+), 22 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/groovy/blob/a7825997/src/main/org/codehaus/groovy/tools/javac/JavaStubGenerator.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/tools/javac/JavaStubGenerator.java b/src/main/org/codehaus/groovy/tools/javac/JavaStubGenerator.java index e2d4e5b..76bcb05 100644 --- a/src/main/org/codehaus/groovy/tools/javac/JavaStubGenerator.java +++ b/src/main/org/codehaus/groovy/tools/javac/JavaStubGenerator.java @@ -835,10 +835,11 @@ public class JavaStubGenerator { out.print("@" + annotation.getClassNode().getName().replace('$', '.') + "("); boolean first = true; Map<String, Expression> members = annotation.getMembers(); - for (String key : members.keySet()) { + for (Map.Entry<String, Expression> entry : members.entrySet()) { + String key = entry.getKey(); if (first) first = false; else out.print(", "); - out.print(key + "=" + getAnnotationValue(members.get(key)).replace('$', '.')); + out.print(key + "=" + getAnnotationValue(entry.getValue()).replace('$', '.')); } out.print(") "); } http://git-wip-us.apache.org/repos/asf/groovy/blob/a7825997/subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/AntProjectPropertiesDelegate.java ---------------------------------------------------------------------- diff --git a/subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/AntProjectPropertiesDelegate.java b/subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/AntProjectPropertiesDelegate.java index b56579b..48a8901 100644 --- a/subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/AntProjectPropertiesDelegate.java +++ b/subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/AntProjectPropertiesDelegate.java @@ -99,11 +99,9 @@ public class AntProjectPropertiesDelegate extends Hashtable { } public synchronized void putAll(Map t) { - Set keySet = t.keySet(); - for (Iterator iterator = keySet.iterator(); iterator.hasNext();) { - Object key = iterator.next(); - Object value = t.get(key); - put(key, value); + for (Object e : t.entrySet()) { + Map.Entry entry = (Map.Entry) e; + put(entry.getKey(), entry.getValue()); } } http://git-wip-us.apache.org/repos/asf/groovy/blob/a7825997/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyRootDoc.java ---------------------------------------------------------------------- diff --git a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyRootDoc.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyRootDoc.java index 89c5bcd..067a01d 100644 --- a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyRootDoc.java +++ b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyRootDoc.java @@ -43,8 +43,9 @@ public class SimpleGroovyRootDoc extends SimpleGroovyDoc implements GroovyRootDo public GroovyClassDoc classNamed(GroovyClassDoc groovyClassDoc, String name) { // look for full match or match excluding package - for (String key : classDocs.keySet()) { - if (key.equals(name)) return classDocs.get(key); + for (Map.Entry<String, GroovyClassDoc> entry : classDocs.entrySet()) { + String key = entry.getKey(); + if (key.equals(name)) return entry.getValue(); int lastSlashIdx = key.lastIndexOf('/'); if (lastSlashIdx > 0) { String shortKey = key.substring(lastSlashIdx + 1); @@ -54,7 +55,7 @@ public class SimpleGroovyRootDoc extends SimpleGroovyDoc implements GroovyRootDo if (hasPackage) fullPathName = fullPathName.substring(0, fullPathName.lastIndexOf('/')); if (shortKey.equals(name) && (!hasPackage || key.startsWith(fullPathName))) { - return classDocs.get(key); + return entry.getValue(); } } } @@ -62,8 +63,9 @@ public class SimpleGroovyRootDoc extends SimpleGroovyDoc implements GroovyRootDo } public GroovyClassDoc classNamedExact(String name) { - for (String key : classDocs.keySet()) { - if (key.equals(name)) return classDocs.get(key); + for (Map.Entry<String, GroovyClassDoc> entry : classDocs.entrySet()) { + String key = entry.getKey(); + if (key.equals(name)) return entry.getValue(); } return null; } @@ -120,11 +122,12 @@ public class SimpleGroovyRootDoc extends SimpleGroovyDoc implements GroovyRootDo public Map<String, GroovyClassDoc> getVisibleClasses(List importedClassesAndPackages) { Map<String, GroovyClassDoc> visibleClasses = new LinkedHashMap<String, GroovyClassDoc>(); - for (String fullClassName : classDocs.keySet()) { + for (Map.Entry<String, GroovyClassDoc> entry : classDocs.entrySet()) { + String fullClassName = entry.getKey(); String equivalentPackageImport = fullClassName.replaceAll("[^/]+$", "*"); if (importedClassesAndPackages.contains(fullClassName) || importedClassesAndPackages.contains(equivalentPackageImport)) { - GroovyClassDoc classDoc = classDocs.get(fullClassName); + GroovyClassDoc classDoc = entry.getValue(); visibleClasses.put(classDoc.name(), classDoc); } } http://git-wip-us.apache.org/repos/asf/groovy/blob/a7825997/subprojects/groovy-xml/src/main/java/groovy/xml/streamingmarkupsupport/Builder.java ---------------------------------------------------------------------- diff --git a/subprojects/groovy-xml/src/main/java/groovy/xml/streamingmarkupsupport/Builder.java b/subprojects/groovy-xml/src/main/java/groovy/xml/streamingmarkupsupport/Builder.java index 9b1c39d..a48ac7a 100644 --- a/subprojects/groovy-xml/src/main/java/groovy/xml/streamingmarkupsupport/Builder.java +++ b/subprojects/groovy-xml/src/main/java/groovy/xml/streamingmarkupsupport/Builder.java @@ -30,14 +30,13 @@ public abstract class Builder extends GroovyObjectSupport { protected final Map namespaceMethodMap = new HashMap(); public Builder(final Map namespaceMethodMap) { - final Iterator keyIterator = namespaceMethodMap.keySet().iterator(); - - while (keyIterator.hasNext()) { - final Object key = keyIterator.next(); - final List value = (List)namespaceMethodMap.get(key); - final Closure dg = ((Closure)value.get(1)).asWritable(); - - this.namespaceMethodMap.put(key, new Object[]{value.get(0), dg, fettleMethodMap(dg, (Map)value.get(2))}); + for (Object e : namespaceMethodMap.entrySet()) { + Map.Entry entry = (Map.Entry) e; + final Object key = entry.getKey(); + final List value = (List) entry.getValue(); + final Closure dg = ((Closure) value.get(1)).asWritable(); + + this.namespaceMethodMap.put(key, new Object[] { value.get(0), dg, fettleMethodMap(dg, (Map) value.get(2)) }); } }
