summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/ast/typed/TypedStructDefinitionNode.java1
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedStructDefinitionNode.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/TypeCheckerNamespaceTests.java1
-rw-r--r--src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerStructDefinitionTests.java4
6 files changed, 9 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/ast/typed/TypedStructDefinitionNode.java b/src/main/java/org/zwobble/hobgoblin/compiler/ast/typed/TypedStructDefinitionNode.java
index d1666c2..0472496 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/ast/typed/TypedStructDefinitionNode.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/ast/typed/TypedStructDefinitionNode.java
@@ -8,6 +8,7 @@ import java.util.List;
public record TypedStructDefinitionNode(
StructType type,
List<TypedStructFieldDefinitionNode> fields,
+ String docComment,
Source source
) implements TypedNamespaceStatementNode {
public String name() {
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedStructDefinitionNode.java b/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedStructDefinitionNode.java
index 50f1156..139db67 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedStructDefinitionNode.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedStructDefinitionNode.java
@@ -7,6 +7,7 @@ import java.util.List;
public record UntypedStructDefinitionNode(
String name,
List<UntypedStructFieldDefinitionNode> fields,
+ 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 d60b249..a4b4743 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/parser/Parser.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/parser/Parser.java
@@ -81,6 +81,7 @@ public class Parser {
return new UntypedStructDefinitionNode(
name.charSequence().toString(),
fields,
+ "",
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 5219d4d..6574b52 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/TypeChecker.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/typechecker/TypeChecker.java
@@ -89,6 +89,7 @@ public class TypeChecker {
return new TypedStructDefinitionNode(
structType,
typedFields,
+ untyped.docComment(),
untyped.source()
);
}
diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerNamespaceTests.java b/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerNamespaceTests.java
index 737c7db..1bb84d1 100644
--- a/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerNamespaceTests.java
+++ b/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerNamespaceTests.java
@@ -23,6 +23,7 @@ public class TypeCheckerNamespaceTests {
new UntypedStructDefinitionNode(
"X",
List.of(),
+ "",
NullSource.INSTANCE
)
),
diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerStructDefinitionTests.java b/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerStructDefinitionTests.java
index 6cd6732..117bce4 100644
--- a/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerStructDefinitionTests.java
+++ b/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerStructDefinitionTests.java
@@ -27,6 +27,7 @@ public class TypeCheckerStructDefinitionTests {
var untyped = new UntypedStructDefinitionNode(
"X",
List.of(),
+ "",
NullSource.INSTANCE
);
var context = TypeCheckerContextArb.namespaceContext(NamespaceName.of("a", "b"));
@@ -53,6 +54,7 @@ public class TypeCheckerStructDefinitionTests {
new UntypedStructFieldDefinitionNode("a", UntypedArb.typeLevelReference("Int32"), NullSource.INSTANCE),
new UntypedStructFieldDefinitionNode("b", UntypedArb.typeLevelReference("Int64"), NullSource.INSTANCE)
),
+ "",
NullSource.INSTANCE
);
var context = TypeCheckerContextArb.namespaceContext(NamespaceName.of("a", "b"));
@@ -102,6 +104,7 @@ public class TypeCheckerStructDefinitionTests {
List.of(
new UntypedStructFieldDefinitionNode("value", UntypedArb.typeLevelReference("Y"), NullSource.INSTANCE)
),
+ "",
NullSource.INSTANCE
),
new UntypedStructDefinitionNode(
@@ -109,6 +112,7 @@ public class TypeCheckerStructDefinitionTests {
List.of(
new UntypedStructFieldDefinitionNode("value", UntypedArb.typeLevelReference("Int32"), NullSource.INSTANCE)
),
+ "",
NullSource.INSTANCE
)
),