From 1390becc9814e78f94fa01299b1b04acadfbfe46 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 1 Nov 2026 21:16:49 +0000 Subject: Check handling of non-type-level values --- .../org/zwobble/hobgoblin/compiler/typechecker/TypeChecker.java | 2 +- src/main/java/org/zwobble/hobgoblin/compiler/types/TypeSet.java | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'src/main/java') diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/TypeChecker.java b/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/TypeChecker.java index a7fe03f..d73c245 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/TypeChecker.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/TypeChecker.java @@ -642,7 +642,7 @@ public class TypeChecker { // TODO: handle not a type-level value if (!(type instanceof TypeLevelValueType(TypeLevelValue value))) { - throw new UnexpectedTypeError(new TypeSet.MetaType(), type, source); + throw new UnexpectedTypeError(new TypeSet.TypeLevelValue(), type, source); } return value; diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/types/TypeSet.java b/src/main/java/org/zwobble/hobgoblin/compiler/types/TypeSet.java index c3896d9..3a64b85 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/types/TypeSet.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/types/TypeSet.java @@ -23,4 +23,11 @@ public sealed interface TypeSet { return "type constructor"; } } + + record TypeLevelValue() implements TypeSet { + @Override + public String describe() { + return "type-level value"; + } + } } -- cgit v1.2.3