diff options
| author | Michael Williamson <mike@zwobble.org> | 2025-03-02 19:35:03 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2025-03-02 19:35:03 +0000 |
| commit | c865c64502aa92a6eb501c3fc8993d212cb944ee (patch) | |
| tree | 96b0373c52e3adb19a68b84f2bf986e10f7bc6be /src/test/java | |
| parent | ec9845967d37ad678249e9857e253af4c04e8e4e (diff) | |
Store native type info with methods
Diffstat (limited to 'src/test/java')
| -rw-r--r-- | src/test/java/org/shedlang/compiler/typechecker/TypeCheckerNativeTypeDeclarationTests.java | 15 |
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() + )) + )) + ); } } |
