From f7da18665f7f672b61bb6b0a7bbe5d2f32977890 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 10 May 2026 15:01:49 +0100 Subject: Add doc comment to sum definition nodes --- .../zwobble/hobgoblin/compiler/ast/typed/TypedSumDefinitionNode.java | 1 + .../hobgoblin/compiler/ast/untyped/UntypedSumDefinitionNode.java | 1 + src/main/java/org/zwobble/hobgoblin/compiler/parser/Parser.java | 1 + .../java/org/zwobble/hobgoblin/compiler/typechecker/TypeChecker.java | 1 + .../hobgoblin/compiler/typechecker/TypeCheckerSumDefinitionTests.java | 2 ++ 5 files changed, 6 insertions(+) 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 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 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")); -- cgit v1.2.3