summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/ast/typed/TypedSumDefinitionNode.java1
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedSumDefinitionNode.java1
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/parser/Parser.java1
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/typechecker/TypeChecker.java1
-rw-r--r--src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerSumDefinitionTests.java2
5 files changed, 6 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/ast/typed/TypedSumDefinitionNode.java b/src/main/java/org/zwobble/hobgoblin/compiler/ast/typed/TypedSumDefinitionNode.java
index e04e2dd..d795430 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/ast/typed/TypedSumDefinitionNode.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/ast/typed/TypedSumDefinitionNode.java
@@ -8,6 +8,7 @@ import java.util.List;
public record TypedSumDefinitionNode(
SumType type,
List<TypedSumVariantDefinitionNode> variants,
+ String docComment,
Source source
) implements TypedNamespaceStatementNode {
public String name() {
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedSumDefinitionNode.java b/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedSumDefinitionNode.java
index 66acc08..6ffcb6f 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedSumDefinitionNode.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedSumDefinitionNode.java
@@ -7,6 +7,7 @@ import java.util.List;
public record UntypedSumDefinitionNode(
String name,
List<UntypedSumVariantDefinitionNode> variants,
+ String docComment,
Source source
) implements UntypedNamespaceStatementNode {
}
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/parser/Parser.java b/src/main/java/org/zwobble/hobgoblin/compiler/parser/Parser.java
index a4b4743..88b0c5c 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/parser/Parser.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/parser/Parser.java
@@ -130,6 +130,7 @@ public class Parser {
return new UntypedSumDefinitionNode(
name.charSequence().toString(),
variants,
+ "",
source
);
}
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 6574b52..012fd2b 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/TypeChecker.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/TypeChecker.java
@@ -122,6 +122,7 @@ public class TypeChecker {
return new TypedSumDefinitionNode(
sumType,
typedVariants,
+ untyped.docComment(),
untyped.source()
);
}
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 18d718e..a037bdf 100644
--- a/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerSumDefinitionTests.java
+++ b/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerSumDefinitionTests.java
@@ -18,6 +18,7 @@ public class TypeCheckerSumDefinitionTests {
var untyped = new UntypedSumDefinitionNode(
"X",
List.of(),
+ "",
NullSource.INSTANCE
);
var context = TypeCheckerContextArb.namespaceContext(NamespaceName.of("a", "b"));
@@ -44,6 +45,7 @@ public class TypeCheckerSumDefinitionTests {
new UntypedSumVariantDefinitionNode(UntypedArb.typeLevelReference("Rectangle"), NullSource.INSTANCE),
new UntypedSumVariantDefinitionNode(UntypedArb.typeLevelReference("Triangle"), NullSource.INSTANCE)
),
+ "",
NullSource.INSTANCE
);
var context = TypeCheckerContextArb.namespaceContext(NamespaceName.of("a", "b"));