diff options
| author | Michael Williamson <mike@zwobble.org> | 2026-11-01 21:16:49 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2026-11-01 21:16:49 +0000 |
| commit | 1390becc9814e78f94fa01299b1b04acadfbfe46 (patch) | |
| tree | 9e8b1818b3e3a4e60a38026d994e30c4a9a7680e /src/main/java | |
| parent | c5fd3e34f18f0773d1283fc5ed06fb289053e162 (diff) | |
Check handling of non-type-level values
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/org/zwobble/hobgoblin/compiler/typechecker/TypeChecker.java | 2 | ||||
| -rw-r--r-- | src/main/java/org/zwobble/hobgoblin/compiler/types/TypeSet.java | 7 |
2 files changed, 8 insertions, 1 deletions
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"; + } + } } |
