@@ -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= fromelse { return nil }
213
+ guard let from: jobject = fromelse { 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= fromelse { return nil }
219
+ guard let from: jobject = fromelse { 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= fromelse { return nil }
225
+ guard let from: jobject = fromelse { 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= valueelse { return jvalue ( l: nil ) }
234
+ public static func toJava( value: [ String : JNIObjectProtocol ] ? , mapClass: String , locals: UnsafeMutablePointer < [ jobject ] > ) -> jvalue {
235
+ guard let value: [ String : JNIObjectProtocol ] = valueelse { 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= valueelse { return jvalue ( l: nil ) }
264
+ public static func toJava( value: [ String : [ JNIObjectProtocol ] ] ? , mapClass: String , locals: UnsafeMutablePointer < [ jobject ] > ) -> jvalue {
265
+ guard let value: [ String : [ JNIObjectProtocol ] ] = valueelse { 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= fromelse { 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 = fromelse { 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
keyObjectin
302
302
map. get ( key) . withJavaObject {
303
303
itemObjectin
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= fromelse { 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 = fromelse { 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
keyObjectin
321
321
map. get ( key) . withJavaObject {
322
322
itemObjectin
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
}