@@ -63,10 +63,10 @@ public class JNIType {
63
63
}
64
64
65
65
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 {
68
68
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 )
70
70
}
71
71
locals. pointee. append ( array )
72
72
return jvalue ( l: array )
@@ -106,10 +106,10 @@ public class JNIType {
106
106
}
107
107
108
108
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 {
111
111
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 )
113
113
}
114
114
locals. pointee. append ( array )
115
115
return jvalue ( l: array )
@@ -149,10 +149,10 @@ public class JNIType {
149
149
}
150
150
151
151
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 {
154
154
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 )
156
156
}
157
157
locals. pointee. append ( array )
158
158
return jvalue ( l: array )
@@ -192,11 +192,11 @@ public class JNIType {
192
192
}
193
193
194
194
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 {
197
197
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 )
200
200
}
201
201
}
202
202
locals. pointee. append ( array )
@@ -210,10 +210,10 @@ public class JNIType {
210
210
defer { if consume { JNI . DeleteLocalRef ( from ) } }
211
211
let length : jsize = JNI . api. GetArrayLength ( JNI . env, from )
212
212
var value = [ Int32] ( repeating: Int32 ( ) , count: Int ( length) )
213
- withUnsafeMutablePointer ( to : & value[ 0 ] ) {
213
+ value. withUnsafeMutableBufferPointer {
214
214
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 )
217
217
}
218
218
}
219
219
return value
@@ -283,10 +283,10 @@ public class JNIType {
283
283
}
284
284
285
285
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 {
288
288
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 )
290
290
}
291
291
locals. pointee. append ( array )
292
292
return jvalue ( l: array )
@@ -326,10 +326,10 @@ public class JNIType {
326
326
}
327
327
328
328
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 {
331
331
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 )
333
333
}
334
334
locals. pointee. append ( array )
335
335
return jvalue ( l: array )
@@ -369,10 +369,10 @@ public class JNIType {
369
369
}
370
370
371
371
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 {
374
374
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 )
376
376
}
377
377
locals. pointee. append ( array )
378
378
return jvalue ( l: array )
0 commit comments