From 1814bc450fa6806c3bbc9468dbe56865c7f3c3a4 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 2 Feb 2025 20:02:14 +0000 Subject: Type check int multiplication --- src/main/java/org/shedlang/compiler/ast/typed/TypedBinaryOperator.java | 2 +- .../java/org/shedlang/compiler/ast/untyped/UntypedBinaryOperator.java | 1 + src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java | 3 +++ 3 files changed, 5 insertions(+), 1 deletion(-) (limited to 'src/main/java') 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; -- cgit v1.2.3