From 9987488546b7c2f7deccced55085da4f961f63da Mon Sep 17 00:00:00 2001
From: Lucas Stratmann <lucas.stratmann@student.reutlingen-university.de>
Date: Wed, 11 Nov 2020 16:57:47 +0100
Subject: [PATCH] Fixed toCode function

---
 .../com/ardublock/translator/Translator.java  | 22 +++++++++++++++----
 .../numbers/SetterVariableDigitalBlock.java   |  2 +-
 .../numbers/SetterVariableNumberBlock.java    |  2 +-
 .../listener/SimulateCodeButtonListener.java  |  4 ++--
 4 files changed, 22 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/ardublock/translator/Translator.java b/src/main/java/com/ardublock/translator/Translator.java
index 8260847..4f67e89 100644
--- a/src/main/java/com/ardublock/translator/Translator.java
+++ b/src/main/java/com/ardublock/translator/Translator.java
@@ -38,6 +38,8 @@ public class Translator
 	
 	private Map<String, String> numberVariableSet;
 	private Map<String, String> booleanVariableSet;
+	private Map<String, String> numberSimSet;
+	private Map<String, String> booleanSimSet;
 	private Map<String, String> stringVariableSet;
 	private Map<String, Object> internalData;
 	private Workspace workspace;
@@ -145,15 +147,15 @@ public class Translator
 	}
 	
 	public void clearMaps() {
-		numberVariableSet.clear();
-		booleanVariableSet.clear();
+		numberSimSet.clear();
+		booleanSimSet.clear();
 	}
 	public Map<String, String> getNuberMap() {
-		return numberVariableSet;
+		return numberSimSet;
 	}
 	
 	public Map<String, String> getBooleanMap() {
-		return booleanVariableSet;
+		return booleanSimSet;
 	}
 	
 	public BlockAdaptor getBlockAdaptor()
@@ -173,6 +175,8 @@ public class Translator
 		
 		numberVariableSet = new HashMap<String, String>();
 		booleanVariableSet = new HashMap<String, String>();
+		numberSimSet = new HashMap<String, String>();
+		booleanSimSet = new HashMap<String, String>();
 		stringVariableSet = new HashMap<String, String>();
 		
 		internalData =  new HashMap<String, Object>();
@@ -259,6 +263,16 @@ public class Translator
 		booleanVariableSet.put(userVarName, internalName);
 	}
 	
+	public void addNumberSim(String userVarName, String internalName)
+	{
+		numberSimSet.put(userVarName, internalName);
+	}
+	
+	public void addBooleanSim(String userVarName, String internalName)
+	{
+		booleanSimSet.put(userVarName, internalName);
+	}
+	
 	public void addStringVariable(String userVarName, String internalName)
 	{
 		stringVariableSet.put(userVarName, internalName);
diff --git a/src/main/java/com/ardublock/translator/block/numbers/SetterVariableDigitalBlock.java b/src/main/java/com/ardublock/translator/block/numbers/SetterVariableDigitalBlock.java
index dca5ce6..7a7aafc 100644
--- a/src/main/java/com/ardublock/translator/block/numbers/SetterVariableDigitalBlock.java
+++ b/src/main/java/com/ardublock/translator/block/numbers/SetterVariableDigitalBlock.java
@@ -79,7 +79,7 @@ public class SetterVariableDigitalBlock extends TranslatorBlock
 		TranslatorBlock translatorBlock = this.getRequiredTranslatorBlockAtSocket(0);
 		SimTypeString variableName = new SimTypeString(translatorBlock.toString());
 		if (translatorBlock instanceof VariableDigitalBlock) {
-			translator.addBooleanVariable(translatorBlock.toString(), translatorBlock.toString());
+			translator.addBooleanSim(translatorBlock.toString(), translatorBlock.toString());
 		}
 		translatorBlock = this.getRequiredTranslatorBlockAtSocket(1);
 		SimTypeBool value = new SimTypeBool(translatorBlock.toSim());
diff --git a/src/main/java/com/ardublock/translator/block/numbers/SetterVariableNumberBlock.java b/src/main/java/com/ardublock/translator/block/numbers/SetterVariableNumberBlock.java
index 34b3733..efbe2f9 100644
--- a/src/main/java/com/ardublock/translator/block/numbers/SetterVariableNumberBlock.java
+++ b/src/main/java/com/ardublock/translator/block/numbers/SetterVariableNumberBlock.java
@@ -75,7 +75,7 @@ public class SetterVariableNumberBlock extends TranslatorBlock
 		TranslatorBlock translatorBlock = this.getRequiredTranslatorBlockAtSocket(0);
 		SimTypeString variableName = new SimTypeString(translatorBlock.toString());
 		if (translatorBlock instanceof VariableNumberBlock) {
-			translator.addNumberVariable(translatorBlock.toString(), translatorBlock.toString());
+			translator.addNumberSim(translatorBlock.toString(), translatorBlock.toString());
 		}
 		translatorBlock = this.getRequiredTranslatorBlockAtSocket(1);
 		SimTypeInt value = new SimTypeInt(translatorBlock.toSim());
diff --git a/src/main/java/com/ardublock/ui/listener/SimulateCodeButtonListener.java b/src/main/java/com/ardublock/ui/listener/SimulateCodeButtonListener.java
index 0fc4733..2a9e010 100644
--- a/src/main/java/com/ardublock/ui/listener/SimulateCodeButtonListener.java
+++ b/src/main/java/com/ardublock/ui/listener/SimulateCodeButtonListener.java
@@ -213,7 +213,7 @@ public class SimulateCodeButtonListener implements ActionListener
 			{
 				translator.setRootBlockName("subroutine");
 				Block subroutineBlock = renderableBlock.getBlock();
-				//code.append(translator.translate(subroutineBlock.getBlockID()));
+				code.append(translator.translate(subroutineBlock.getBlockID()));
 				translator.simulate(subroutineBlock.getBlockID());
 				//collect simcode objects here -> all SimCodeObjects inside main subroutines
 				//eg. simList.append(translator.simulate(subroutineBlock.getBlockID())); -> simList = simCodeObject-List
@@ -223,7 +223,7 @@ public class SimulateCodeButtonListener implements ActionListener
 			{
 				translator.setRootBlockName("loop");
 				Block loopBlock = renderableBlock.getBlock();
-				//code.append(translator.translate(loopBlock.getBlockID()));			
+				code.append(translator.translate(loopBlock.getBlockID()));			
 				translator.simulate(loopBlock.getBlockID());
 			}
 			
-- 
GitLab