aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-10-28 23:21:10 +0100
committerMichael Williamson <mike@zwobble.org>2023-10-28 23:21:10 +0100
commit052177994ca489078cf6057064ea2a97b35fe5d1 (patch)
treea5e2d464a0ee9d6a749cfa835ac0539ac39f8920 /src/test/java
parentdcfcdb2b408f05ab6b5d5ca8713c10af4ff80495 (diff)
Introduce TypedFunctionBodyNode
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/org/shedlang/compiler/ast/typed/TypedFunctionDefinitionNodeMatcher.java6
-rw-r--r--src/test/java/org/shedlang/compiler/typechecker/TypeCheckerFunctionDefinitionTests.java12
-rw-r--r--src/test/java/org/shedlang/compiler/typechecker/TypeCheckerImportTests.java2
-rw-r--r--src/test/java/org/shedlang/compiler/typechecker/TypeCheckerNamespaceTests.java2
-rw-r--r--src/test/java/org/shedlang/compiler/typechecker/TypeCheckerValTests.java2
-rw-r--r--src/test/java/org/shedlang/compiler/typechecker/TypeCheckerVarTests.java2
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))
)))