Skip to content

Commit 05ceaaa

Browse files
committed
move call method name to JNIType
1 parent d4c66c8 commit 05ceaaa

File tree

2 files changed

+17
-19
lines changed

2 files changed

+17
-19
lines changed

Sources/JExtractSwiftLib/JNI/JNISwift2JavaGenerator+NativeTranslation.swift

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -335,7 +335,7 @@ extension JNISwift2JavaGenerator {
335335
"""
336336
)
337337

338-
let upcall = "environment!.interface.\(nativeResult.javaType.jniCallMethodAName)(environment, \(placeholder), methodID$, arguments$)"
338+
let upcall = "environment!.interface.\(nativeResult.javaType.jniType.callMethodAName)(environment, \(placeholder), methodID$, arguments$)"
339339
let result = nativeResult.conversion.render(&printer, upcall)
340340

341341
if nativeResult.javaType.isVoid {
@@ -352,21 +352,3 @@ extension JNISwift2JavaGenerator {
352352
}
353353
}
354354
}
355-
356-
extension JavaType {
357-
var jniCallMethodAName: String {
358-
switch self {
359-
case .boolean: "CallBooleanMethodA"
360-
case .byte: "CallByteMethodA"
361-
case .char: "CallCharMethodA"
362-
case .short: "CallShortMethodA"
363-
case .int: "CallIntMethodA"
364-
case .long: "CallLongMethodA"
365-
case .float: "CallFloatMethodA"
366-
case .double: "CallDoubleMethodA"
367-
case .void: "CallVoidMethodA"
368-
case .class: "CallObjectMethodA"
369-
case .array: "CallObjectMethodA"
370-
}
371-
}
372-
}

Sources/JExtractSwiftLib/JNI/JNIType.swift

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,22 @@ enum JNIType {
4040
case jfloatArray
4141
case jdoubleArray
4242
case jobjectArray
43+
44+
var callMethodAName: String {
45+
switch self {
46+
case .jboolean: "CallBooleanMethodA"
47+
case .jbyte: "CallByteMethodA"
48+
case .jchar: "CallCharMethodA"
49+
case .jshort: "CallShortMethodA"
50+
case .jint: "CallIntMethodA"
51+
case .jlong: "CallLongMethodA"
52+
case .jfloat: "CallFloatMethodA"
53+
case .jdouble: "CallDoubleMethodA"
54+
case .void: "CallVoidMethodA"
55+
case .jobject, .jstring, .jclass, .jthrowable: "CallObjectMethodA"
56+
case .jbooleanArray, .jbyteArray, .jcharArray, .jshortArray, .jintArray, .jlongArray, .jfloatArray, .jdoubleArray, .jobjectArray: "CallObjectMethodA"
57+
}
58+
}
4359
}
4460

4561
extension JavaType {

0 commit comments

Comments
 (0)