diff options
| author | Michael Williamson <mike@zwobble.org> | 2026-05-18 18:51:01 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2026-05-18 18:51:01 +0100 |
| commit | 5bf65e7bb33956e07bdf5b6075646512941d7a25 (patch) | |
| tree | fb3f92d9f225ef69f9816ad2ab4b058cf7111eef /src | |
| parent | 08fd0f4fd033ac65db684d9396c2d568370d6fb7 (diff) | |
Extract JavaTypeRef.generic()
Diffstat (limited to 'src')
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( |
