Skip to content

Commit b7805e7

Browse files
committed
Dev: fix Error construct
1 parent db575d4 commit b7805e7

3 files changed

Lines changed: 12 additions & 4 deletions

File tree

compiler/src/main/java/com/readdle/codegen/SwiftCallbackFuncDescriptor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ void generateCode(SwiftWriter swiftWriter, String javaFullName, String swiftType
182182

183183
if (returnSwiftType != null) {
184184
swiftWriter.emitStatement("do {");
185-
swiftWriter.emitStatement(String.format("return try %s.from(javaObject: result)", returnSwiftType.swiftType));
185+
swiftWriter.emitStatement(String.format("return try %s.from(javaObject: result)", returnSwiftType.swiftConstructorType));
186186
swiftWriter.emitStatement("}");
187187
swiftWriter.emitStatement("catch {");
188188
swiftWriter.emitStatement("let errorString = String(reflecting: type(of: error)) + String(describing: error)");

compiler/src/main/java/com/readdle/codegen/SwiftEnvironment.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,18 @@ class SwiftEnvironment {
77
static class Type {
88
final String swiftType;
99
final String javaPackage;
10+
final String swiftConstructorType;
1011

1112
Type(String swiftType, String javaPackage) {
1213
this.swiftType = swiftType;
1314
this.javaPackage = javaPackage;
15+
this.swiftConstructorType = swiftType;
16+
}
17+
18+
Type(String swiftType, String javaPackage, String swiftConstructorType) {
19+
this.swiftType = swiftType;
20+
this.javaPackage = javaPackage;
21+
this.swiftConstructorType = swiftConstructorType;
1422
}
1523

1624
@Override
@@ -47,7 +55,7 @@ public static Type parseJavaType(String javaType) {
4755
case "java.nio.ByteBuffer":
4856
return new Type("Data", null);
4957
case "java.lang.Exception":
50-
return new Type("Error", null);
58+
return new Type("Error", null, "NSError");
5159
default:
5260
try {
5361
if (javaType.startsWith("java.util.ArrayList<")) {

compiler/src/main/java/com/readdle/codegen/SwiftFuncDescriptor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,13 +99,13 @@ void generateCode(SwiftWriter swiftWriter, String javaFullName, String swiftType
9999
for (SwiftParamDescriptor param : params) {
100100
if (param.isOptional) {
101101
swiftWriter.emitStatement(String.format("if let j%1$s = j%1$s {", param.name));
102-
swiftWriter.emitStatement(String.format("%1$s = try %2$s.from(javaObject: j%1$s)", param.name, param.swiftType.swiftType));
102+
swiftWriter.emitStatement(String.format("%1$s = try %2$s.from(javaObject: j%1$s)", param.name, param.swiftType.swiftConstructorType));
103103
swiftWriter.emitStatement("} else {");
104104
swiftWriter.emitStatement(String.format("%s = nil", param.name));
105105
swiftWriter.emitStatement("}");
106106
}
107107
else {
108-
swiftWriter.emitStatement(String.format("%1$s = try %2$s.from(javaObject: j%1$s)", param.name, param.swiftType.swiftType));
108+
swiftWriter.emitStatement(String.format("%1$s = try %2$s.from(javaObject: j%1$s)", param.name, param.swiftType.swiftConstructorType));
109109
}
110110
}
111111
swiftWriter.emitStatement("}");

0 commit comments

Comments
 (0)