summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-11-09 18:14:03 +0000
committerMichael Williamson <mike@zwobble.org>2026-11-09 18:14:03 +0000
commit1dc2ded0fde88a2cb8e81196e5819d99440ebc27 (patch)
treebef6e6371100f704c811f7b82d23fefd5a7c30d6 /src
parentc0c850fd195d0b2a54d94d245043b281b3ebd777 (diff)
Store Relation instead of Table in RelationMethodmain
Diffstat (limited to 'src')
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/typechecker/TypeChecker.java2
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/types/RelationMethod.java4
-rw-r--r--src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerEvalExpressionTests.java3
3 files changed, 6 insertions, 3 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 7e08275..c3f664c 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/TypeChecker.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/TypeChecker.java
@@ -743,7 +743,7 @@ public class TypeChecker {
case Table table -> {
switch (memberAccess.memberName()) {
case "where":
- return new RelationMethod(table, "where");
+ return new RelationMethod(new RelationTable(table), "where");
default:
break;
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/types/RelationMethod.java b/src/main/java/org/zwobble/hobgoblin/compiler/types/RelationMethod.java
index 5daf590..87ba7fa 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/types/RelationMethod.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/types/RelationMethod.java
@@ -1,6 +1,8 @@
package org.zwobble.hobgoblin.compiler.types;
-public record RelationMethod(Table table, String name) implements TypeLevelValue {
+import org.zwobble.hobgoblin.compiler.ast.typed.Relation;
+
+public record RelationMethod(Relation relation, String name) implements TypeLevelValue {
@Override
public String describe() {
return name;
diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerEvalExpressionTests.java b/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerEvalExpressionTests.java
index cae195a..48dde6e 100644
--- a/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerEvalExpressionTests.java
+++ b/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerEvalExpressionTests.java
@@ -1,6 +1,7 @@
package org.zwobble.hobgoblin.compiler.typechecker;
import org.junit.jupiter.api.Test;
+import org.zwobble.hobgoblin.compiler.ast.typed.RelationTable;
import org.zwobble.hobgoblin.compiler.ast.untyped.UntypedMemberAccessNode;
import org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNumberLiteralNode;
import org.zwobble.hobgoblin.compiler.ast.untyped.UntypedReferenceNode;
@@ -60,7 +61,7 @@ public class TypeCheckerEvalExpressionTests {
var typed = TypeChecker.evalExpression(untyped, namespaceContext);
- assertThat(typed, equalTo(new RelationMethod(table, "where")));
+ assertThat(typed, equalTo(new RelationMethod(new RelationTable(table), "where")));
}
// == Number literal ==