summaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-07-02 16:29:26 +0100
committerMichael Williamson <mike@zwobble.org>2026-07-02 16:36:11 +0100
commit6fe5f16e1b261dcc34f83ca9c6d6049d3591976b (patch)
tree7d3a504fde6be0e5f133fa37266bef75249ee2fa /src/main
parent00a97675f5f6cef672495371a6b7e36a372586ab (diff)
Add isBox to typed enum variant definition
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/ast/typed/TypedSumVariantDefinitionNode.java1
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/typechecker/TypeChecker.java1
2 files changed, 2 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/ast/typed/TypedSumVariantDefinitionNode.java b/src/main/java/org/zwobble/hobgoblin/compiler/ast/typed/TypedSumVariantDefinitionNode.java
index 5c2dd6c..efbea83 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/ast/typed/TypedSumVariantDefinitionNode.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/ast/typed/TypedSumVariantDefinitionNode.java
@@ -5,6 +5,7 @@ import org.zwobble.hobgoblin.compiler.types.Type;
public record TypedSumVariantDefinitionNode(
TypedTypeLevelExpressionNode<Type> type,
+ boolean isBox,
Source source
) implements TypedNode {
}
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 8b930aa..f313333 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/TypeChecker.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/TypeChecker.java
@@ -249,6 +249,7 @@ public class TypeChecker {
var variantType = typeCheckMetaType(untypedVariant.type(), context);
var typedVariant = new TypedSumVariantDefinitionNode(
variantType,
+ untypedVariant.isBox(),
untyped.source()
);
typedVariants.add(typedVariant);