On Fri, Mar 30, 2018 at 4:31 AM, mandy chung <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());
                 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))

Reply via email to