diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-06-10 12:00:08 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-06-10 12:00:08 +0100 |
| commit | d2769fe60d264607f2e1c338657dc7e4d4bfba52 (patch) | |
| tree | 787d0041a3f11e8c1ed72dfc6e5ef9a0fca93e1f /src/main/java | |
| parent | 3b620b72664afaa5168bfdb2ce763555a7bfbd20 (diff) | |
Type check expression statements
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java b/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java index 11f902b1..f707dac0 100644 --- a/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java +++ b/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java @@ -138,6 +138,26 @@ public class TypeChecker { }; } + private static TypedFunctionStatementNode typeCheckExpressionStatement( + UntypedExpressionStatementNode untyped, + TypeCheckerContext context + ) { + return new TypedExpressionStatementNode( + typeCheckExpression(untyped.expression(), context), + untyped.source() + ); + } + + public static TypedFunctionStatementNode typeCheckFunctionStatement( + UntypedExpressionStatementNode untyped, + TypeCheckerContext context + ) { + return switch (untyped) { + case UntypedExpressionStatementNode expressionStatement -> + typeCheckExpressionStatement(expressionStatement, context); + }; + } + private static TypedExpressionNode typeCheckIntLiteral( UntypedIntLiteralNode untyped ) { |
