fix(kotlin): set isVoid to true for Unit datatypes (#21940)

This commit is contained in:
Knut Erik Langdahl 2025-09-11 14:17:05 +02:00 committed by GitHub
parent 5f647b8477
commit d523903827
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 21 additions and 0 deletions

View File

@ -1119,6 +1119,8 @@ public abstract class AbstractKotlinCodegen extends DefaultCodegen implements Co
}
protected interface DataTypeAssigner {
void setIsVoid(Boolean isVoid);
void setReturnType(String returnType);
void setReturnContainer(String returnContainer);
@ -1131,6 +1133,7 @@ public abstract class AbstractKotlinCodegen extends DefaultCodegen implements Co
protected void doDataTypeAssignment(final String returnType, DataTypeAssigner dataTypeAssigner) {
if (returnType == null) {
dataTypeAssigner.setReturnType("Unit");
dataTypeAssigner.setIsVoid(true);
} else if (returnType.startsWith("kotlin.collections.List")) {
int end = returnType.lastIndexOf(">");
if (end > 0) {

View File

@ -418,6 +418,11 @@ public class KotlinServerCodegen extends AbstractKotlinCodegen implements BeanVa
}
doDataTypeAssignment(resp.dataType, new DataTypeAssigner() {
@Override
public void setIsVoid(Boolean isVoid) {
resp.isVoid = isVoid;
}
@Override
public void setReturnType(final String returnType) {
resp.dataType = returnType;
@ -432,6 +437,10 @@ public class KotlinServerCodegen extends AbstractKotlinCodegen implements BeanVa
}
doDataTypeAssignment(operation.returnType, new DataTypeAssigner() {
@Override
public void setIsVoid(Boolean isVoid) {
operation.isVoid = isVoid;
}
@Override
public void setReturnType(final String returnType) {

View File

@ -880,6 +880,11 @@ public class KotlinSpringServerCodegen extends AbstractKotlinCodegen
resp.baseType = getNonMutableContainerTypeIfNeeded(resp.baseType);
doDataTypeAssignment(resp.dataType, new DataTypeAssigner() {
@Override
public void setIsVoid(Boolean isVoid) {
resp.isVoid = isVoid;
}
@Override
public void setReturnType(final String returnType) {
resp.dataType = returnType;
@ -904,6 +909,10 @@ public class KotlinSpringServerCodegen extends AbstractKotlinCodegen
}
doDataTypeAssignment(operation.returnType, new DataTypeAssigner() {
@Override
public void setIsVoid(Boolean isVoid) {
operation.isVoid = isVoid;
}
@Override
public void setReturnType(final String returnType) {