summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-08-08 21:22:26 +0100
committerMichael Williamson <mike@zwobble.org>2026-08-08 21:22:26 +0100
commit9e1dbfa5181d5785f1932bf773216c14e8d7c5ef (patch)
treebafe85622c21f1462e10ba0d6386a6c2af502792 /src
parent13ddee33304f55788615eb3e330fd07d37093909 (diff)
Centralise writing of generated files in java-transient-0
Diffstat (limited to 'src')
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java
index 00f6b52..3c2b33c 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java
@@ -62,23 +62,27 @@ public class JavaTransient0Generator implements Generator {
) throws IOException {
var context = new Context(typesInfo);
- generateSupportTypes();
- generateBuiltins();
+ write(generateSupportTypes());
+ write(generateBuiltins());
for (var namespace : namespaces) {
var javaCompilationUnits = generateNamespace(namespace, context);
- JavaGenerator.write(this.sourceRootDirectory, javaCompilationUnits);
+ write(javaCompilationUnits);
}
}
- private void generateSupportTypes() throws IOException {
+ private void write(List<JavaCompilationUnit> javaCompilationUnits) throws IOException {
+ JavaGenerator.write(this.sourceRootDirectory, javaCompilationUnits);
+ }
+
+ private List<JavaCompilationUnit> generateSupportTypes() {
var typeId = JavaIdentifier.of("typeId");
var value = JavaIdentifier.of("value");
var other = JavaIdentifier.of("other");
var otherSharedValue = JavaIdentifier.of("otherSharedValue");
- JavaGenerator.write(this.sourceRootDirectory, List.of(
+ return List.of(
new JavaCompilationUnit(new JavaRecordDeclaration(
this.taggedSharedValueRef(),
List.of(
@@ -132,7 +136,7 @@ public class JavaTransient0Generator implements Generator {
),
DocComment.EMPTY
))
- ));
+ );
}
private JavaTypeRef taggedSharedValueRef() {
@@ -156,7 +160,7 @@ public class JavaTransient0Generator implements Generator {
.computeIfAbsent(type, _ -> (long) this.typeIds.size());
}
- private void generateBuiltins() throws IOException {
+ private List<JavaCompilationUnit> generateBuiltins() {
var packageName = this.namespaceToJavaTransient0PackageName(NamespaceName.of());
var transient0JavaName = generateTransient0ClassName("Builtins");
var transient0JavaTypeRef = JavaTypeRef.topLevel(
@@ -164,7 +168,7 @@ public class JavaTransient0Generator implements Generator {
transient0JavaName
);
- JavaGenerator.write(this.sourceRootDirectory, List.of(
+ return List.of(
new JavaCompilationUnit(
new JavaClassDeclaration(
transient0JavaTypeRef,
@@ -184,7 +188,7 @@ public class JavaTransient0Generator implements Generator {
DocComment.EMPTY
)
)
- ));
+ );
}
private JavaMethodDeclaration generateEncodeBoolMethod() {