summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriter.java3
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaBinaryOperator.java3
-rw-r--r--src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriterTests.java13
3 files changed, 18 insertions, 1 deletions
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriter.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriter.java
index d580f14..54b4c12 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriter.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriter.java
@@ -732,6 +732,7 @@ public class JavaWriter implements AutoCloseable {
case BITWISE_AND -> JavaPrecedence.BITWISE_AND;
case BITWISE_OR -> JavaPrecedence.BITWISE_INCLUSIVE_OR;
case EQUAL_TO -> JavaPrecedence.EQUALITY;
+ case GREATER_THAN -> JavaPrecedence.RELATIONAL;
case LOGICAL_AND -> JavaPrecedence.LOGICAL_AND;
case LEFT_SHIFT -> JavaPrecedence.SHIFT;
case LESS_THAN -> JavaPrecedence.RELATIONAL;
@@ -769,6 +770,7 @@ public class JavaWriter implements AutoCloseable {
case BITWISE_AND -> "&";
case BITWISE_OR -> "|";
case EQUAL_TO -> "==";
+ case GREATER_THAN -> ">";
case LEFT_SHIFT -> "<<";
case LESS_THAN -> "<";
case LOGICAL_AND -> "&&";
@@ -791,6 +793,7 @@ public class JavaWriter implements AutoCloseable {
case BITWISE_AND -> true;
case BITWISE_OR -> true;
case EQUAL_TO -> true;
+ case GREATER_THAN -> true;
case LEFT_SHIFT -> true;
case LESS_THAN -> true;
case LOGICAL_AND -> true;
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaBinaryOperator.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaBinaryOperator.java
index e9c2a54..d098691 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaBinaryOperator.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaBinaryOperator.java
@@ -11,10 +11,11 @@ public enum JavaBinaryOperator {
BITWISE_AND,
BITWISE_OR,
EQUAL_TO,
- MULTIPLY,
+ GREATER_THAN,
LEFT_SHIFT,
LESS_THAN,
LOGICAL_AND,
+ MULTIPLY,
NOT_EQUAL_TO,
UNSIGNED_RIGHT_SHIFT
diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriterTests.java b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriterTests.java
index 15dbbbd..50f581e 100644
--- a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriterTests.java
+++ b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriterTests.java
@@ -1349,6 +1349,19 @@ public class JavaWriterTests {
}
@Test
+ public void binaryOperationGreaterThan() throws IOException {
+ var java = new JavaBinaryOperation(
+ JavaBinaryOperator.GREATER_THAN,
+ new JavaRef(JavaIdentifier.of("x")),
+ new JavaIntegerLiteral(42)
+ );
+
+ var string = write(writer -> writer.writeTopLevelExpression(java));
+
+ assertThat(string, equalTo("x > 42"));
+ }
+
+ @Test
public void binaryOperationLeftShift() throws IOException {
var java = JavaBinaryOperation.arbitrary()
.withOperator(JavaBinaryOperator.LEFT_SHIFT)