diff options
| author | Michael Williamson <mike@zwobble.org> | 2026-07-10 20:40:38 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2026-07-10 20:40:38 +0100 |
| commit | 888892b8c17179e53cdc997abfa785333ece26cd (patch) | |
| tree | fb16f5af50fee469dd67db3319920469f3e67dda /src/main/java/org | |
| parent | 215ead6190a3c54969e93dd180632ca1e3574de2 (diff) | |
Handle boxing in builder methods for list fields
Diffstat (limited to 'src/main/java/org')
| -rw-r--r-- | src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatypes/JavaTypesGenerator.java | 9 |
1 files changed, 5 insertions, 4 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 b445747..de2596d 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 @@ -264,7 +264,8 @@ public class JavaTypesGenerator implements Generator { fieldConstructedNativeType.constructor().equals(NativeTypes.LIST) ) { var elementType = fieldConstructedNativeType.args().getFirst(); - var javaElementType = generateTypeRef(elementType, context); + var javaElementUnboxedType = generateTypeRef(elementType, context); + var javaElementBoxedType = this.javaGenerator.generateReferenceTypeRef(elementType); var singularFieldName = field.name().endsWith("s") ? field.name().substring(0, field.name().length() - 1) @@ -279,7 +280,7 @@ public class JavaTypesGenerator implements Generator { JavaMethodKind.INSTANCE, builderJavaTypeRef, List.of( - new JavaParam(javaElementType, javaElementName) + new JavaParam(javaElementUnboxedType, javaElementName) ), List.of(), new JavaBlock(List.of( @@ -287,7 +288,7 @@ public class JavaTypesGenerator implements Generator { Optional.empty(), javaFieldName, new JavaNewExpression( - JavaTypeRef.arrayList(javaElementType), + JavaTypeRef.arrayList(javaElementBoxedType), List.of(new JavaFieldAccess(JavaRef.THIS, javaFieldName)) ) ), @@ -320,7 +321,7 @@ public class JavaTypesGenerator implements Generator { Optional.empty(), javaFieldName, new JavaNewExpression( - JavaTypeRef.arrayList(javaElementType), + JavaTypeRef.arrayList(javaElementBoxedType), List.of(new JavaFieldAccess(JavaRef.THIS, javaFieldName)) ) ), |
