summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatypes/JavaTypesGenerator.java2
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaTypeRef.java4
-rw-r--r--src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriterTests.java2
3 files changed, 6 insertions, 2 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 c3bf312..df23aa2 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
@@ -160,7 +160,7 @@ public class JavaTypesGenerator implements Generator {
.map(arg -> generateTypeRef(arg))
.toList();
// TODO: separate type for constructed types?
- yield new JavaTypeRef(innerTypeRef.packageName(), innerTypeRef.name(), argRefs);
+ yield JavaTypeRef.generic(innerTypeRef.packageName(), innerTypeRef.name(), argRefs);
}
case SimpleNativeType simpleNativeType -> {
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaTypeRef.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaTypeRef.java
index 991e00f..88450ca 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaTypeRef.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaTypeRef.java
@@ -11,6 +11,10 @@ public record JavaTypeRef(List<String> packageName, String name, List<JavaTypeRe
return new JavaTypeRef(packageName, name, List.of());
}
+ public static JavaTypeRef generic(List<String> packageName, String name, List<JavaTypeRef> args) {
+ return new JavaTypeRef(packageName, name, args);
+ }
+
public static final JavaTypeRef INT = primitive("int");
public static final JavaTypeRef LONG = primitive("long");
public static final JavaTypeRef STRING = primitive("String");
diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriterTests.java b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriterTests.java
index 7ac2d29..1bcc57f 100644
--- a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriterTests.java
+++ b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriterTests.java
@@ -303,7 +303,7 @@ public class JavaWriterTests {
@Test
public void typeRefWithArgsHasAngleBrackets() throws IOException {
- var java = new JavaTypeRef(
+ var java = JavaTypeRef.generic(
List.of("abc", "def"),
"One",
List.of(