summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-05-18 18:50:00 +0100
committerMichael Williamson <mike@zwobble.org>2026-05-18 18:50:00 +0100
commit08fd0f4fd033ac65db684d9396c2d568370d6fb7 (patch)
tree12f562c076210f312f0a661b46ee67ee7c38f596 /src
parentf8baeaa12f30a302400017e5a58d4b6d0f96b690 (diff)
Extract JavaTypeRef.ref()
Diffstat (limited to 'src')
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatypes/JavaTypesGenerator.java6
-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.java10
3 files changed, 12 insertions, 8 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 c4bdccc..c3bf312 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
@@ -169,17 +169,17 @@ public class JavaTypesGenerator implements Generator {
} else if (type.equals(NativeTypes.STRING)) {
yield JavaTypeRef.STRING;
} else if (type.equals(NativeTypes.LIST_INNER)) {
- yield new JavaTypeRef(List.of("java", "util"), "List", List.of());
+ yield JavaTypeRef.ref(List.of("java", "util"), "List");
} else {
throw new UnsupportedOperationException("TODO");
}
}
case StructType structType ->
- new JavaTypeRef(namespaceToJavaPackageParts(structType.namespaceName()), structType.name(), List.of());
+ JavaTypeRef.ref(namespaceToJavaPackageParts(structType.namespaceName()), structType.name());
case SumType sumType ->
- new JavaTypeRef(namespaceToJavaPackageParts(sumType.namespaceName()), sumType.name(), List.of());
+ JavaTypeRef.ref(namespaceToJavaPackageParts(sumType.namespaceName()), sumType.name());
case TypeLevelValueType typeLevelValueType ->
throw new UnsupportedOperationException("TODO");
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 bba6632..991e00f 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
@@ -7,6 +7,10 @@ public record JavaTypeRef(List<String> packageName, String name, List<JavaTypeRe
return new JavaTypeRef(List.of(), name, List.of());
}
+ public static JavaTypeRef ref(List<String> packageName, String name) {
+ return new JavaTypeRef(packageName, name, List.of());
+ }
+
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 a19f5a2..7ac2d29 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
@@ -101,8 +101,8 @@ public class JavaWriterTests {
var java = new JavaInterfaceDeclaration(
"Shape",
List.of(
- new JavaTypeRef(List.of("abc", "def"), "One", List.of()),
- new JavaTypeRef(List.of("abc", "def"), "Two", List.of())
+ JavaTypeRef.ref(List.of("abc", "def"), "One"),
+ JavaTypeRef.ref(List.of("abc", "def"), "Two")
),
DocComment.EMPTY
);
@@ -294,7 +294,7 @@ public class JavaWriterTests {
@Test
public void typeRefWithoutArgsHasNoAngleBrackets() throws IOException {
- var java = new JavaTypeRef(List.of("abc", "def"), "One", List.of());
+ var java = JavaTypeRef.ref(List.of("abc", "def"), "One");
var string = write(writer -> writer.writeTypeRef(java));
@@ -307,8 +307,8 @@ public class JavaWriterTests {
List.of("abc", "def"),
"One",
List.of(
- new JavaTypeRef(List.of(), "Two", List.of()),
- new JavaTypeRef(List.of(), "Three", List.of())
+ JavaTypeRef.ref(List.of(), "Two"),
+ JavaTypeRef.ref(List.of(), "Three")
)
);