summaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-06-19 17:30:18 +0100
committerMichael Williamson <mike@zwobble.org>2026-06-19 17:30:18 +0100
commita31c0145beb998c9f83d61770ba03f9230610c87 (patch)
tree657e7445437098ad5d6b68999690227c8da14ced /src/test
parentb281c5757b38cd0ce6144b3d42feba49b94d1ee7 (diff)
Merge variable declaration and definition
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerConstructedTypeTests.java6
-rw-r--r--src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerSumDefinitionTests.java6
-rw-r--r--src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerTypeLevelReferenceTests.java20
3 files changed, 6 insertions, 26 deletions
diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerConstructedTypeTests.java b/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerConstructedTypeTests.java
index 1f3e5ff..ef55465 100644
--- a/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerConstructedTypeTests.java
+++ b/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerConstructedTypeTests.java
@@ -18,13 +18,11 @@ public class TypeCheckerConstructedTypeTests {
List.of(UntypedArb.typeLevelReference("Int32"))
);
var context = TypeCheckerContextArb.namespaceContext();
- context.declare("List");
var listType = SimpleNativeType.builtin("List");
var listTypeConstructor = new TypeConstructor<>(List.of(new TypeParam("T")), listType);
- context.define("List", new TypeLevelValueType(listTypeConstructor));
- context.declare("Int32");
+ context.declare("List", new TypeLevelValueType(listTypeConstructor));
var int32Type = SimpleNativeType.builtin("Int32");
- context.define("Int32", new TypeLevelValueType(int32Type));
+ context.declare("Int32", new TypeLevelValueType(int32Type));
var typed = TypeChecker.typeCheckTypeLevelExpression(untyped, context);
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 c93868b..60c2b9a 100644
--- a/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerSumDefinitionTests.java
+++ b/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerSumDefinitionTests.java
@@ -48,10 +48,8 @@ public class TypeCheckerSumDefinitionTests {
var globalContext = TypeCheckerGlobalContext.initial();
var namespaceContext = globalContext
.enterNamespace(NamespaceName.of("a", "b"));
- namespaceContext.declare(rectangleType.name());
- namespaceContext.define(rectangleType.name(), new TypeLevelValueType(rectangleType));
- namespaceContext.declare(triangleType.name());
- namespaceContext.define(triangleType.name(), new TypeLevelValueType(triangleType));
+ namespaceContext.declare(rectangleType.name(), new TypeLevelValueType(rectangleType));
+ namespaceContext.declare(triangleType.name(), new TypeLevelValueType(triangleType));
var typed = typeCheckNamespaceStatement(untyped, namespaceContext);
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 ef90d3e..e633c94 100644
--- a/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerTypeLevelReferenceTests.java
+++ b/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerTypeLevelReferenceTests.java
@@ -26,26 +26,11 @@ public class TypeCheckerTypeLevelReferenceTests {
}
@Test
- public void whenNameIsUndefinedThenErrorIsThrown() {
- var untyped = UntypedArb.typeLevelReference("X");
- var context = TypeCheckerContextArb.namespaceContext();
- context.declare("X");
-
- var error = assertThrows(
- UndefinedVariableError.class,
- () -> TypeChecker.typeCheckTypeLevelExpression(untyped, context)
- );
-
- assertThat(error.variableName(), equalTo("X"));
- }
-
- @Test
public void whenVariableIsNotTypeLevelValueThenErrorIsThrown() {
var untyped = UntypedArb.typeLevelReference("X");
var context = TypeCheckerContextArb.namespaceContext();
- context.declare("X");
var nativeType = SimpleNativeType.builtin("Int");
- context.define("X", nativeType);
+ context.declare("X", nativeType);
var error = assertThrows(
UnexpectedTypeError.class,
@@ -60,9 +45,8 @@ public class TypeCheckerTypeLevelReferenceTests {
public void whenNameIsMetaTypeThenValueIsType() {
var untyped = UntypedArb.typeLevelReference("X");
var context = TypeCheckerContextArb.namespaceContext();
- context.declare("X");
var nativeType = SimpleNativeType.builtin("Int");
- context.define("X", new TypeLevelValueType(nativeType));
+ context.declare("X", new TypeLevelValueType(nativeType));
var typed = TypeChecker.typeCheckTypeLevelExpression(untyped, context);