diff options
| author | Michael Williamson <mike@zwobble.org> | 2025-02-02 20:02:14 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2025-02-02 20:13:20 +0000 |
| commit | 1814bc450fa6806c3bbc9468dbe56865c7f3c3a4 (patch) | |
| tree | 10241f47903396316b44d94c6f9779682aab3f9f /src/main/java | |
| parent | f15ca7f8355f007dee1df45e99725c0ce1f0480b (diff) | |
Type check int multiplication
Diffstat (limited to 'src/main/java')
3 files changed, 5 insertions, 1 deletions
diff --git a/src/main/java/org/shedlang/compiler/ast/typed/TypedBinaryOperator.java b/src/main/java/org/shedlang/compiler/ast/typed/TypedBinaryOperator.java index 1a53d9c5..d09b9bf9 100644 --- a/src/main/java/org/shedlang/compiler/ast/typed/TypedBinaryOperator.java +++ b/src/main/java/org/shedlang/compiler/ast/typed/TypedBinaryOperator.java @@ -10,7 +10,7 @@ public enum TypedBinaryOperator { INT_GREATER_THAN_OR_EQUAL(Types.BOOL), INT_LESS_THAN(Types.BOOL), INT_LESS_THAN_OR_EQUAL(Types.BOOL), - INT_MULTIPLY(Types.BOOL), + INT_MULTIPLY(Types.INT), INT_NOT_EQUAL(Types.BOOL), INT_SUB(Types.INT), STRING_ADD(Types.STRING); diff --git a/src/main/java/org/shedlang/compiler/ast/untyped/UntypedBinaryOperator.java b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedBinaryOperator.java index aa14bcba..003824c4 100644 --- a/src/main/java/org/shedlang/compiler/ast/untyped/UntypedBinaryOperator.java +++ b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedBinaryOperator.java @@ -7,6 +7,7 @@ public enum UntypedBinaryOperator { GREATER_THAN_OR_EQUAL, LESS_THAN, LESS_THAN_OR_EQUAL, + MULTIPLY, NOT_EQUAL, SUB } diff --git a/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java b/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java index d4b52aa4..98fe892e 100644 --- a/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java +++ b/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java @@ -250,6 +250,9 @@ public class TypeChecker { case LESS_THAN_OR_EQUAL -> TypedBinaryOperator.INT_LESS_THAN_OR_EQUAL; + case MULTIPLY -> + TypedBinaryOperator.INT_MULTIPLY; + case NOT_EQUAL -> TypedBinaryOperator.INT_NOT_EQUAL; |
