Skip to content

Commit a8eb541

Browse files
committed
Adjust syntax of setting _environment to avoid force unwrapping based on PR conmments
1 parent 605e130 commit a8eb541

File tree

3 files changed

+20
-4
lines changed

3 files changed

+20
-4
lines changed

Sources/Java2SwiftLib/JavaTranslator.swift

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -484,7 +484,11 @@ extension JavaTranslator {
484484

485485
let initSyntax: DeclSyntax = """
486486
public init(_ enumValue: \(raw: name), environment: JNIEnvironment? = nil) {
487-
let _environment = environment == nil ? try! JavaVirtualMachine.shared().environment() : environment!
487+
let _environment = if let environment {
488+
environment
489+
} else {
490+
try! JavaVirtualMachine.shared().environment()
491+
}
488492
let classObj = try! JavaClass<Self>(in: _environment)
489493
switch enumValue {
490494
\(raw: enumFields.map {

Sources/JavaKitMacros/JavaMethodMacro.swift

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,11 @@ extension JavaMethodMacro: BodyMacro {
9494

9595
return [
9696
"""
97-
let _environment = environment == nil ? \(raw: tryKeyword) JavaVirtualMachine.shared().environment() : environment!
97+
let _environment = if let environment {
98+
environment
99+
} else {
100+
\(raw: tryKeyword) JavaVirtualMachine.shared().environment()
101+
}
98102
self = \(raw: tryKeyword) Self.dynamicJavaNewObject(in: _environment\(raw: arguments))
99103
"""
100104
]

Tests/JavaKitMacroTests/JavaClassMacroTests.swift

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,19 @@ class JavaKitMacroTests: XCTestCase {
4747
4848
public struct HelloWorld {
4949
public init(environment: JNIEnvironment? = nil) {
50-
let _environment = environment == nil ? try! JavaVirtualMachine.shared().environment() : environment!
50+
let _environment = if let environment {
51+
environment
52+
} else {
53+
try! JavaVirtualMachine.shared().environment()
54+
}
5155
self = try! Self.dynamicJavaNewObject(in: _environment)
5256
}
5357
public init(_ value: Int32, environment: JNIEnvironment? = nil) {
54-
let _environment = environment == nil ? try! JavaVirtualMachine.shared().environment() : environment!
58+
let _environment = if let environment {
59+
environment
60+
} else {
61+
try! JavaVirtualMachine.shared().environment()
62+
}
5563
self = try! Self.dynamicJavaNewObject(in: _environment, arguments: value.self)
5664
}
5765
public func isBigEnough(_: Int32) -> Bool {

0 commit comments

Comments
 (0)