@@ -26,7 +26,7 @@ pub(crate) fn jvm() -> std::sync::Arc<jni::JavaVM> {
2626
2727/// Called upon initialisation of the JVM.
2828#[ allow( non_snake_case) ]
29- #[ no_mangle]
29+ #[ unsafe ( no_mangle) ]
3030pub extern "system" fn JNI_OnLoad ( vm : jni:: JavaVM , _: * mut std:: ffi:: c_void ) -> jni:: sys:: jint {
3131 unsafe { JVM = Some ( std:: sync:: Arc :: new ( vm) ) } ;
3232 jni:: sys:: JNI_VERSION_1_1
@@ -320,23 +320,25 @@ impl<'j> jni_toolbox::FromJava<'j> for crate::api::Config {
320320 config : Self :: From ,
321321 ) -> Result < Self , jni:: errors:: Error > {
322322 let username = {
323- let jfield = env
323+ let jfield: jni :: objects :: JString < ' j > = env
324324 . get_field ( & config, "username" , "Ljava/lang/String;" ) ?
325- . l ( ) ?;
325+ . l ( ) ?
326+ . into ( ) ;
326327 if jfield. is_null ( ) {
327328 return Err ( jni:: errors:: Error :: NullPtr ( "Username can never be null!" ) ) ;
328329 }
329- unsafe { env. get_string_unchecked ( & jfield. into ( ) ) } ?. into ( )
330+ unsafe { env. get_string_unchecked ( & jfield) } ?. into ( )
330331 } ;
331332
332333 let password = {
333- let jfield = env
334+ let jfield: jni :: objects :: JString < ' j > = env
334335 . get_field ( & config, "password" , "Ljava/lang/String;" ) ?
335- . l ( ) ?;
336+ . l ( ) ?
337+ . into ( ) ;
336338 if jfield. is_null ( ) {
337339 return Err ( jni:: errors:: Error :: NullPtr ( "Password can never be null!" ) ) ;
338340 }
339- unsafe { env. get_string_unchecked ( & jfield. into ( ) ) } ?. into ( )
341+ unsafe { env. get_string_unchecked ( & jfield) } ?. into ( )
340342 } ;
341343
342344 let host = {
@@ -346,8 +348,9 @@ impl<'j> jni_toolbox::FromJava<'j> for crate::api::Config {
346348 if env. call_method ( & jfield, "isPresent" , "()Z" , & [ ] ) ?. z ( ) ? {
347349 let field = env
348350 . call_method ( & jfield, "get" , "()Ljava/lang/Object;" , & [ ] ) ?
349- . l ( ) ?;
350- Some ( unsafe { env. get_string_unchecked ( & field. into ( ) ) } ?. into ( ) )
351+ . l ( ) ?
352+ . into ( ) ;
353+ Some ( unsafe { env. get_string_unchecked ( & field) } ?. into ( ) )
351354 } else {
352355 None
353356 }
@@ -412,13 +415,14 @@ impl<'j> jni_toolbox::FromJava<'j> for crate::api::Selection {
412415 let end_col = env. get_field ( & cursor, "endCol" , "I" ) ?. i ( ) ?;
413416
414417 let buffer = {
415- let jfield = env
418+ let jfield: jni :: objects :: JString < ' j > = env
416419 . get_field ( & cursor, "buffer" , "Ljava/lang/String;" ) ?
417- . l ( ) ?;
420+ . l ( ) ?
421+ . into ( ) ;
418422 if jfield. is_null ( ) {
419423 return Err ( jni:: errors:: Error :: NullPtr ( "Buffer can never be null!" ) ) ;
420424 }
421- unsafe { env. get_string_unchecked ( & jfield. into ( ) ) } ?. into ( )
425+ unsafe { env. get_string_unchecked ( & jfield) } ?. into ( )
422426 } ;
423427
424428 Ok ( Self {
@@ -447,13 +451,14 @@ impl<'j> jni_toolbox::FromJava<'j> for crate::api::TextChange {
447451 . clamp ( 0 , u32:: MAX . into ( ) ) as u32 ;
448452
449453 let content = {
450- let jfield = env
454+ let jfield: jni :: objects :: JString < ' j > = env
451455 . get_field ( & change, "content" , "Ljava/lang/String;" ) ?
452- . l ( ) ?;
456+ . l ( ) ?
457+ . into ( ) ;
453458 if jfield. is_null ( ) {
454459 return Err ( jni:: errors:: Error :: NullPtr ( "Content can never be null!" ) ) ;
455460 }
456- unsafe { env. get_string_unchecked ( & jfield. into ( ) ) } ?. into ( )
461+ unsafe { env. get_string_unchecked ( & jfield) } ?. into ( )
457462 } ;
458463
459464 Ok ( Self {
0 commit comments