summaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-07-05 12:50:02 +0100
committerMichael Williamson <mike@zwobble.org>2026-07-05 12:50:02 +0100
commitde8478112ac78e9d67b3f6ca258786de559247eb (patch)
treebd2ec9e999d55faad195b9866a163254c34a24e4 /src/main/java
parentca6307a275a2ab20c2606cea9a916e22225599dd (diff)
Add equality operators to Java AST
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriter.java6
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaBinaryOperator.java2
2 files changed, 8 insertions, 0 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 04f7736..1e13863 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
@@ -53,7 +53,9 @@ public class JavaWriter implements AutoCloseable {
case ASSIGN -> "=";
case BITWISE_AND -> "&";
case BITWISE_OR -> "|";
+ case EQUAL_TO -> "==";
case LEFT_SHIFT -> "<<";
+ case NOT_EQUAL_TO -> "!=";
case UNSIGNED_RIGHT_SHIFT -> ">>>";
});
this.writer.write(" ");
@@ -69,7 +71,9 @@ public class JavaWriter implements AutoCloseable {
case ASSIGN -> false;
case BITWISE_AND -> true;
case BITWISE_OR -> true;
+ case EQUAL_TO -> true;
case LEFT_SHIFT -> true;
+ case NOT_EQUAL_TO -> true;
case UNSIGNED_RIGHT_SHIFT -> true;
};
}
@@ -362,7 +366,9 @@ public class JavaWriter implements AutoCloseable {
case ASSIGN -> JavaPrecedence.ASSIGNMENT;
case BITWISE_AND -> JavaPrecedence.BITWISE_AND;
case BITWISE_OR -> JavaPrecedence.BITWISE_INCLUSIVE_OR;
+ case EQUAL_TO -> JavaPrecedence.EQUALITY;
case LEFT_SHIFT -> JavaPrecedence.SHIFT;
+ case NOT_EQUAL_TO -> JavaPrecedence.EQUALITY;
case UNSIGNED_RIGHT_SHIFT -> JavaPrecedence.SHIFT;
};
}
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 162fefd..a3284e6 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
@@ -9,7 +9,9 @@ public enum JavaBinaryOperator {
ASSIGN,
BITWISE_AND,
BITWISE_OR,
+ EQUAL_TO,
LEFT_SHIFT,
+ NOT_EQUAL_TO,
UNSIGNED_RIGHT_SHIFT
// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaBinaryOperator body