From 1d80b1c242ef4188deac4921e6e67bd91ba6708f Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Mon, 18 May 2026 23:57:59 +0100 Subject: Support static method declarations in Java --- .../compiler/output/lang/java/JavaWriterTests.java | 27 +++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) (limited to 'src/test/java/org') 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 531a7ff..f54f0bf 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 @@ -36,12 +36,14 @@ public class JavaWriterTests { List.of( new JavaMethodDeclaration( "a", + JavaMethodKind.INSTANCE, JavaTypeRef.VOID, List.of(), JavaBlock.EMPTY ), new JavaMethodDeclaration( "b", + JavaMethodKind.INSTANCE, JavaTypeRef.VOID, List.of(), JavaBlock.EMPTY @@ -178,12 +180,14 @@ public class JavaWriterTests { List.of( new JavaMethodDeclaration( "a", + JavaMethodKind.INSTANCE, JavaTypeRef.VOID, List.of(), JavaBlock.EMPTY ), new JavaMethodDeclaration( "b", + JavaMethodKind.INSTANCE, JavaTypeRef.VOID, List.of(), JavaBlock.EMPTY @@ -206,9 +210,10 @@ public class JavaWriterTests { } @Test - public void emptyMethod() throws IOException { + public void emptyInstanceMethod() throws IOException { var java = new JavaMethodDeclaration( "a", + JavaMethodKind.INSTANCE, JavaTypeRef.VOID, List.of(), JavaBlock.EMPTY @@ -222,10 +227,29 @@ public class JavaWriterTests { )); } + @Test + public void emptyStaticMethod() throws IOException { + var java = new JavaMethodDeclaration( + "a", + JavaMethodKind.STATIC, + JavaTypeRef.VOID, + List.of(), + JavaBlock.EMPTY + ); + + var string = write(writer -> writer.writeMethodDeclaration(java)); + + assertThat(string, equalTo(""" + public static void a() { + }""" + )); + } + @Test public void methodWithParams() throws IOException { var java = new JavaMethodDeclaration( "a", + JavaMethodKind.INSTANCE, JavaTypeRef.VOID, List.of( new JavaParam(JavaTypeRef.INT, "b"), @@ -246,6 +270,7 @@ public class JavaWriterTests { public void methodWithBody() throws IOException { var java = new JavaMethodDeclaration( "a", + JavaMethodKind.INSTANCE, JavaTypeRef.INT, List.of(), new JavaBlock(List.of( -- cgit v1.2.3