From 7c5489a16401738969f87bd1a5d89d0e1e736f99 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Fri, 17 Jan 2025 22:42:19 +0000 Subject: Include namespace name in ShidDeclareNativeFunction --- .../shid/ShidCodeGenNativeFunctionDeclarationTests.java | 10 ++++++++++ .../java/org/shedlang/compiler/shid/ShidSerializerTests.java | 2 ++ 2 files changed, 12 insertions(+) (limited to 'src/test/java') diff --git a/src/test/java/org/shedlang/compiler/shid/ShidCodeGenNativeFunctionDeclarationTests.java b/src/test/java/org/shedlang/compiler/shid/ShidCodeGenNativeFunctionDeclarationTests.java index 90304a57..b47a9464 100644 --- a/src/test/java/org/shedlang/compiler/shid/ShidCodeGenNativeFunctionDeclarationTests.java +++ b/src/test/java/org/shedlang/compiler/shid/ShidCodeGenNativeFunctionDeclarationTests.java @@ -3,6 +3,10 @@ package org.shedlang.compiler.shid; import org.junit.jupiter.api.Test; import org.shedlang.compiler.ast.typed.TypedNativeFunctionDeclarationNode; import org.shedlang.compiler.shid.instructions.ShidDeclareNativeFunction; +import org.shedlang.compiler.sources.Sources; +import org.shedlang.compiler.types.NamespaceName; + +import java.util.List; import static org.shedlang.compiler.shid.instructions.ShidMatchers.isShidLocalStore; import static org.zwobble.precisely.AssertThat.assertThat; @@ -15,6 +19,11 @@ public class ShidCodeGenNativeFunctionDeclarationTests { .withName("f") .build(); var context = ShidCodeGen.Context.EMPTY + .enterBlock( + NamespaceName.of("Example", "Project"), + List.of(), + Sources.NULL + ) .addShedVal("f"); var result = ShidCodeGen.compileNamespaceStatement(node, context); @@ -22,6 +31,7 @@ public class ShidCodeGenNativeFunctionDeclarationTests { assertThat(result.instructions(), isSequence( instanceOf( ShidDeclareNativeFunction.class, + has("namespaceName", x -> x.namespaceName(), equalTo(NamespaceName.of("Example", "Project"))), has("name", x -> x.name(), equalTo("f")) ), isShidLocalStore("f__0") diff --git a/src/test/java/org/shedlang/compiler/shid/ShidSerializerTests.java b/src/test/java/org/shedlang/compiler/shid/ShidSerializerTests.java index aebb2f1b..ec448200 100644 --- a/src/test/java/org/shedlang/compiler/shid/ShidSerializerTests.java +++ b/src/test/java/org/shedlang/compiler/shid/ShidSerializerTests.java @@ -45,6 +45,7 @@ public class ShidSerializerTests { @Test public void canSerializeDeclareNativeFunction() { var instruction = ShidDeclareNativeFunction.builder() + .withNamespaceName(NamespaceName.of("Example", "Project")) .withName("f") .build(); @@ -53,6 +54,7 @@ public class ShidSerializerTests { assertThat(string, equalTo(""" ( declare-native-function + namespace-name="Example/Project" name="f" )""")); } -- cgit v1.2.3