summaryrefslogtreecommitdiff
path: root/src/main/java/org
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-07-02 09:33:11 +0100
committerMichael Williamson <mike@zwobble.org>2026-07-02 09:33:44 +0100
commit7a68e62df187a56bedd9891881af1d4f70404e3e (patch)
treee10e5fc24ec4e76818e021112ca7ce769275083c /src/main/java/org
parentb40afc6390992a6e5263f6539dbca0aacc4c95de (diff)
Extract generateStructDefinition()
Diffstat (limited to 'src/main/java/org')
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttypes/RustTypesGenerator.java31
1 files changed, 19 insertions, 12 deletions
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttypes/RustTypesGenerator.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttypes/RustTypesGenerator.java
index 7cc17b9..99151c4 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttypes/RustTypesGenerator.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttypes/RustTypesGenerator.java
@@ -88,18 +88,7 @@ public class RustTypesGenerator implements Generator {
}
case TypedStructDefinitionNode structDefinition -> {
- var rustStructName = generateTypeName(structDefinition.name());
-
- var rustFields = structDefinition.fields().stream()
- .map(field -> new RustStructField(
- generateFieldName(field.name()),
- generateRustTypeExpression(field.type(), context)
- ))
- .toList();
-
- var rustStruct = new RustStructStruct(rustStructName, rustFields, structDefinition.docComment());
-
- yield List.of(rustStruct);
+ yield generateStructDefinition(structDefinition, context);
}
case TypedSumDefinitionNode sumDefinition -> {
@@ -108,6 +97,24 @@ public class RustTypesGenerator implements Generator {
};
}
+ private List<RustItem> generateStructDefinition(
+ TypedStructDefinitionNode structDefinition,
+ Context context
+ ) {
+ var rustStructName = generateTypeName(structDefinition.name());
+
+ var rustFields = structDefinition.fields().stream()
+ .map(field -> new RustStructField(
+ generateFieldName(field.name()),
+ generateRustTypeExpression(field.type(), context)
+ ))
+ .toList();
+
+ var rustStruct = new RustStructStruct(rustStructName, rustFields, structDefinition.docComment());
+
+ return List.of(rustStruct);
+ }
+
private RustType generateRustTypeExpression(
TypedTypeLevelExpressionNode<Type> type,
Context context