diff options
| author | Michael Williamson <mike@zwobble.org> | 2026-11-09 18:14:03 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2026-11-09 18:14:03 +0000 |
| commit | 1dc2ded0fde88a2cb8e81196e5819d99440ebc27 (patch) | |
| tree | bef6e6371100f704c811f7b82d23fefd5a7c30d6 /src | |
| parent | c0c850fd195d0b2a54d94d245043b281b3ebd777 (diff) | |
Store Relation instead of Table in RelationMethodmain
Diffstat (limited to 'src')
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 == |
