diff options
| -rw-r--r-- | src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatypes/JavaTypesGenerator.java | 31 |
1 files changed, 19 insertions, 12 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 be859b3..1259552 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 @@ -86,18 +86,7 @@ public class JavaTypesGenerator implements Generator { case TypedStructDefinitionNode structDefinition -> { var javaCompilationUnit = new JavaCompilationUnit( packageParts, - new JavaRecordDeclaration( - structDefinition.name(), - structDefinition.fields().stream() - .map(field -> new JavaRecordComponent( - generateTypeRef(field.type()), - field.name() - )) - .toList(), - javaClassToImplementsType.getOrDefault(structDefinition.name(), List.of()), - List.of(), - structDefinition.docComment() - ) + generateStructDefinition(structDefinition, javaClassToImplementsType) ); javaCompilationUnits.add(javaCompilationUnit); @@ -123,6 +112,24 @@ public class JavaTypesGenerator implements Generator { return javaCompilationUnits; } + private JavaRecordDeclaration generateStructDefinition( + TypedStructDefinitionNode structDefinition, + HashMap<String, List<JavaTypeRef>> javaClassToImplementsType + ) { + return new JavaRecordDeclaration( + structDefinition.name(), + structDefinition.fields().stream() + .map(field -> new JavaRecordComponent( + generateTypeRef(field.type()), + field.name() + )) + .toList(), + javaClassToImplementsType.getOrDefault(structDefinition.name(), List.of()), + List.of(), + structDefinition.docComment() + ); + } + private ArrayList<String> namespaceToJavaPackageParts(NamespaceName namespaceName) { var packageParts = new ArrayList<>(this.packageName); packageParts.addAll(namespaceName.parts()); |
