From 1eeb7180140b4f6dad892010c1e60e03c2fa1bbe Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Fri, 12 Jun 2026 16:32:33 +0100 Subject: Add super type args --- .../compiler/output/lang/java/JavaWriterTests.java | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'src/test/java') 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 0e24939..8ad22f9 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 @@ -764,8 +764,8 @@ public class JavaWriterTests { List.of("abc", "def"), "One", List.of( - JavaTypeRef.topLevel(List.of(), "Two"), - JavaTypeRef.topLevel(List.of(), "Three") + JavaTypeArg.invariant(JavaTypeRef.topLevel(List.of(), "Two")), + JavaTypeArg.invariant(JavaTypeRef.topLevel(List.of(), "Three")) ) ); @@ -774,6 +774,22 @@ public class JavaWriterTests { assertThat(string, equalTo("abc.def.One")); } + @Test + public void typeRefArgCanBeSuper() throws IOException { + var java = JavaTypeRef.topLevelGeneric( + List.of("abc", "def"), + "One", + List.of( + JavaTypeArg.superType(JavaTypeRef.topLevel(List.of(), "Two")), + JavaTypeArg.superType(JavaTypeRef.topLevel(List.of(), "Three")) + ) + ); + + var string = write(writer -> writer.writeTypeRef(java)); + + assertThat(string, equalTo("abc.def.One")); + } + @Test public void typeRefInnerTypeNameIsSeparatedByDot() throws IOException { var java = JavaTypeRef.inner(List.of("abc", "def"), "One", "Two"); -- cgit v1.2.3