summaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-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() {