summaryrefslogtreecommitdiff
path: root/src/main/java/org
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org')
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriter.java18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriter.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriter.java
index 664c322..59de6b7 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriter.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriter.java
@@ -27,7 +27,7 @@ public class JavaWriter implements AutoCloseable {
writeTypeDeclaration(compilationUnit.typeDeclaration());
}
- private void writeTypeDeclaration(JavaTypeDeclaration typeDeclaration) throws IOException {
+ void writeTypeDeclaration(JavaTypeDeclaration typeDeclaration) throws IOException {
switch (typeDeclaration) {
case JavaInterfaceDeclaration interfaceDeclaration -> {
writeInterfaceDeclaration(interfaceDeclaration);
@@ -44,13 +44,15 @@ public class JavaWriter implements AutoCloseable {
this.writer.write(interfaceDeclaration.name());
this.writer.write(" ");
- writer.write("permits ");
- writeWithSeparator(
- interfaceDeclaration.permitsTypes(),
- this::writeTypeRef,
- () -> writer.write(", ")
- );
- writer.write(" ");
+ if (!interfaceDeclaration.permitsTypes().isEmpty()) {
+ writer.write("permits ");
+ writeWithSeparator(
+ interfaceDeclaration.permitsTypes(),
+ this::writeTypeRef,
+ () -> writer.write(", ")
+ );
+ writer.write(" ");
+ }
this.writer.write("{");
this.writer.newLine();