summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--examples/11-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java4
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java12
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaPackageName.java7
3 files changed, 17 insertions, 6 deletions
diff --git a/examples/11-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java b/examples/11-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java
index 6136255..a924d1e 100644
--- a/examples/11-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java
+++ b/examples/11-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java
@@ -14,9 +14,7 @@ import java.util.Map;
import java.util.Optional;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
-import org.zwobble.example.types.HobgoblinTransient0TaggedSharedValue;
import org.zwobble.example.types.data.EnumWithVariants;
-import org.zwobble.example.types.data.HobgoblinTransient0Data;
import org.zwobble.example.types.data.StructWithBool;
import org.zwobble.example.types.data.StructWithDifferentSharedTypes;
import org.zwobble.example.types.data.StructWithEnum;
@@ -31,6 +29,8 @@ import org.zwobble.example.types.data.StructWithStruct;
import org.zwobble.example.types.data.StructWithSum;
import org.zwobble.example.types.data.VariantOne;
import org.zwobble.example.types.data.VariantTwo;
+import org.zwobble.example.types.data.transient0.HobgoblinTransient0Data;
+import org.zwobble.example.types.transient0.HobgoblinTransient0TaggedSharedValue;
public class Transient0Tests {
@Test
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 edfc354..4858aef 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
@@ -136,7 +136,7 @@ public class JavaTransient0Generator implements Generator {
}
private JavaTypeRef taggedSharedValueRef() {
- var packageName = this.javaGenerator.namespaceToJavaPackageName(NamespaceName.of());
+ var packageName = this.namespaceToJavaTransient0PackageName(NamespaceName.of());
return JavaTypeRef.topLevel(
packageName,
@@ -159,7 +159,7 @@ public class JavaTransient0Generator implements Generator {
}
private void generateBuiltins() throws IOException {
- var packageName = this.javaGenerator.namespaceToJavaPackageName(NamespaceName.of());
+ var packageName = this.namespaceToJavaTransient0PackageName(NamespaceName.of());
var transient0JavaName = generateTransient0ClassName("Builtins");
var transient0JavaTypeRef = JavaTypeRef.topLevel(
packageName,
@@ -375,7 +375,7 @@ public class JavaTransient0Generator implements Generator {
TypedNamespaceNode namespace,
Context context
) {
- var packageName = this.javaGenerator.namespaceToJavaPackageName(namespace.namespaceName());
+ var packageName = this.namespaceToJavaTransient0PackageName(namespace.namespaceName());
var transient0JavaName = generateTransient0ClassName(namespace.namespaceName());
var transient0JavaTypeRef = JavaTypeRef.topLevel(
packageName,
@@ -398,7 +398,7 @@ public class JavaTransient0Generator implements Generator {
private JavaTypeRef generateTransient0TypeRef(NamespaceName namespaceName) {
return JavaTypeRef.topLevel(
- this.javaGenerator.namespaceToJavaPackageName(namespaceName),
+ this.namespaceToJavaTransient0PackageName(namespaceName),
generateTransient0ClassName(namespaceName)
);
}
@@ -1159,6 +1159,10 @@ public class JavaTransient0Generator implements Generator {
);
}
+ private JavaPackageName namespaceToJavaTransient0PackageName(NamespaceName namespaceName) {
+ return this.javaGenerator.namespaceToJavaPackageName(namespaceName).add(JavaIdentifier.of("transient0"));
+ }
+
private static class Context {
private final TypesInfo typesInfo;
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaPackageName.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaPackageName.java
index b7d1d19..7a6a0ff 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaPackageName.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaPackageName.java
@@ -3,6 +3,7 @@
package org.zwobble.hobgoblin.compiler.output.lang.java.ast;
// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaPackageName imports
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaPackageName imports
@@ -47,5 +48,11 @@ public record JavaPackageName(
public static JavaPackageName of(String... parts) {
return new JavaPackageName(Arrays.stream(parts).map(JavaIdentifier::of).toList());
}
+
+ public JavaPackageName add(JavaIdentifier part) {
+ var parts = new ArrayList<>(this.parts);
+ parts.add(part);
+ return new JavaPackageName(parts);
+ }
// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaPackageName body
}