@@ -62,7 +62,10 @@ public void generateCode(SwiftWriter swiftWriter, String javaFullName, String sw
62
62
63
63
String retType = "" ;
64
64
if (returnSwiftType != null ) {
65
- retType = " -> " + returnSwiftType .javaSigType (isReturnTypeOptional ) + "?" ;
65
+ retType = " -> " + returnSwiftType .javaSigType (isReturnTypeOptional );
66
+ if (isReturnTypeOptional || !returnSwiftType .isPrimitiveType ()) {
67
+ retType += "?" ;
68
+ }
66
69
}
67
70
68
71
swiftWriter .emit (String .format (")%s {\n " , retType ));
@@ -75,7 +78,12 @@ public void generateCode(SwiftWriter swiftWriter, String javaFullName, String sw
75
78
swiftWriter .emitStatement ("}" );
76
79
swiftWriter .emitStatement ("catch {" );
77
80
Utils .handleRuntimeError (swiftWriter );
78
- swiftWriter .emitStatement (String .format ("return%s" , returnSwiftType != null ? " nil" : "" ));
81
+ if (!isReturnTypeOptional && returnSwiftType .isPrimitiveType ()) {
82
+ swiftWriter .emitStatement ("return " + returnSwiftType .primitiveDefaultValue ());
83
+ }
84
+ else {
85
+ swiftWriter .emitStatement ("return nil" );
86
+ }
79
87
swiftWriter .emitStatement ("}" );
80
88
}
81
89
@@ -96,7 +104,12 @@ public void generateCode(SwiftWriter swiftWriter, String javaFullName, String sw
96
104
swiftWriter .emitStatement ("}" );
97
105
swiftWriter .emitStatement ("catch {" );
98
106
Utils .handleRuntimeError (swiftWriter );
99
- swiftWriter .emitStatement ("return nil" );
107
+ if (!isReturnTypeOptional && returnSwiftType .isPrimitiveType ()) {
108
+ swiftWriter .emitStatement ("return " + returnSwiftType .primitiveDefaultValue ());
109
+ }
110
+ else {
111
+ swiftWriter .emitStatement ("return nil" );
112
+ }
100
113
swiftWriter .emitStatement ("}" );
101
114
}
102
115
0 commit comments