summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedSumDefinitionNode.java20
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/parser/Parser.java1
-rw-r--r--src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedSumDefinitionNodeMatcher.java4
3 files changed, 17 insertions, 8 deletions
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 c7a9f53..c7cfca9 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
@@ -2,30 +2,34 @@
package org.zwobble.hobgoblin.compiler.ast.untyped;
-public record UntypedSumDefinitionNode(String name, java.util.List<org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumVariantDefinitionNode> variants, org.zwobble.hobgoblin.compiler.ast.DocComment docComment, org.zwobble.hobgoblin.compiler.sources.Source source) implements org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceStatementNode {
+public record UntypedSumDefinitionNode(String name, java.util.List<org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumVariantDefinitionNode> variants, java.util.List<org.zwobble.hobgoblin.compiler.ast.untyped.UntypedStructFieldDefinitionNode> fields, org.zwobble.hobgoblin.compiler.ast.DocComment docComment, org.zwobble.hobgoblin.compiler.sources.Source source) implements org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceStatementNode {
public static org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode.Builder arbitrary() {
- return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode.Builder("", java.util.List.of(), org.zwobble.hobgoblin.compiler.ast.untyped.Native.arbitraryDocComment(), org.zwobble.hobgoblin.compiler.ast.untyped.Native.arbitrarySource());
+ return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode.Builder("", java.util.List.of(), java.util.List.of(), org.zwobble.hobgoblin.compiler.ast.untyped.Native.arbitraryDocComment(), org.zwobble.hobgoblin.compiler.ast.untyped.Native.arbitrarySource());
}
- public record Builder(String name, java.util.List<org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumVariantDefinitionNode> variants, org.zwobble.hobgoblin.compiler.ast.DocComment docComment, org.zwobble.hobgoblin.compiler.sources.Source source) implements org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceStatementNode.Builder {
+ public record Builder(String name, java.util.List<org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumVariantDefinitionNode> variants, java.util.List<org.zwobble.hobgoblin.compiler.ast.untyped.UntypedStructFieldDefinitionNode> fields, org.zwobble.hobgoblin.compiler.ast.DocComment docComment, org.zwobble.hobgoblin.compiler.sources.Source source) implements org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceStatementNode.Builder {
public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode build() {
- return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode(name, variants, docComment, source);
+ return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode(name, variants, fields, docComment, source);
}
public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode.Builder withName(String name) {
- return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode.Builder(name, variants, docComment, source);
+ return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode.Builder(name, variants, fields, docComment, source);
}
public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode.Builder withVariants(java.util.List<org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumVariantDefinitionNode> variants) {
- return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode.Builder(name, variants, docComment, source);
+ return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode.Builder(name, variants, fields, docComment, source);
+ }
+
+ public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode.Builder withFields(java.util.List<org.zwobble.hobgoblin.compiler.ast.untyped.UntypedStructFieldDefinitionNode> fields) {
+ return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode.Builder(name, variants, fields, docComment, source);
}
public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode.Builder withDocComment(org.zwobble.hobgoblin.compiler.ast.DocComment docComment) {
- return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode.Builder(name, variants, docComment, source);
+ return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode.Builder(name, variants, fields, docComment, source);
}
public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode.Builder withSource(org.zwobble.hobgoblin.compiler.sources.Source source) {
- return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode.Builder(name, variants, docComment, source);
+ return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode.Builder(name, variants, fields, docComment, source);
}
// Custom area start: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode.Builder body
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 4beca21..31ead2a 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/parser/Parser.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/parser/Parser.java
@@ -179,6 +179,7 @@ public class Parser {
return new UntypedSumDefinitionNode(
name.charSequence().toString(),
variants,
+ List.of(),
docComment,
source
);
diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedSumDefinitionNodeMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedSumDefinitionNodeMatcher.java
index fe704ac..ba98a0d 100644
--- a/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedSumDefinitionNodeMatcher.java
+++ b/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedSumDefinitionNodeMatcher.java
@@ -33,6 +33,10 @@ public class UntypedSumDefinitionNodeMatcher implements org.zwobble.precisely.Ma
return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNodeMatcher(java.util.stream.Stream.concat(this.submatchers.stream(), java.util.stream.Stream.of(org.zwobble.precisely.Matchers.has("variants", org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode::variants, variants))).toList());
}
+ public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNodeMatcher withFields(org.zwobble.precisely.Matcher<? super java.util.List<org.zwobble.hobgoblin.compiler.ast.untyped.UntypedStructFieldDefinitionNode>> fields) {
+ return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNodeMatcher(java.util.stream.Stream.concat(this.submatchers.stream(), java.util.stream.Stream.of(org.zwobble.precisely.Matchers.has("fields", org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode::fields, fields))).toList());
+ }
+
public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNodeMatcher withDocComment(org.zwobble.precisely.Matcher<? super org.zwobble.hobgoblin.compiler.ast.DocComment> docComment) {
return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNodeMatcher(java.util.stream.Stream.concat(this.submatchers.stream(), java.util.stream.Stream.of(org.zwobble.precisely.Matchers.has("docComment", org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode::docComment, docComment))).toList());
}