On 3/31/18 12:29 AM, Martin Buchholz wrote:


On Fri, Mar 30, 2018 at 4:31 AM, mandy chung <mandy.ch...@oracle.com <mailto:mandy.ch...@oracle.com>> wrote:


    For this change, I am okay with most of the changes except I
    prefer the while loop to the for-loop with the local variable
    declaration.


I prefer the idiom with the declaration in the for loop ("keep variable scope as small as possible"), but reverting:

diff --git a/src/java.base/share/classes/jdk/internal/module/ModuleHashesBuilder.java b/src/java.base/share/classes/jdk/internal/module/ModuleHashesBuilder.java --- a/src/java.base/share/classes/jdk/internal/module/ModuleHashesBuilder.java +++ b/src/java.base/share/classes/jdk/internal/module/ModuleHashesBuilder.java
@@ -77,7 +77,8 @@
         Graph.Builder<String> builder = new Graph.Builder<>();
         Deque<ResolvedModule> todo = new ArrayDeque<>(configuration.modules());
         Set<ResolvedModule> visited = new HashSet<>();
-        for (ResolvedModule rm; (rm = todo.poll()) != null; ) {
+        ResolvedModule rm;
+        while ((rm = todo.poll()) != null) {
             if (visited.add(rm)) {
                 builder.addNode(rm.name <http://rm.name>());
                 for (ResolvedModule dm : rm.reads()) {
@@ -211,7 +212,8 @@
         public Set<T> dfs(Set<T> roots) {
             ArrayDeque<T> todo = new ArrayDeque<>(roots);
             Set<T> visited = new HashSet<>();
-            for (T u; (u = todo.poll()) != null; ) {
+            T u;
+            while ((u = todo.poll()) != null) {
                 if (visited.add(u) && contains(u)) {
                     adjacentNodes(u).stream()
                         .filter(v -> !visited.contains(v))


+1

Thanks.
Mandy

Reply via email to