--- 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)));
}
}
}