@@ -28,7 +28,7 @@ extension JNIObjectProtocol {
28
28
29
29
public func withJavaObject< Result> ( _ body: @escaping ( jobject ? ) throws -> Result ) rethrows -> Result {
30
30
var locals = [ jobject] ( )
31
- let javaObject = localJavaObject ( & locals )
31
+ let javaObject : jobject ? = localJavaObject ( & locals )
32
32
defer {
33
33
for local in locals {
34
34
JNI . DeleteLocalRef ( local )
@@ -66,7 +66,7 @@ open class JNIObject: JNIObjectProtocol, JNIObjectInit {
66
66
}
67
67
set ( newValue) {
68
68
if newValue != _javaObject {
69
- let oldValue = _javaObject
69
+ let oldValue : jobject ? = _javaObject
70
70
if newValue != nil {
71
71
_javaObject = JNI . api. NewGlobalRef ( JNI . env, newValue )
72
72
}
@@ -93,7 +93,7 @@ open class JNIObject: JNIObjectProtocol, JNIObjectInit {
93
93
}
94
94
95
95
open func localJavaObject( _ locals: UnsafeMutablePointer < [ jobject ] > ) -> jobject ? {
96
- if let local = _javaObject != nil ? JNI . api. NewLocalRef ( JNI . env, _javaObject ) : nil {
96
+ if let local: jobject = _javaObject != nil ? JNI . api. NewLocalRef ( JNI . env, _javaObject ) : nil {
97
97
locals. pointee. append ( local )
98
98
return local
99
99
}
@@ -114,7 +114,7 @@ open class JNIObjectForward: JNIObject {
114
114
extension String : JNIObjectProtocol {
115
115
116
116
public func localJavaObject( _ locals: UnsafeMutablePointer < [ jobject ] > ) -> jobject ? {
117
- if let javaObject = Array ( utf16) . withUnsafeBufferPointer ( {
117
+ if let javaObject: jstring = Array ( utf16) . withUnsafeBufferPointer ( {
118
118
JNI . env? . pointee? . pointee. NewString ( JNI . env, $0. baseAddress, jsize ( $0. count) )
119
119
} ) {
120
120
locals. pointee. append ( javaObject )
@@ -128,7 +128,7 @@ extension String: JNIObjectInit {
128
128
129
129
public init ( javaObject: jobject ? ) {
130
130
var isCopy : jboolean = 0
131
- if let javaObject = javaObject, let value = JNI . api. GetStringChars ( JNI . env, javaObject, & isCopy ) {
131
+ if let javaObject: jobject = javaObject, let value: UnsafePointer < jchar > = JNI . api. GetStringChars ( JNI . env, javaObject, & isCopy ) {
132
132
self . init ( utf16CodeUnits: value, count: Int ( JNI . api. GetStringLength ( JNI . env, javaObject ) ) )
133
133
if isCopy != 0 || true {
134
134
JNI . api. ReleaseStringChars ( JNI . env, javaObject, value ) ////
@@ -144,7 +144,7 @@ extension jobject {
144
144
145
145
public func arrayMap< T> ( block: ( _ javaObject: jobject ? ) -> T ) -> [ T ] {
146
146
return ( 0 ..< JNI . api. GetArrayLength ( JNI . env, self ) ) . map {
147
- let element = JNI . api. GetObjectArrayElement ( JNI . env, self , $0 )
147
+ let element : jobject ? = JNI . api. GetObjectArrayElement ( JNI . env, self , $0 )
148
148
defer { JNI . DeleteLocalRef ( element ) }
149
149
return block ( element )
150
150
}
@@ -167,15 +167,15 @@ extension JNIType {
167
167
public static func toJavaArray< T> ( value: [ T ] ? , locals: UnsafeMutablePointer < [ jobject ] > ,
168
168
block: ( _ value: T , _ locals: UnsafeMutablePointer < [ jobject ] > ) -> jvalue ) -> jvalue {
169
169
var array : jarray ?
170
- if let value = value {
170
+ if let value: [ T ] = value {
171
171
for i in 0 ..< value. count {
172
172
var sublocals = [ jobject] ( )
173
- let element = block ( value [ i] , & sublocals ) . l
173
+ let element : jobject ? = block ( value [ i] , & sublocals ) . l
174
174
if array == nil {
175
175
if element == nil {
176
176
break
177
177
}
178
- let elementClass = JNI . GetObjectClass ( element, & sublocals )
178
+ let elementClass : jclass ? = JNI . GetObjectClass ( element, & sublocals )
179
179
array = JNI . api. NewObjectArray ( JNI . env, jsize ( value. count) , elementClass, nil )
180
180
}
181
181
JNI . api. SetObjectArrayElement ( JNI . env, array, jsize ( i) , element )
@@ -210,19 +210,19 @@ extension JNIType {
210
210
}
211
211
212
212
public static func toSwift< T: JNIObjectInit > ( type: T . Type , from: jobject ? , consume: Bool = true ) -> T ? {
213
- guard let from = from else { return nil }
213
+ guard let from: jobject = from else { return nil }
214
214
defer { if consume { JNI . DeleteLocalRef ( from ) } }
215
215
return T ( javaObject: from )
216
216
}
217
217
218
218
public static func toSwift< T: JNIObjectInit > ( type: [ T ] . Type, from: jobject ? , consume: Bool = true ) -> [ T ] ? {
219
- guard let from = from else { return nil }
219
+ guard let from: jobject = from else { return nil }
220
220
defer { if consume { JNI . DeleteLocalRef ( from ) } }
221
221
return from. arrayMap { T ( javaObject: $0 ) }
222
222
}
223
223
224
224
public static func toSwift< T: JNIObjectInit > ( type: [ [ T ] ] . Type, from: jobject ? , consume: Bool = true ) -> [ [ T ] ] ? {
225
- guard let from = from else { return nil }
225
+ guard let from: jobject = from else { return nil }
226
226
defer { if consume { JNI . DeleteLocalRef ( from ) } }
227
227
return from. arrayMap { toSwift ( type: [ T ] . self, from: $0, consume: false ) ?? [ T] ( ) }
228
228
}
@@ -231,14 +231,14 @@ extension JNIType {
231
231
return jvalue ( l: value? . localJavaObject ( locals ) )
232
232
}
233
233
234
- public static func toJava( value: [ String : JNIObjectProtocol ] ? , mapClass: String , locals: UnsafeMutablePointer < [ jobject ] > ) -> jvalue {
235
- guard let value = value else { return jvalue ( l: nil ) }
234
+ public static func toJava( value: [ String : JNIObjectProtocol ] ? , mapClass: String , locals: UnsafeMutablePointer < [ jobject ] > ) -> jvalue {
235
+ guard let value: [ String : JNIObjectProtocol ] = value else { return jvalue ( l: nil ) }
236
236
237
237
var classCache : jclass ?
238
238
var methodID : jmethodID ?
239
239
var __locals = [ jobject] ( )
240
240
var __args = [ jvalue] ( repeating: jvalue ( ) , count: 1 )
241
- guard let __object = JNIMethod . NewObject ( className: mapClass, classCache: & classCache,
241
+ guard let __object: jobject = JNIMethod . NewObject ( className: mapClass, classCache: & classCache,
242
242
methodSig: " ()V " , methodCache: & methodID, args: & __args, locals: & __locals ) else {
243
243
JNI . report ( " Unable to create HashMap of class \( mapClass) " )
244
244
return jvalue ( l: nil )
@@ -261,22 +261,22 @@ extension JNIType {
261
261
return jvalue ( l: __object )
262
262
}
263
263
264
- public static func toJava( value: [ String : [ JNIObjectProtocol ] ] ? , mapClass: String , locals: UnsafeMutablePointer < [ jobject ] > ) -> jvalue {
265
- guard let value = value else { return jvalue ( l: nil ) }
264
+ public static func toJava( value: [ String : [ JNIObjectProtocol ] ] ? , mapClass: String , locals: UnsafeMutablePointer < [ jobject ] > ) -> jvalue {
265
+ guard let value: [ String : [ JNIObjectProtocol ] ] = value else { return jvalue ( l: nil ) }
266
266
267
267
var classCache : jclass ?
268
268
var methodID : jmethodID ?
269
269
var __args = [ jvalue] ( repeating: jvalue ( ) , count: 1 )
270
270
var __locals = [ jobject] ( )
271
- guard let __object = JNIMethod . NewObject ( className: mapClass, classCache: & classCache,
271
+ guard let __object: jobject = JNIMethod . NewObject ( className: mapClass, classCache: & classCache,
272
272
methodSig: " ()V " , methodCache: & methodID, args: & __args, locals: & __locals ) else {
273
273
JNI . report ( " Unable to create HashMap of class \( mapClass) " )
274
274
return jvalue ( l: nil )
275
275
}
276
276
277
277
JNI . api. DeleteGlobalRef ( JNI . env, classCache )
278
278
279
- let map = HashMap ( javaObject: __object )
279
+ let map : HashMap = HashMap ( javaObject: __object )
280
280
for (key, item) in value {
281
281
var sublocals = [ jobject] ( )
282
282
let javaKey = JavaObject ( javaObject: toJava ( value: key, locals: & sublocals ) . l )
@@ -291,8 +291,8 @@ extension JNIType {
291
291
return jvalue ( l: __object )
292
292
}
293
293
294
- public static func toSwift< T: JNIObjectInit > ( type: [ String : T ] . Type, from: jobject ? , consume: Bool = true ) -> [ String : T ] ? {
295
- guard let from = from else { return nil }
294
+ public static func toSwift< T: JNIObjectInit > ( type: [ String : T ] . Type, from: jobject ? , consume: Bool = true ) -> [ String : T ] ? {
295
+ guard let from: jobject = from else { return nil }
296
296
defer { if consume { JNI . DeleteLocalRef ( from ) } }
297
297
let map = HashMap ( javaObject: from )
298
298
var out = [ String: T] ( )
@@ -301,7 +301,7 @@ extension JNIType {
301
301
keyObject in
302
302
map. get ( key) . withJavaObject {
303
303
itemObject in
304
- if let keystr = JNIType . toSwift ( type: String . self, from: keyObject, consume: false ) {
304
+ if let keystr: String = JNIType . toSwift ( type: String . self, from: keyObject, consume: false ) {
305
305
out [ keystr] = T ( javaObject: itemObject )
306
306
}
307
307
}
@@ -310,8 +310,8 @@ extension JNIType {
310
310
return out
311
311
}
312
312
313
- public static func toSwift< T: JNIObjectInit > ( type: [ String : [ T ] ] . Type, from: jobject ? , consume: Bool = true ) -> [ String : [ T ] ] ? {
314
- guard let from = from else { return nil }
313
+ public static func toSwift< T: JNIObjectInit > ( type: [ String : [ T ] ] . Type, from: jobject ? , consume: Bool = true ) -> [ String : [ T ] ] ? {
314
+ guard let from: jobject = from else { return nil }
315
315
defer { if consume { JNI . DeleteLocalRef ( from ) } }
316
316
let map = HashMap ( javaObject: from )
317
317
var out = [ String: [ T] ] ( )
@@ -320,8 +320,8 @@ extension JNIType {
320
320
keyObject in
321
321
map. get ( key) . withJavaObject {
322
322
itemObject in
323
- if let keystr = JNIType . toSwift ( type: String . self, from: keyObject, consume: false ) ,
324
- let value = JNIType . toSwift ( type: [ T ] . self, from: itemObject, consume: false ) {
323
+ if let keystr: String = JNIType . toSwift ( type: String . self, from: keyObject, consume: false ) ,
324
+ let value: [ T ] = JNIType . toSwift ( type: [ T ] . self, from: itemObject, consume: false ) {
325
325
out [ keystr] = value
326
326
}
327
327
}
0 commit comments