From 5b999386f081b1f7e5259e26ffd33ea85e3e7a2b Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Wed, 12 Jul 2023 20:23:23 +0100 Subject: Add incomplete type-checking for if expressions --- .../org/shedlang/compiler/ast/untyped/Untyped.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/test/java/org/shedlang/compiler/ast') diff --git a/src/test/java/org/shedlang/compiler/ast/untyped/Untyped.java b/src/test/java/org/shedlang/compiler/ast/untyped/Untyped.java index 24ca7f87..8dddfa58 100644 --- a/src/test/java/org/shedlang/compiler/ast/untyped/Untyped.java +++ b/src/test/java/org/shedlang/compiler/ast/untyped/Untyped.java @@ -22,6 +22,10 @@ public class Untyped { ); } + public static UntypedBlockNode block(List statements) { + return new UntypedBlockNode(statements, Sources.NULL); + } + public static UntypedBlockReturnNode blockReturn(UntypedExpressionNode expression) { return new UntypedBlockReturnNode(expression, Sources.NULL); } @@ -50,6 +54,13 @@ public class Untyped { ); } + public static UntypedConditionalBranchNode conditionalBranch( + UntypedExpressionNode condition, + UntypedBlockNode body + ) { + return new UntypedConditionalBranchNode(condition, body, Sources.NULL); + } + public static UntypedBinaryOperationNode equals( UntypedExpressionNode left, UntypedExpressionNode right @@ -70,6 +81,13 @@ public class Untyped { return new UntypedFunctionReturnNode(expression, Sources.NULL); } + public static UntypedIfNode if_( + List conditionalBranches, + UntypedBlockNode elseBody + ) { + return new UntypedIfNode(conditionalBranches, elseBody, Sources.NULL); + } + public static UntypedIntLiteralNode intLiteral(int value) { return new UntypedIntLiteralNode(BigInteger.valueOf(value), Sources.NULL); } -- cgit v1.2.3