From 2759cad35ee775aa655f06598172603797571a9e Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 21 Oct 2023 13:38:30 +0100 Subject: Add imports as bound variables --- .../shedlang/compiler/ast/typed/TypedNamespaceNodeMatcher.java | 8 ++++++++ .../compiler/typechecker/TypeCheckerNamespaceTests.java | 10 ++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) (limited to 'src/test/java') diff --git a/src/test/java/org/shedlang/compiler/ast/typed/TypedNamespaceNodeMatcher.java b/src/test/java/org/shedlang/compiler/ast/typed/TypedNamespaceNodeMatcher.java index f8ee5c8e..fbe4a0f9 100644 --- a/src/test/java/org/shedlang/compiler/ast/typed/TypedNamespaceNodeMatcher.java +++ b/src/test/java/org/shedlang/compiler/ast/typed/TypedNamespaceNodeMatcher.java @@ -49,4 +49,12 @@ public class TypedNamespaceNodeMatcher implements Matcher { submatchers.plus(has("body", x -> x.body(), body)) ); } + + public Matcher withBoundVariableNames( + Matcher> boundVariableNames + ) { + return new TypedNamespaceNodeMatcher( + submatchers.plus(has("boundVariableNames", x -> x.boundVariableNames(), boundVariableNames)) + ); + } } diff --git a/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerNamespaceTests.java b/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerNamespaceTests.java index a0fdd837..bddd7ba6 100644 --- a/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerNamespaceTests.java +++ b/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerNamespaceTests.java @@ -46,10 +46,12 @@ public class TypeCheckerNamespaceTests { assertThat( result.value(), - isTypedNamespaceNode().withImports(isSequence( - isTypedImportNode(NamespaceName.of("A")), - isTypedImportNode(NamespaceName.of("B")) - )) + isTypedNamespaceNode() + .withImports(isSequence( + isTypedImportNode(NamespaceName.of("A")), + isTypedImportNode(NamespaceName.of("B")) + )) + .withBoundVariableNames(isSequence(equalTo("A"), equalTo("B"))) ); } -- cgit v1.2.3