From 0a46e9050deaa22fa2b59636b0caa2d2d4bc057e Mon Sep 17 00:00:00 2001 From: Astrash Date: Tue, 12 Sep 2023 09:53:18 +1000 Subject: [PATCH] Simplify some logic --- .../java/com/dfsek/terra/addons/terrascript/Type.java | 1 + .../codegen/asm/TerraScriptClassGenerator.java | 10 +++------- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/Type.java b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/Type.java index 6bd704d5b..d937afe33 100644 --- a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/Type.java +++ b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/Type.java @@ -4,6 +4,7 @@ import java.util.Optional; // TODO - Make not enum +// TODO - Add integer type public enum Type { NUMBER, STRING, diff --git a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/codegen/asm/TerraScriptClassGenerator.java b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/codegen/asm/TerraScriptClassGenerator.java index 43ccb5abd..ce962ea74 100644 --- a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/codegen/asm/TerraScriptClassGenerator.java +++ b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/codegen/asm/TerraScriptClassGenerator.java @@ -504,8 +504,7 @@ public class TerraScriptClassGenerator { jumpIf(INTEGERS_NOT_EQUAL, exit); } else if (binaryOperandsSameType(Type.NUMBER, binaryCondition)) { // Operands assumed doubles - pushBinaryOperands(binaryCondition); - method.visitInsn(Opcodes.DCMPG); + binaryInsn(binaryCondition, Opcodes.DCMPG); jumpIf(CMP_NOT_EQUALS, exit); } else if (binaryOperandsSameType(Type.STRING, binaryCondition)) { @@ -520,8 +519,7 @@ public class TerraScriptClassGenerator { jumpIf(INTEGERS_EQUAL, exit); } else if (binaryOperandsSameType(Type.NUMBER, binaryCondition)) { // Operands assumed doubles - pushBinaryOperands(binaryCondition); - method.visitInsn(Opcodes.DCMPG); + binaryInsn(binaryCondition, Opcodes.DCMPG); jumpIf(CMP_EQUALS, exit); } else if (binaryOperandsSameType(Type.STRING, binaryCondition)) { // Operands assumed references @@ -533,9 +531,7 @@ public class TerraScriptClassGenerator { } case GREATER, GREATER_EQUALS, LESS, LESS_EQUALS -> { // Left and right assumed double - pushBinaryOperands(binaryCondition); - - method.visitInsn(switch(binaryCondition.operator) { + binaryInsn(binaryCondition, switch(binaryCondition.operator) { case GREATER, GREATER_EQUALS -> Opcodes.DCMPL; case LESS, LESS_EQUALS -> Opcodes.DCMPG; default -> throw new IllegalStateException();