summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-07-24 20:15:07 +0100
committerMichael Williamson <mike@zwobble.org>2026-07-24 20:15:07 +0100
commitcfc081d9ae035f876f7f8e836ebf0811ec338c6b (patch)
treedf88fa411b67b1126449129f8733e6b88647701c /src
parentfeb676e39415b89578a7095775f8770f71972f59 (diff)
Create separate errors package for type checker
Diffstat (limited to 'src')
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/HobgoblinCompiler.java2
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/typechecker/NamespaceNameResolution.java1
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/typechecker/TypeChecker.java1
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerNamespaceContext.java1
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/typechecker/errors/DuplicateVariableNameError.java (renamed from src/main/java/org/zwobble/hobgoblin/compiler/typechecker/DuplicateVariableNameError.java)2
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/typechecker/errors/RootNamespaceHasNoParentError.java (renamed from src/main/java/org/zwobble/hobgoblin/compiler/typechecker/RootNamespaceHasNoParentError.java)2
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/typechecker/errors/SubtypeIsMissingFieldError.java (renamed from src/main/java/org/zwobble/hobgoblin/compiler/typechecker/SubtypeIsMissingFieldError.java)2
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/typechecker/errors/UndeclaredVariableError.java (renamed from src/main/java/org/zwobble/hobgoblin/compiler/typechecker/UndeclaredVariableError.java)2
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/typechecker/errors/UndefinedVariableError.java (renamed from src/main/java/org/zwobble/hobgoblin/compiler/typechecker/UndefinedVariableError.java)2
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/typechecker/errors/UnexpectedTypeError.java (renamed from src/main/java/org/zwobble/hobgoblin/compiler/typechecker/UnexpectedTypeError.java)2
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/typechecker/errors/UnknownNamespaceError.java (renamed from src/main/java/org/zwobble/hobgoblin/compiler/typechecker/UnknownNamespaceError.java)2
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/typechecker/errors/UnknownNamespaceFieldError.java (renamed from src/main/java/org/zwobble/hobgoblin/compiler/typechecker/UnknownNamespaceFieldError.java)2
-rw-r--r--src/test/java/org/zwobble/hobgoblin/compiler/typechecker/NamespaceNameResolutionTests.java4
-rw-r--r--src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerMetaTypeTests.java1
-rw-r--r--src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerNamespaceContextTests.java1
-rw-r--r--src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerNamespaceTests.java2
-rw-r--r--src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerSumDefinitionTests.java2
-rw-r--r--src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerTypeLevelReferenceTests.java2
18 files changed, 23 insertions, 10 deletions
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/HobgoblinCompiler.java b/src/main/java/org/zwobble/hobgoblin/compiler/HobgoblinCompiler.java
index d5bbf56..6c3a494 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/HobgoblinCompiler.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/HobgoblinCompiler.java
@@ -7,7 +7,7 @@ import org.zwobble.hobgoblin.compiler.config.ProjectConfig;
import org.zwobble.hobgoblin.compiler.parser.Parser;
import org.zwobble.hobgoblin.compiler.typechecker.TypeChecker;
import org.zwobble.hobgoblin.compiler.typechecker.TypeCheckerGlobalContext;
-import org.zwobble.hobgoblin.compiler.typechecker.UnknownNamespaceError;
+import org.zwobble.hobgoblin.compiler.typechecker.errors.UnknownNamespaceError;
import org.zwobble.hobgoblin.compiler.types.NamespaceName;
import org.zwobble.sourcetext.SourceText;
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/NamespaceNameResolution.java b/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/NamespaceNameResolution.java
index e72e310..69d7abc 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/NamespaceNameResolution.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/NamespaceNameResolution.java
@@ -1,6 +1,7 @@
package org.zwobble.hobgoblin.compiler.typechecker;
import org.zwobble.hobgoblin.compiler.sources.Source;
+import org.zwobble.hobgoblin.compiler.typechecker.errors.RootNamespaceHasNoParentError;
import org.zwobble.hobgoblin.compiler.types.NamespaceName;
import java.util.ArrayList;
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 793e1f6..d55c490 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/TypeChecker.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/TypeChecker.java
@@ -3,6 +3,7 @@ package org.zwobble.hobgoblin.compiler.typechecker;
import org.zwobble.hobgoblin.compiler.ast.typed.*;
import org.zwobble.hobgoblin.compiler.ast.untyped.*;
import org.zwobble.hobgoblin.compiler.sources.Source;
+import org.zwobble.hobgoblin.compiler.typechecker.errors.*;
import org.zwobble.hobgoblin.compiler.types.*;
import java.util.ArrayList;
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerNamespaceContext.java b/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerNamespaceContext.java
index 51e11d6..0a61de7 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerNamespaceContext.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerNamespaceContext.java
@@ -1,6 +1,7 @@
package org.zwobble.hobgoblin.compiler.typechecker;
import org.zwobble.hobgoblin.compiler.sources.Source;
+import org.zwobble.hobgoblin.compiler.typechecker.errors.DuplicateVariableNameError;
import org.zwobble.hobgoblin.compiler.types.*;
import java.util.HashMap;
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/DuplicateVariableNameError.java b/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/errors/DuplicateVariableNameError.java
index 1fc79bf..9c07095 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/DuplicateVariableNameError.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/errors/DuplicateVariableNameError.java
@@ -1,4 +1,4 @@
-package org.zwobble.hobgoblin.compiler.typechecker;
+package org.zwobble.hobgoblin.compiler.typechecker.errors;
import org.zwobble.hobgoblin.compiler.errors.SourceError;
import org.zwobble.hobgoblin.compiler.sources.Source;
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/RootNamespaceHasNoParentError.java b/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/errors/RootNamespaceHasNoParentError.java
index f688274..0036c37 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/RootNamespaceHasNoParentError.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/errors/RootNamespaceHasNoParentError.java
@@ -1,4 +1,4 @@
-package org.zwobble.hobgoblin.compiler.typechecker;
+package org.zwobble.hobgoblin.compiler.typechecker.errors;
import org.zwobble.hobgoblin.compiler.errors.SourceError;
import org.zwobble.hobgoblin.compiler.sources.Source;
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/SubtypeIsMissingFieldError.java b/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/errors/SubtypeIsMissingFieldError.java
index ce59593..0ec1000 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/SubtypeIsMissingFieldError.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/errors/SubtypeIsMissingFieldError.java
@@ -1,4 +1,4 @@
-package org.zwobble.hobgoblin.compiler.typechecker;
+package org.zwobble.hobgoblin.compiler.typechecker.errors;
import org.zwobble.hobgoblin.compiler.errors.SourceError;
import org.zwobble.hobgoblin.compiler.sources.Source;
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/UndeclaredVariableError.java b/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/errors/UndeclaredVariableError.java
index c6130fa..d3694d8 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/UndeclaredVariableError.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/errors/UndeclaredVariableError.java
@@ -1,4 +1,4 @@
-package org.zwobble.hobgoblin.compiler.typechecker;
+package org.zwobble.hobgoblin.compiler.typechecker.errors;
import org.zwobble.hobgoblin.compiler.errors.SourceError;
import org.zwobble.hobgoblin.compiler.sources.Source;
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/UndefinedVariableError.java b/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/errors/UndefinedVariableError.java
index 95be5a6..556e35b 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/UndefinedVariableError.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/errors/UndefinedVariableError.java
@@ -1,4 +1,4 @@
-package org.zwobble.hobgoblin.compiler.typechecker;
+package org.zwobble.hobgoblin.compiler.typechecker.errors;
import org.zwobble.hobgoblin.compiler.errors.SourceError;
import org.zwobble.hobgoblin.compiler.sources.Source;
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/UnexpectedTypeError.java b/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/errors/UnexpectedTypeError.java
index c2ca4b6..9334663 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/UnexpectedTypeError.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/errors/UnexpectedTypeError.java
@@ -1,4 +1,4 @@
-package org.zwobble.hobgoblin.compiler.typechecker;
+package org.zwobble.hobgoblin.compiler.typechecker.errors;
import org.zwobble.hobgoblin.compiler.errors.SourceError;
import org.zwobble.hobgoblin.compiler.sources.Source;
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/UnknownNamespaceError.java b/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/errors/UnknownNamespaceError.java
index 1ca4ac7..2d8329b 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/UnknownNamespaceError.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/errors/UnknownNamespaceError.java
@@ -1,4 +1,4 @@
-package org.zwobble.hobgoblin.compiler.typechecker;
+package org.zwobble.hobgoblin.compiler.typechecker.errors;
import org.zwobble.hobgoblin.compiler.errors.SourceError;
import org.zwobble.hobgoblin.compiler.sources.Source;
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/UnknownNamespaceFieldError.java b/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/errors/UnknownNamespaceFieldError.java
index 52f8b0a..a1f0df1 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/UnknownNamespaceFieldError.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/errors/UnknownNamespaceFieldError.java
@@ -1,4 +1,4 @@
-package org.zwobble.hobgoblin.compiler.typechecker;
+package org.zwobble.hobgoblin.compiler.typechecker.errors;
import org.zwobble.hobgoblin.compiler.errors.SourceError;
import org.zwobble.hobgoblin.compiler.sources.Source;
diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/NamespaceNameResolutionTests.java b/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/NamespaceNameResolutionTests.java
index 0ae6352..0fb478f 100644
--- a/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/NamespaceNameResolutionTests.java
+++ b/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/NamespaceNameResolutionTests.java
@@ -2,6 +2,7 @@ package org.zwobble.hobgoblin.compiler.typechecker;
import org.junit.jupiter.api.Test;
import org.zwobble.hobgoblin.compiler.sources.NullSource;
+import org.zwobble.hobgoblin.compiler.typechecker.errors.RootNamespaceHasNoParentError;
import org.zwobble.hobgoblin.compiler.types.NamespaceName;
import java.util.Optional;
@@ -66,7 +67,8 @@ public class NamespaceNameResolutionTests {
var importedAncestorDepth = Optional.of(3);
var importedNamespaceName = NamespaceName.of("x", "y");
- assertThrows(RootNamespaceHasNoParentError.class, () -> resolveNamespaceName(
+ assertThrows(
+ RootNamespaceHasNoParentError.class, () -> resolveNamespaceName(
current,
importedAncestorDepth,
importedNamespaceName,
diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerMetaTypeTests.java b/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerMetaTypeTests.java
index 2c37d22..c1b308c 100644
--- a/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerMetaTypeTests.java
+++ b/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerMetaTypeTests.java
@@ -4,6 +4,7 @@ import org.junit.jupiter.api.Test;
import org.zwobble.hobgoblin.compiler.ast.typed.TypedTypeLevelReferenceNode;
import org.zwobble.hobgoblin.compiler.ast.untyped.UntypedArb;
import org.zwobble.hobgoblin.compiler.sources.NullSource;
+import org.zwobble.hobgoblin.compiler.typechecker.errors.UnexpectedTypeError;
import org.zwobble.hobgoblin.compiler.types.*;
import java.util.List;
diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerNamespaceContextTests.java b/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerNamespaceContextTests.java
index 72c9702..4f22537 100644
--- a/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerNamespaceContextTests.java
+++ b/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerNamespaceContextTests.java
@@ -2,6 +2,7 @@ package org.zwobble.hobgoblin.compiler.typechecker;
import org.junit.jupiter.api.Test;
import org.zwobble.hobgoblin.compiler.sources.NullSource;
+import org.zwobble.hobgoblin.compiler.typechecker.errors.DuplicateVariableNameError;
import org.zwobble.hobgoblin.compiler.types.NamespaceName;
import org.zwobble.hobgoblin.compiler.types.SumType;
diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerNamespaceTests.java b/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerNamespaceTests.java
index 1c19daf..2f7cc6b 100644
--- a/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerNamespaceTests.java
+++ b/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerNamespaceTests.java
@@ -5,6 +5,8 @@ import org.zwobble.hobgoblin.compiler.ast.typed.TypedNamespaceNode;
import org.zwobble.hobgoblin.compiler.ast.typed.TypedStructDefinitionNode;
import org.zwobble.hobgoblin.compiler.ast.untyped.*;
import org.zwobble.hobgoblin.compiler.sources.NullSource;
+import org.zwobble.hobgoblin.compiler.typechecker.errors.UnknownNamespaceError;
+import org.zwobble.hobgoblin.compiler.typechecker.errors.UnknownNamespaceFieldError;
import org.zwobble.hobgoblin.compiler.types.*;
import java.util.List;
diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerSumDefinitionTests.java b/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerSumDefinitionTests.java
index 718460f..bfc9280 100644
--- a/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerSumDefinitionTests.java
+++ b/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerSumDefinitionTests.java
@@ -7,6 +7,8 @@ import org.zwobble.hobgoblin.compiler.ast.typed.TypedSumVariantDefinitionNode;
import org.zwobble.hobgoblin.compiler.ast.typed.TypedTypeLevelExpressionNode;
import org.zwobble.hobgoblin.compiler.ast.untyped.*;
import org.zwobble.hobgoblin.compiler.sources.NullSource;
+import org.zwobble.hobgoblin.compiler.typechecker.errors.SubtypeIsMissingFieldError;
+import org.zwobble.hobgoblin.compiler.typechecker.errors.UnexpectedTypeError;
import org.zwobble.hobgoblin.compiler.types.*;
import java.util.List;
diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerTypeLevelReferenceTests.java b/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerTypeLevelReferenceTests.java
index bb99952..084be46 100644
--- a/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerTypeLevelReferenceTests.java
+++ b/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerTypeLevelReferenceTests.java
@@ -4,6 +4,8 @@ import org.junit.jupiter.api.Test;
import org.zwobble.hobgoblin.compiler.ast.typed.TypedTypeLevelReferenceNode;
import org.zwobble.hobgoblin.compiler.ast.untyped.UntypedArb;
import org.zwobble.hobgoblin.compiler.sources.NullSource;
+import org.zwobble.hobgoblin.compiler.typechecker.errors.UndeclaredVariableError;
+import org.zwobble.hobgoblin.compiler.typechecker.errors.UnexpectedTypeError;
import org.zwobble.hobgoblin.compiler.types.SimpleNativeType;
import org.zwobble.hobgoblin.compiler.types.TypeLevelValueType;
import org.zwobble.hobgoblin.compiler.types.TypeSet;