diff --git a/src/main/java/com/ardublock/translator/Translator.java b/src/main/java/com/ardublock/translator/Translator.java index 826084766bcfb900590355f17f92033420e2242b..4f67e896f801d77a32516109dd60fda9eaf8acba 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 dca5ce6e75b99a4faa84410efecf9d1324f3b3cb..7a7aafcf7405ca19ec63a60a693f04240a0950a9 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 34b373344ef9effb81b38f2545230a46529cca3b..efbe2f9826077ca4332410c24cf35f28ea075b72 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 0fc4733005f30e2712bd9dd5a30d2a0d0acd70c2..2a9e01063d13b461ed7c0039fb80b19fa1f21e20 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()); }