src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/parser/Parser.java
changeset 47262 bbbf1b1e36e9
parent 47216 71c04702a3d5
child 47287 8eb5e3ccee56
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/parser/Parser.java	Mon Sep 25 20:32:44 2017 +0530
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/parser/Parser.java	Tue Sep 26 07:00:43 2017 +0530
@@ -2053,10 +2053,18 @@
             if (outer != null) {
                 restoreBlock(outer);
                 if (body != null) {
+                    List<Statement> statements = new ArrayList<>();
+                    for (final Statement var : outer.getStatements()) {
+                        if(var instanceof VarNode && !((VarNode)var).isBlockScoped()) {
+                            appendStatement(var);
+                        }else {
+                            statements.add(var);
+                        }
+                    }
                     appendStatement(new BlockStatement(forLine, new Block(
                                     outer.getToken(),
                                     body.getFinish(),
-                                    outer.getStatements())));
+                                    statements)));
                 }
             }
         }