From e4a13a6b9132d25ecfe0580b7986c2531319a3f6 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 2 May 2026 09:09:15 +0100 Subject: Store Java package name as list of strings --- .../compiler/output/generators/javatypes/JavaTypesGenerator.java | 2 +- .../java/org/zwobble/hobgoblin/compiler/output/java/JavaWriter.java | 2 +- .../hobgoblin/compiler/output/java/ast/JavaCompilationUnit.java | 4 +++- 3 files changed, 5 insertions(+), 3 deletions(-) (limited to 'src/main/java') 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 41070ef..2f024be 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 @@ -43,7 +43,7 @@ public class JavaTypesGenerator implements Generator { switch (statement) { case TypedStructDefinitionNode structDefinition -> { var javaCompilationUnit = new JavaCompilationUnit( - String.join(".", packageParts), + packageParts, new JavaRecordDeclaration( structDefinition.name(), structDefinition.fields().stream() diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/java/JavaWriter.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/java/JavaWriter.java index 5e169c5..36da8ba 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/java/JavaWriter.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/java/JavaWriter.java @@ -22,7 +22,7 @@ public class JavaWriter implements AutoCloseable { public void writeCompilationUnit(JavaCompilationUnit compilationUnit) throws IOException { this.writer.write("package "); - this.writer.write(compilationUnit.packageName()); + this.writer.write(String.join(".", compilationUnit.packageName())); this.writer.write(";"); this.writer.newLine(); this.writer.newLine(); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/java/ast/JavaCompilationUnit.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/java/ast/JavaCompilationUnit.java index de88d7b..91cff3f 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/java/ast/JavaCompilationUnit.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/java/ast/JavaCompilationUnit.java @@ -1,7 +1,9 @@ package org.zwobble.hobgoblin.compiler.output.java.ast; +import java.util.List; + public record JavaCompilationUnit( - String packageName, + List packageName, JavaTypeDeclaration typeDeclaration ) { } -- cgit v1.2.3