Skip to content

Commit 1d31a0c

Browse files
committed
classLoader as switch
1 parent 6b58f15 commit 1d31a0c

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

Package.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@ import PackageDescription
1111
let package = Package(
1212
name: "java_swift",
1313
dependencies: [
14-
.Package(url: "https://github.com/SwiftJava/CJavaVM.git", versions: Version(1,0,0)..<Version(10,0,0)),
14+
.Package(url: "https://github.com/SwiftJava/CJavaVM.git", versions: Version(1,1,4)..<Version(10,0,0)),
1515
]
1616
)

Sources/JNICore.swift

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -183,10 +183,12 @@ open class JNICore {
183183
open func FindClass( _ name: UnsafePointer<Int8>, _ file: StaticString = #file, _ line: Int = #line ) -> jclass? {
184184
autoInit()
185185
ExceptionReset()
186-
var clazz: jclass? = api.FindClass( env, name )
186+
var clazz: jclass?
187187

188-
if clazz == nil && classLoader != nil {
189-
api.ExceptionClear( env )
188+
if classLoader == nil {
189+
clazz = api.FindClass( env, name )
190+
}
191+
else {
190192
var locals = [jobject]()
191193
var args = [jvalue(l: String(cString: name).localJavaObject(&locals))]
192194
clazz = JNIMethod.CallObjectMethod(object: classLoader,
@@ -196,6 +198,7 @@ open class JNICore {
196198
args: &args,
197199
locals: &locals)
198200
}
201+
199202
if clazz == nil {
200203
report( "Could not find class \(String( cString: name ))", file, line )
201204
if strncmp( name, "org/swiftjava/", 14 ) == 0 {

0 commit comments

Comments
 (0)