diff --git a/src/main/java/com/ardublock/translator/block/logic/EqualStringBlock.java b/src/main/java/com/ardublock/translator/block/logic/EqualStringBlock.java new file mode 100644 index 0000000000000000000000000000000000000000..92a90b1036ea673d39e0036d5ed4393f2e6ba3cc --- /dev/null +++ b/src/main/java/com/ardublock/translator/block/logic/EqualStringBlock.java @@ -0,0 +1,30 @@ +package com.ardublock.translator.block.logic; + +import com.ardublock.translator.Translator; +import com.ardublock.translator.block.TranslatorBlock; +import com.ardublock.translator.block.exception.SocketNullException; +import com.ardublock.translator.block.exception.SubroutineNotDeclaredException; + +import tec.letsgoing.ardublock.simulator.simcode.SimCode; +import tec.letsgoing.ardublock.simulator.simcode.datatypes.SimTypeInt; +import tec.letsgoing.ardublock.simulator.simcode.logic.CodeIntEqual; + +public class EqualStringBlock extends TranslatorBlock +{ + public EqualStringBlock(Long blockId, Translator translator, String codePrefix, String codeSuffix, String label) + { + super(blockId, translator, codePrefix, codeSuffix, label); + } + + @Override + public String toCode() throws SocketNullException, SubroutineNotDeclaredException + { + TranslatorBlock tb_str1 = this.getRequiredTranslatorBlockAtSocket(0); + TranslatorBlock tb_str2 = this.getRequiredTranslatorBlockAtSocket(1); + + String str1 = tb_str1.toCode().replaceAll("\\s*_.new\\b\\s*", ""); + String str2 = tb_str2.toCode().replaceAll("\\s*_.new\\b\\s*", ""); + + return "strcmp("+str1+", "+str2+") == 0"; + } +}