diff options
| author | Michael Williamson <mike@zwobble.org> | 2026-08-08 21:22:26 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2026-08-08 21:22:26 +0100 |
| commit | 9e1dbfa5181d5785f1932bf773216c14e8d7c5ef (patch) | |
| tree | bafe85622c21f1462e10ba0d6386a6c2af502792 | |
| parent | 13ddee33304f55788615eb3e330fd07d37093909 (diff) | |
Centralise writing of generated files in java-transient-0
| -rw-r--r-- | src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java | 22 |
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() { |
