From 122fbd841c83969b82eebccc779aeb7dcffc3079 Mon Sep 17 00:00:00 2001 From: dfsek Date: Thu, 31 Dec 2020 02:06:53 -0700 Subject: [PATCH] correct scope wackiness in for loops --- .../java/com/dfsek/terra/api/structures/parser/Parser.java | 3 ++- common/src/test/resources/test.tesf | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/common/src/main/java/com/dfsek/terra/api/structures/parser/Parser.java b/common/src/main/java/com/dfsek/terra/api/structures/parser/Parser.java index 78f9cbfea..341915b08 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/parser/Parser.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/parser/Parser.java @@ -187,7 +187,8 @@ public class Parser { } } - private ForKeyword parseForLoop(TokenHolder tokens, Map> variableMap, Position start) throws ParseException { + private ForKeyword parseForLoop(TokenHolder tokens, Map> old, Position start) throws ParseException { + Map> variableMap = new HashMap<>(old); Token f = tokens.get(); ParserUtil.checkType(f, Token.Type.NUMBER_VARIABLE, Token.Type.STRING_VARIABLE, Token.Type.BOOLEAN_VARIABLE, Token.Type.IDENTIFIER); Item initializer; diff --git a/common/src/test/resources/test.tesf b/common/src/test/resources/test.tesf index f1108abda..88090881f 100644 --- a/common/src/test/resources/test.tesf +++ b/common/src/test/resources/test.tesf @@ -22,6 +22,10 @@ for(num i = 0; i < 5; i = i + 1) { test("i = " + i, iterator); } +for(num i = 0; i < 5; i = i + 1) { + test("i = " + i, iterator); +} + for(num j = 0; j < 5; j = j + 1) test("single statement j = " + j, iterator); if(4 + 2 == 2 + 4) {