diff options
| author | Michael Williamson <mike@zwobble.org> | 2026-06-13 21:14:01 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2026-06-13 21:14:01 +0100 |
| commit | 6756656acae5f2c4fff4a84fe877fcc1c7e271b7 (patch) | |
| tree | 1f17a3c4080078ddd62bcc33ac2bd7ba39ace8de | |
| parent | 8406f6abb31124c01c2ac5ec7615f825e337e0d9 (diff) | |
Extract generateSumDefinitionBuilder()
| -rw-r--r-- | src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatypes/JavaTypesGenerator.java | 41 |
1 files changed, 24 insertions, 17 deletions
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatypes/JavaTypesGenerator.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatypes/JavaTypesGenerator.java index f4ed937..827cab9 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatypes/JavaTypesGenerator.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatypes/JavaTypesGenerator.java @@ -230,29 +230,36 @@ public class JavaTypesGenerator implements Generator { .map(variant -> generateTypeRef(variant.type(), context)) .toList(), List.of( - new JavaInterfaceDeclaration( - BUILDER_TYPE_NAME, - JavaInterfaceOpenness.OPEN, - List.of(), - List.of( - new JavaMethodDeclaration( - "build", - JavaVisibility.PUBLIC, - JavaMethodKind.INSTANCE, - generateTypeRef(sumDefinition.type(), context), - List.of(), - Optional.empty() - ) - ), - JavaCustomArea.forType(generateBuilderTypeRef(sumDefinition.type()), "body"), - DocComment.EMPTY - ) + generateSumDefinitionBuilder(sumDefinition, context) ), JavaCustomArea.forType(generateTypeRef(sumDefinition.type(), context), "body"), sumDefinition.docComment() ); } + private JavaInterfaceDeclaration generateSumDefinitionBuilder( + TypedSumDefinitionNode sumDefinition, + Context context + ) { + return new JavaInterfaceDeclaration( + BUILDER_TYPE_NAME, + JavaInterfaceOpenness.OPEN, + List.of(), + List.of( + new JavaMethodDeclaration( + "build", + JavaVisibility.PUBLIC, + JavaMethodKind.INSTANCE, + generateTypeRef(sumDefinition.type(), context), + List.of(), + Optional.empty() + ) + ), + JavaCustomArea.forType(generateBuilderTypeRef(sumDefinition.type()), "body"), + DocComment.EMPTY + ); + } + private List<String> namespaceToJavaPackageParts(NamespaceName namespaceName) { return this.javaGenerator.namespaceToJavaPackageParts(namespaceName); } |
