diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-12-29 11:41:14 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-12-29 11:41:14 +0000 |
| commit | c98a8de3d9cd79b37e8c69a668ebbf2a633423f3 (patch) | |
| tree | 59f2fe38cd3146cb3d733b865d1bef40afac9814 /src/test/java | |
| parent | 06fc58bacedc66aa5e142fec7df576e41ecab388 (diff) | |
Store SumVariant in TypedWhenCaseNode
Diffstat (limited to 'src/test/java')
4 files changed, 9 insertions, 8 deletions
diff --git a/src/test/java/org/shedlang/compiler/ast/typed/Typed.java b/src/test/java/org/shedlang/compiler/ast/typed/Typed.java index 6ef8df43..b501007e 100644 --- a/src/test/java/org/shedlang/compiler/ast/typed/Typed.java +++ b/src/test/java/org/shedlang/compiler/ast/typed/Typed.java @@ -296,7 +296,7 @@ public class Typed { } public static TypedWhenCaseNode whenCase( - TypedTypeLevelExpressionNode<StructType> caseType, + SumVariant caseType, TypedBlockNode body ) { return new TypedWhenCaseNode(caseType, body, Sources.NULL); diff --git a/src/test/java/org/shedlang/compiler/ast/typed/TypedNodeMatchers.java b/src/test/java/org/shedlang/compiler/ast/typed/TypedNodeMatchers.java index 52813dd4..f01c82c1 100644 --- a/src/test/java/org/shedlang/compiler/ast/typed/TypedNodeMatchers.java +++ b/src/test/java/org/shedlang/compiler/ast/typed/TypedNodeMatchers.java @@ -421,7 +421,7 @@ public class TypedNodeMatchers { } public static Matcher<TypedWhenCaseNode> isTypedWhenCaseNode( - Matcher<TypedTypeLevelExpressionNode<?>> caseType, + Matcher<SumVariant> caseType, Matcher<TypedBlockNode> body ) { return allOf( diff --git a/src/test/java/org/shedlang/compiler/shid/ShidCodeGenWhenTests.java b/src/test/java/org/shedlang/compiler/shid/ShidCodeGenWhenTests.java index b7529685..e9c243f6 100644 --- a/src/test/java/org/shedlang/compiler/shid/ShidCodeGenWhenTests.java +++ b/src/test/java/org/shedlang/compiler/shid/ShidCodeGenWhenTests.java @@ -3,6 +3,7 @@ package org.shedlang.compiler.shid; import org.junit.jupiter.api.Test; import org.shedlang.compiler.ast.typed.Typed; import org.shedlang.compiler.types.NamespaceName; +import org.shedlang.compiler.types.SumVariant; import org.shedlang.compiler.types.Types; import java.util.List; @@ -20,13 +21,13 @@ public class ShidCodeGenWhenTests { Typed.reference("x"), List.of( Typed.whenCase( - Typed.typeLevelReference("A", Types.struct(NAMESPACE_NAME, "A")), + SumVariant.struct(Types.struct(NAMESPACE_NAME, "A")), Typed.block(List.of( Typed.blockReturn(Typed.stringLiteral("a")) )) ), Typed.whenCase( - Typed.typeLevelReference("B", Types.struct(NAMESPACE_NAME, "B")), + SumVariant.struct(Types.struct(NAMESPACE_NAME, "B")), Typed.block(List.of( Typed.blockReturn(Typed.stringLiteral("b")) )) diff --git a/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerWhenTests.java b/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerWhenTests.java index a3fc4bab..d0ea43cb 100644 --- a/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerWhenTests.java +++ b/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerWhenTests.java @@ -185,13 +185,13 @@ public class TypeCheckerWhenTests { isTypedReferenceNode("x", SUM_TYPE), isSequence( isTypedWhenCaseNode( - isTypedTypeLevelReferenceNode("Variant1", VARIANT_TYPE_1), + equalTo(SumVariant.struct(VARIANT_TYPE_1)), isTypedBlockNode(isSequence( isTypedBlockReturnNode(isTypedStringLiteralNode("a")) )) ), isTypedWhenCaseNode( - isTypedTypeLevelReferenceNode("Variant2", VARIANT_TYPE_2), + equalTo(SumVariant.struct(VARIANT_TYPE_2)), isTypedBlockNode(isSequence( isTypedBlockReturnNode(isTypedStringLiteralNode("b")) )) @@ -324,11 +324,11 @@ public class TypeCheckerWhenTests { isTypedReferenceNode("x", SUM_TYPE), isSequence( isTypedWhenCaseNode( - isTypedTypeLevelReferenceNode("Variant1", VARIANT_TYPE_1), + equalTo(SumVariant.struct(VARIANT_TYPE_1)), has("type", x -> x.type(), equalTo(Types.STRING)) ), isTypedWhenCaseNode( - isTypedTypeLevelReferenceNode("Variant2", VARIANT_TYPE_2), + equalTo(SumVariant.struct(VARIANT_TYPE_2)), has("type", x -> x.type(), equalTo(Types.INT)) ) ) |
