aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2025-03-02 19:35:03 +0000
committerMichael Williamson <mike@zwobble.org>2025-03-02 19:35:03 +0000
commitc865c64502aa92a6eb501c3fc8993d212cb944ee (patch)
tree96b0373c52e3adb19a68b84f2bf986e10f7bc6be /src/test/java
parentec9845967d37ad678249e9857e253af4c04e8e4e (diff)
Store native type info with methods
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/org/shedlang/compiler/typechecker/TypeCheckerNativeTypeDeclarationTests.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerNativeTypeDeclarationTests.java b/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerNativeTypeDeclarationTests.java
index 938b6075..a02262a4 100644
--- a/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerNativeTypeDeclarationTests.java
+++ b/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerNativeTypeDeclarationTests.java
@@ -6,6 +6,7 @@ import org.shedlang.compiler.ast.untyped.UntypedNativeFunctionDeclarationNode;
import org.shedlang.compiler.ast.untyped.UntypedNativeTypeDeclarationNode;
import org.shedlang.compiler.typechecker.errors.CannotDefineNativeTypeOutsideOfNamespaceError;
import org.shedlang.compiler.types.FunctionType;
+import org.shedlang.compiler.types.MethodInfo;
import org.shedlang.compiler.types.NamespaceName;
import org.shedlang.compiler.types.Types;
import org.shedlang.compiler.util.P;
@@ -156,5 +157,19 @@ public class TypeCheckerNativeTypeDeclarationTests {
)
))
);
+ var nativeTypeInfo = typed.context().toTypeInfos()
+ .nativeTypeInfo(Types.nativeType(NAMESPACE_NAME, "ExampleType"))
+ .orElseThrow();
+ assertThat(
+ nativeTypeInfo,
+ has("methods", x -> x.methods(), isSequence(
+ equalTo(new MethodInfo(
+ "a",
+ FunctionType.builder()
+ .withReturnType(Types.UNIT)
+ .build()
+ ))
+ ))
+ );
}
}