Skip to content

Commit f187e2a

Browse files
committed
use immediate when available
1 parent 4b04da2 commit f187e2a

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

Samples/SwiftJavaExtractJNISampleApp/Package.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// swift-tools-version: 6.0
1+
// swift-tools-version: 6.2
22
// The swift-tools-version declares the minimum version of Swift required to build this package.
33

44
import CompilerPluginSupport

Sources/JExtractSwiftLib/JNI/JNISwift2JavaGenerator+NativeTranslation.swift

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -855,7 +855,7 @@ extension JNISwift2JavaGenerator {
855855
let resultType = isThrowing ? "Result<\(swiftFunctionResultType), any Error>" : swiftFunctionResultType.description
856856
printer.print("var swiftResult$: \(resultType)!")
857857

858-
printer.printBraceBlock("Task") { printer in
858+
func printInner(printer: inout CodePrinter) {
859859
if isThrowing {
860860
printer.printBraceBlock("do") { printer in
861861
printer.print("swiftResult$ = await Result.success(\(placeholder))")
@@ -868,6 +868,17 @@ extension JNISwift2JavaGenerator {
868868
}
869869
printer.print("_semaphore$.signal()")
870870
}
871+
872+
printer.printBraceBlock("if #available(macOS 26.0, iOS 26.0, watchOS 26.0, tvOS 26.0, *)") { printer in
873+
printer.printBraceBlock("Task.immediate") { printer in
874+
printInner(printer: &printer)
875+
}
876+
}
877+
printer.printBraceBlock("else") { printer in
878+
printer.printBraceBlock("Task") { printer in
879+
printInner(printer: &printer)
880+
}
881+
}
871882
printer.print(
872883
"""
873884
_semaphore$.wait()

0 commit comments

Comments
 (0)