@@ -63,10 +63,10 @@ public class JNIType {
6363 }
6464
6565 public static func toJava( value: [ Int8 ] ? , locals: UnsafeMutablePointer < [ jobject ] > ) -> jvalue {
66- if var value: [ Int8 ] = value, let array: jbyteArray = JNI . api. NewByteArray ( JNI . env, jsize ( value. count) ) {
67- withUnsafePointer ( to : & value[ 0 ] ) {
66+ if let value: [ Int8 ] = value, let array: jbyteArray = JNI . api. NewByteArray ( JNI . env, jsize ( value. count) ) {
67+ value. withUnsafeBufferPointer {
6868 valuePtr in
69- JNI . api. SetByteArrayRegion ( JNI . env, array, 0 , jsize ( value . count) , valuePtr )
69+ JNI . api. SetByteArrayRegion ( JNI . env, array, 0 , jsize ( valuePtr . count) , valuePtr. baseAddress )
7070 }
7171 locals. pointee. append ( array )
7272 return jvalue ( l: array )
@@ -106,10 +106,10 @@ public class JNIType {
106106 }
107107
108108 public static func toJava( value: [ Int16 ] ? , locals: UnsafeMutablePointer < [ jobject ] > ) -> jvalue {
109- if var value: [ Int16 ] = value, let array: jshortArray = JNI . api. NewShortArray ( JNI . env, jsize ( value. count) ) {
110- withUnsafePointer ( to : & value[ 0 ] ) {
109+ if let value: [ Int16 ] = value, let array: jshortArray = JNI . api. NewShortArray ( JNI . env, jsize ( value. count) ) {
110+ value. withUnsafeBufferPointer {
111111 valuePtr in
112- JNI . api. SetShortArrayRegion ( JNI . env, array, 0 , jsize ( value . count) , valuePtr )
112+ JNI . api. SetShortArrayRegion ( JNI . env, array, 0 , jsize ( valuePtr . count) , valuePtr. baseAddress )
113113 }
114114 locals. pointee. append ( array )
115115 return jvalue ( l: array )
@@ -149,10 +149,10 @@ public class JNIType {
149149 }
150150
151151 public static func toJava( value: [ UInt16 ] ? , locals: UnsafeMutablePointer < [ jobject ] > ) -> jvalue {
152- if var value: [ UInt16 ] = value, let array: jcharArray = JNI . api. NewCharArray ( JNI . env, jsize ( value. count) ) {
153- withUnsafePointer ( to : & value[ 0 ] ) {
152+ if let value: [ UInt16 ] = value, let array: jcharArray = JNI . api. NewCharArray ( JNI . env, jsize ( value. count) ) {
153+ value. withUnsafeBufferPointer {
154154 valuePtr in
155- JNI . api. SetCharArrayRegion ( JNI . env, array, 0 , jsize ( value . count) , valuePtr )
155+ JNI . api. SetCharArrayRegion ( JNI . env, array, 0 , jsize ( valuePtr . count) , valuePtr. baseAddress )
156156 }
157157 locals. pointee. append ( array )
158158 return jvalue ( l: array )
@@ -192,11 +192,11 @@ public class JNIType {
192192 }
193193
194194 public static func toJava( value: [ Int32 ] ? , locals: UnsafeMutablePointer < [ jobject ] > ) -> jvalue {
195- if var value: [ Int32 ] = value, let array: jintArray = JNI . api. NewIntArray ( JNI . env, jsize ( value. count) ) {
196- withUnsafePointer ( to : & value[ 0 ] ) {
195+ if let value: [ Int32 ] = value, let array: jintArray = JNI . api. NewIntArray ( JNI . env, jsize ( value. count) ) {
196+ value. withUnsafeBufferPointer {
197197 valuePtr in
198- valuePtr. withMemoryRebound ( to: jint. self, capacity : value . count ) {
199- JNI . api. SetIntArrayRegion ( JNI . env, array, 0 , jsize ( value . count) , $0)
198+ valuePtr. withMemoryRebound ( to: jint. self) {
199+ JNI . api. SetIntArrayRegion ( JNI . env, array, 0 , jsize ( $0 . count) , $0. baseAddress )
200200 }
201201 }
202202 locals. pointee. append ( array )
@@ -210,10 +210,10 @@ public class JNIType {
210210 defer { if consume { JNI . DeleteLocalRef ( from ) } }
211211 let length : jsize = JNI . api. GetArrayLength ( JNI . env, from )
212212 var value = [ Int32] ( repeating: Int32 ( ) , count: Int ( length) )
213- withUnsafeMutablePointer ( to : & value[ 0 ] ) {
213+ value. withUnsafeMutableBufferPointer {
214214 valuePtr in
215- valuePtr. withMemoryRebound ( to: jint. self, capacity : value . count ) {
216- JNI . api. GetIntArrayRegion ( JNI . env, from, 0 , length, $0 )
215+ valuePtr. withMemoryRebound ( to: jint. self ) {
216+ JNI . api. GetIntArrayRegion ( JNI . env, from, 0 , length, $0. baseAddress )
217217 }
218218 }
219219 return value
@@ -283,10 +283,10 @@ public class JNIType {
283283 }
284284
285285 public static func toJava( value: [ Int64 ] ? , locals: UnsafeMutablePointer < [ jobject ] > ) -> jvalue {
286- if var value: [ Int64 ] = value, let array: jlongArray = JNI . api. NewLongArray ( JNI . env, jsize ( value. count) ) {
287- withUnsafePointer ( to : & value[ 0 ] ) {
286+ if let value: [ Int64 ] = value, let array: jlongArray = JNI . api. NewLongArray ( JNI . env, jsize ( value. count) ) {
287+ value. withUnsafeBufferPointer {
288288 valuePtr in
289- JNI . api. SetLongArrayRegion ( JNI . env, array, 0 , jsize ( value . count) , valuePtr )
289+ JNI . api. SetLongArrayRegion ( JNI . env, array, 0 , jsize ( valuePtr . count) , valuePtr. baseAddress )
290290 }
291291 locals. pointee. append ( array )
292292 return jvalue ( l: array )
@@ -326,10 +326,10 @@ public class JNIType {
326326 }
327327
328328 public static func toJava( value: [ Float ] ? , locals: UnsafeMutablePointer < [ jobject ] > ) -> jvalue {
329- if var value: [ Float ] = value, let array: jfloatArray = JNI . api. NewFloatArray ( JNI . env, jsize ( value. count) ) {
330- withUnsafePointer ( to : & value[ 0 ] ) {
329+ if let value: [ Float ] = value, let array: jfloatArray = JNI . api. NewFloatArray ( JNI . env, jsize ( value. count) ) {
330+ value. withUnsafeBufferPointer {
331331 valuePtr in
332- JNI . api. SetFloatArrayRegion ( JNI . env, array, 0 , jsize ( value . count) , valuePtr )
332+ JNI . api. SetFloatArrayRegion ( JNI . env, array, 0 , jsize ( valuePtr . count) , valuePtr. baseAddress )
333333 }
334334 locals. pointee. append ( array )
335335 return jvalue ( l: array )
@@ -369,10 +369,10 @@ public class JNIType {
369369 }
370370
371371 public static func toJava( value: [ Double ] ? , locals: UnsafeMutablePointer < [ jobject ] > ) -> jvalue {
372- if var value: [ Double ] = value, let array: jdoubleArray = JNI . api. NewDoubleArray ( JNI . env, jsize ( value. count) ) {
373- withUnsafePointer ( to : & value[ 0 ] ) {
372+ if let value: [ Double ] = value, let array: jdoubleArray = JNI . api. NewDoubleArray ( JNI . env, jsize ( value. count) ) {
373+ value. withUnsafeBufferPointer {
374374 valuePtr in
375- JNI . api. SetDoubleArrayRegion ( JNI . env, array, 0 , jsize ( value . count) , valuePtr )
375+ JNI . api. SetDoubleArrayRegion ( JNI . env, array, 0 , jsize ( valuePtr . count) , valuePtr. baseAddress )
376376 }
377377 locals. pointee. append ( array )
378378 return jvalue ( l: array )
0 commit comments