Skip to content

Commit 633c03b

Browse files
authored
Merge pull request #119 from iainsmith/main
Generate JavaKitFunction module
2 parents 79a7401 + e268bd3 commit 633c03b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+619
-0
lines changed

Makefile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,10 @@ generate-JavaKitCollection: Java2Swift
7676
mkdir -p Sources/JavaKitCollection/generated
7777
$(BUILD_DIR)/debug/Java2Swift --module-name JavaKitCollection --depends-on JavaKit=Sources/JavaKit/Java2Swift.config -o Sources/JavaKitCollection/generated Sources/JavaKitCollection/Java2Swift.config
7878

79+
generate-JavaKitFunction: Java2Swift
80+
mkdir -p Sources/JavaKitFunction/generated
81+
$(BUILD_DIR)/debug/Java2Swift --module-name JavaKitFunction --depends-on JavaKit=Sources/JavaKit/Java2Swift.config -o Sources/JavaKitFunction/generated Sources/JavaKitFunction/Java2Swift.config
82+
7983
generate-JavaKitReflection: Java2Swift generate-JavaKit generate-JavaKitCollection
8084
mkdir -p Sources/JavaKitReflection/generated
8185
$(BUILD_DIR)/debug/Java2Swift --module-name JavaKitReflection --depends-on JavaKit=Sources/JavaKit/Java2Swift.config --depends-on JavaKitCollection=Sources/JavaKitCollection/Java2Swift.config -o Sources/JavaKitReflection/generated Sources/JavaKitReflection/Java2Swift.config

Package.swift

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,11 @@ let package = Package(
6262
targets: ["JavaKitCollection"]
6363
),
6464

65+
.library(
66+
name: "JavaKitFunction",
67+
targets: ["JavaKitFunction"]
68+
),
69+
6570
.library(
6671
name: "JavaKitJar",
6772
targets: ["JavaKitReflection"]
@@ -183,6 +188,15 @@ let package = Package(
183188
.unsafeFlags(["-I\(javaIncludePath)", "-I\(javaPlatformIncludePath)"])
184189
]
185190
),
191+
.target(
192+
name: "JavaKitFunction",
193+
dependencies: ["JavaKit"],
194+
exclude: ["Java2Swift.config"],
195+
swiftSettings: [
196+
.swiftLanguageMode(.v5),
197+
.unsafeFlags(["-I\(javaIncludePath)", "-I\(javaPlatformIncludePath)"])
198+
]
199+
),
186200
.target(
187201
name: "JavaKitJar",
188202
dependencies: ["JavaKit", "JavaKitCollection"],

Samples/JavaKitSampleApp/Package.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ let package = Package(
6767
name: "JavaKitExample",
6868
dependencies: [
6969
.product(name: "JavaKit", package: "swift-java"),
70+
.product(name: "JavaKitFunction", package: "swift-java"),
7071
.product(name: "JavaKitJar", package: "swift-java"),
7172
],
7273
swiftSettings: [

Samples/JavaKitSampleApp/Sources/JavaKitExample/JavaKitExample.swift

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
//===----------------------------------------------------------------------===//
1414

1515
import JavaKit
16+
import JavaKitFunction
1617

1718
enum SwiftWrappedError: Error {
1819
case message(String)
@@ -44,6 +45,10 @@ extension HelloSwift: HelloSwiftNativeMethods {
4445
self.name = "a 🗑️-collected language"
4546
_ = self.sayHelloBack(42)
4647

48+
let predicate: JavaPredicate<JavaInteger> = self.lessThanTen()!
49+
let value = predicate.test(JavaInteger(3).as(JavaObject.self))
50+
print("Running a JavaPredicate from swift 3 < 10 = \(value)")
51+
4752
let strings = doublesToStrings([3.14159, 2.71828])
4853
print("Converting doubles to strings: \(strings)")
4954

Samples/JavaKitSampleApp/Sources/JavaKitExample/com/example/swift/HelloSwift.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414

1515
package com.example.swift;
1616

17+
import java.util.function.Predicate;
18+
1719
public class HelloSwift {
1820
public double value;
1921
public static double initialValue = 3.14159;
@@ -40,6 +42,11 @@ public void greet(String name) {
4042
System.out.println("Salutations, " + name);
4143
}
4244

45+
public Predicate<Integer> lessThanTen() {
46+
Predicate<Integer> predicate = i -> (i < 10);
47+
return predicate;
48+
}
49+
4350
public String[] doublesToStrings(double[] doubles) {
4451
int size = doubles.length;
4552
String[] strings = new String[size];
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
{
2+
"classes" : {
3+
"java.util.function.BiConsumer" : "JavaBiConsumer",
4+
"java.util.function.BiFunction" : "JavaBiFunction",
5+
"java.util.function.BinaryOperator" : "JavaBinaryOperator",
6+
"java.util.function.BiPredicate" : "JavaBiPredicate",
7+
"java.util.function.BinaryOperator" : "JavaBinaryOperator",
8+
"java.util.function.BooleanSupplier" : "JavaBooleanSupplier",
9+
"java.util.function.Consumer" : "JavaConsumer",
10+
"java.util.function.DoubleBinaryOperator" : "JavaDoubleBinaryOperator",
11+
"java.util.function.DoubleConsumer" : "JavaDoubleConsumer",
12+
"java.util.function.DoubleFunction" : "JavaDoubleFunction",
13+
"java.util.function.DoublePredicate" : "JavaDoublePredicate",
14+
"java.util.function.DoubleSupplier" : "JavaDoubleSupplier",
15+
"java.util.function.DoubleToIntFunction" : "JavaDoubleToIntFunction",
16+
"java.util.function.DoubleToLongFunction" : "JavaDoubleToLongFunction",
17+
"java.util.function.DoubleUnaryOperator" : "JavaDoubleUnaryOperator",
18+
"java.util.function.Function" : "JavaFunction",
19+
"java.util.function.IntBinaryOperator" : "JavaIntBinaryOperator",
20+
"java.util.function.IntConsumer" : "JavaIntConsumer",
21+
"java.util.function.IntConsumer" : "JavaIntConsumer",
22+
"java.util.function.IntFunction" : "JavaIntFunction",
23+
"java.util.function.IntPredicate" : "JavaIntPredicate",
24+
"java.util.function.IntSupplier" : "JavaIntSupplier",
25+
"java.util.function.IntToDoubleFunction" : "JavaIntToDoubleFunction",
26+
"java.util.function.IntToLongFunction" : "JavaIntToLongFunction",
27+
"java.util.function.IntUnaryOperator" : "JavaIntUnaryOperator",
28+
"java.util.function.LongBinaryOperator" : "JavaLongBinaryOperator",
29+
"java.util.function.LongConsumer" : "JavaLongConsumer",
30+
"java.util.function.LongFunction" : "JavaLongFunction",
31+
"java.util.function.LongPredicate" : "JavaLongPredicate",
32+
"java.util.function.LongSupplier" : "JavaLongSupplier",
33+
"java.util.function.LongToDoubleFunction" : "JavaLongToDoubleFunction",
34+
"java.util.function.LongToIntFunction" : "JavaLongToIntFunction",
35+
"java.util.function.LongUnaryOperator" : "JavaLongUnaryOperator",
36+
"java.util.function.ObjDoubleConsumer" : "JavaObjDoubleConsumer",
37+
"java.util.function.ObjIntConsumer" : "JavaObjIntConsumer",
38+
"java.util.function.ObjLongConsumer" : "JavaObjLongConsumer",
39+
"java.util.function.Predicate" : "JavaPredicate",
40+
"java.util.function.Supplier" : "JavaSupplier",
41+
"java.util.function.ToDoubleBiFunction" : "JavaToDoubleBiFunction",
42+
"java.util.function.ToDoubleFunction" : "JavaToDoubleFunction",
43+
"java.util.function.ToIntBiFunction" : "JavaToIntBiFunction",
44+
"java.util.function.ToIntFunction" : "JavaToIntFunction",
45+
"java.util.function.ToLongBiFunction" : "JavaToLongBiFunction",
46+
"java.util.function.ToLongFunction" : "JavaToLongFunction",
47+
"java.util.function.UnaryOperator" : "JavaUnaryOperator"
48+
}
49+
}
50+
51+
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
// Auto-generated by Java-to-Swift wrapper generator.
2+
import JavaKit
3+
import JavaRuntime
4+
5+
@JavaInterface("java.util.function.BiConsumer")
6+
public struct JavaBiConsumer<T: AnyJavaObject, U: AnyJavaObject> {
7+
@JavaMethod
8+
public func accept(_ arg0: JavaObject?, _ arg1: JavaObject?)
9+
10+
@JavaMethod
11+
public func andThen(_ arg0: JavaBiConsumer<JavaObject, JavaObject>?) -> JavaBiConsumer<
12+
JavaObject, JavaObject
13+
>?
14+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
// Auto-generated by Java-to-Swift wrapper generator.
2+
import JavaKit
3+
import JavaRuntime
4+
5+
@JavaInterface("java.util.function.BiFunction")
6+
public struct JavaBiFunction<T: AnyJavaObject, U: AnyJavaObject, R: AnyJavaObject> {
7+
@JavaMethod
8+
public func apply(_ arg0: JavaObject?, _ arg1: JavaObject?) -> JavaObject?
9+
10+
@JavaMethod
11+
public func andThen(_ arg0: JavaFunction<JavaObject, JavaObject>?) -> JavaBiFunction<
12+
JavaObject, JavaObject, JavaObject
13+
>?
14+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
// Auto-generated by Java-to-Swift wrapper generator.
2+
import JavaKit
3+
import JavaRuntime
4+
5+
@JavaInterface("java.util.function.BiPredicate")
6+
public struct JavaBiPredicate<T: AnyJavaObject, U: AnyJavaObject> {
7+
@JavaMethod
8+
public func test(_ arg0: JavaObject?, _ arg1: JavaObject?) -> Bool
9+
10+
@JavaMethod
11+
public func or(_ arg0: JavaBiPredicate<JavaObject, JavaObject>?) -> JavaBiPredicate<
12+
JavaObject, JavaObject
13+
>?
14+
15+
@JavaMethod
16+
public func and(_ arg0: JavaBiPredicate<JavaObject, JavaObject>?) -> JavaBiPredicate<
17+
JavaObject, JavaObject
18+
>?
19+
20+
@JavaMethod
21+
public func negate() -> JavaBiPredicate<JavaObject, JavaObject>?
22+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
// Auto-generated by Java-to-Swift wrapper generator.
2+
import JavaKit
3+
import JavaRuntime
4+
5+
@JavaInterface(
6+
"java.util.function.BinaryOperator",
7+
extends: JavaBiFunction<JavaObject, JavaObject, JavaObject>.self)
8+
public struct JavaBinaryOperator<T: AnyJavaObject> {
9+
@JavaMethod
10+
public func apply(_ arg0: JavaObject?, _ arg1: JavaObject?) -> JavaObject?
11+
12+
@JavaMethod
13+
public func andThen(_ arg0: JavaFunction<JavaObject, JavaObject>?) -> JavaBiFunction<
14+
JavaObject, JavaObject, JavaObject
15+
>?
16+
}

0 commit comments

Comments
 (0)