diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-10-28 23:21:10 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-10-28 23:21:10 +0100 |
| commit | 052177994ca489078cf6057064ea2a97b35fe5d1 (patch) | |
| tree | a5e2d464a0ee9d6a749cfa835ac0539ac39f8920 /src/test/java | |
| parent | dcfcdb2b408f05ab6b5d5ca8713c10af4ff80495 (diff) | |
Introduce TypedFunctionBodyNode
Diffstat (limited to 'src/test/java')
6 files changed, 13 insertions, 13 deletions
diff --git a/src/test/java/org/shedlang/compiler/ast/typed/TypedFunctionDefinitionNodeMatcher.java b/src/test/java/org/shedlang/compiler/ast/typed/TypedFunctionDefinitionNodeMatcher.java index 92e0c8e1..06963d8d 100644 --- a/src/test/java/org/shedlang/compiler/ast/typed/TypedFunctionDefinitionNodeMatcher.java +++ b/src/test/java/org/shedlang/compiler/ast/typed/TypedFunctionDefinitionNodeMatcher.java @@ -30,8 +30,8 @@ public class TypedFunctionDefinitionNodeMatcher extends MatcherBuilder<TypedName return new TypedFunctionDefinitionNodeMatcher(submatchers); } - public TypedFunctionDefinitionNodeMatcher withBody(Matcher<TypedBlockNode> body) { - return with(has("body", x -> x.body(), body)); + public TypedFunctionDefinitionNodeMatcher withBodyBlock(Matcher<TypedBlockNode> body) { + return with(has("body", x -> x.body().block(), body)); } public TypedFunctionDefinitionNodeMatcher withEffect(Matcher<Optional<? extends TypedTypeLevelExpressionNode<?>>> effect) { @@ -39,7 +39,7 @@ public class TypedFunctionDefinitionNodeMatcher extends MatcherBuilder<TypedName } public TypedFunctionDefinitionNodeMatcher withFreeVariables(Matcher<Iterable<FreeVariable>> freeVariables) { - return with(has("freeVariables", x -> x.freeVariables(), freeVariables)); + return with(has("freeVariables", x -> x.body().freeVariables(), freeVariables)); } public TypedFunctionDefinitionNodeMatcher withName(String name) { diff --git a/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerFunctionDefinitionTests.java b/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerFunctionDefinitionTests.java index 12213ba9..eaa7f007 100644 --- a/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerFunctionDefinitionTests.java +++ b/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerFunctionDefinitionTests.java @@ -40,7 +40,7 @@ public class TypeCheckerFunctionDefinitionTests { .withParams(isTypedParamsNode(isSequence(), isSequence())) .withEffect(isOptionalEmpty()) .withReturnType(isTypedTypeLevelReferenceNode("Unit", Types.UNIT)) - .withBody(isTypedBlockNode(isSequence())) + .withBodyBlock(isTypedBlockNode(isSequence())) .withType(new FunctionType(List.of(), List.of(), Effects.NONE, Types.UNIT)) ); } @@ -82,7 +82,7 @@ public class TypeCheckerFunctionDefinitionTests { assertThat( typed.value(), isTypedFunctionDefinitionNode() - .withBody(isTypedBlockNode(isSequence( + .withBodyBlock(isTypedBlockNode(isSequence( isTypedExpressionStatementNode(isTypedStringLiteralNode("hello")) ))) ); @@ -106,7 +106,7 @@ public class TypeCheckerFunctionDefinitionTests { assertThat( typed.value(), isTypedFunctionDefinitionNode() - .withBody(isTypedBlockNode(isSequence( + .withBodyBlock(isTypedBlockNode(isSequence( isTypedExpressionStatementNode(isTypedReferenceNode("x", Types.STRING)) ))) ); @@ -130,7 +130,7 @@ public class TypeCheckerFunctionDefinitionTests { assertThat( typed.value(), isTypedFunctionDefinitionNode() - .withBody(isTypedBlockNode(isSequence( + .withBodyBlock(isTypedBlockNode(isSequence( isTypedExpressionStatementNode(isTypedReferenceNode("x", Types.STRING)) ))) ); @@ -165,7 +165,7 @@ public class TypeCheckerFunctionDefinitionTests { assertThat( typed.value(), isTypedFunctionDefinitionNode() - .withBody(isTypedBlockNode(isSequence( + .withBodyBlock(isTypedBlockNode(isSequence( isTypedExpressionStatementNode(isTypedCallNode().withHasEffects(true)) ))) ); @@ -347,7 +347,7 @@ public class TypeCheckerFunctionDefinitionTests { assertThat( typed.value(), isTypedFunctionDefinitionNode() - .withBody(isTypedBlockNodeWithBoundVariableNames(containsExactly( + .withBodyBlock(isTypedBlockNodeWithBoundVariableNames(containsExactly( equalTo("argPositional"), equalTo("argNamed"), equalTo("local1") diff --git a/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerImportTests.java b/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerImportTests.java index 23c04a25..260c14a5 100644 --- a/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerImportTests.java +++ b/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerImportTests.java @@ -36,7 +36,7 @@ public class TypeCheckerImportTests { result.value(), isTypedNamespaceNode().withBody(isSequence( isTypedFunctionDefinitionNode() - .withBody(isTypedBlockNode(isSequence( + .withBodyBlock(isTypedBlockNode(isSequence( isTypedExpressionStatementNode( isTypedReferenceNode("Imported", Types.namespace(importedNamespaceName)) ) diff --git a/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerNamespaceTests.java b/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerNamespaceTests.java index 85515dad..77a4432b 100644 --- a/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerNamespaceTests.java +++ b/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerNamespaceTests.java @@ -444,7 +444,7 @@ public class TypeCheckerNamespaceTests { isTypedNamespaceNode() .withBody(isSequence( isTypedFunctionDefinitionNode() - .withBody(isTypedBlockNode(isSequence( + .withBodyBlock(isTypedBlockNode(isSequence( isTypedExpressionStatementNode(isTypedExpressionNode(Types.STRING)) ))), isTypedStructDefinitionNode() diff --git a/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerValTests.java b/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerValTests.java index 7ff435a2..d8c98535 100644 --- a/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerValTests.java +++ b/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerValTests.java @@ -61,7 +61,7 @@ public class TypeCheckerValTests { assertThat( typed.value(), isTypedFunctionDefinitionNode() - .withBody(isTypedBlockNode(isSequence( + .withBodyBlock(isTypedBlockNode(isSequence( isTypedAssignNode(anything(), anything()), isTypedExpressionStatementNode(isTypedReferenceNode("x", Types.STRING)) ))) diff --git a/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerVarTests.java b/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerVarTests.java index 53e2e65f..5efdd2c5 100644 --- a/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerVarTests.java +++ b/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerVarTests.java @@ -46,7 +46,7 @@ public class TypeCheckerVarTests { assertThat( typed.value(), isTypedFunctionDefinitionNode() - .withBody(isTypedBlockNode(isSequence( + .withBodyBlock(isTypedBlockNode(isSequence( isTypedAssignNode(anything(), anything()), isTypedExpressionStatementNode(isTypedReferenceNode("x", Types.STRING)) ))) |
