Skip to content

Commit c7db287

Browse files
chore: rebuild project due to codegen change (#50)
1 parent 4a00891 commit c7db287

File tree

2 files changed

+17
-4
lines changed

2 files changed

+17
-4
lines changed

openlayer-java-core/build.gradle.kts

+3
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,7 @@ dependencies {
2020
testImplementation("org.assertj:assertj-core:3.25.3")
2121
testImplementation("org.junit.jupiter:junit-jupiter-api:5.9.3")
2222
testImplementation("org.junit.jupiter:junit-jupiter-params:5.9.3")
23+
testImplementation("org.mockito:mockito-core:5.14.2")
24+
testImplementation("org.mockito:mockito-junit-jupiter:5.14.2")
25+
testImplementation("org.mockito.kotlin:mockito-kotlin:4.1.0")
2326
}

openlayer-java-core/src/main/kotlin/com/openlayer/api/core/PhantomReachable.kt

+14-4
Original file line numberDiff line numberDiff line change
@@ -15,20 +15,30 @@ internal fun closeWhenPhantomReachable(observed: Any, closeable: AutoCloseable)
1515
check(observed !== closeable) {
1616
"`observed` cannot be the same object as `closeable` because it would never become phantom reachable"
1717
}
18-
closeWhenPhantomReachable?.let { it(observed, closeable::close) }
18+
closeWhenPhantomReachable(observed, closeable::close)
1919
}
2020

21-
private val closeWhenPhantomReachable: ((Any, AutoCloseable) -> Unit)? by lazy {
21+
/**
22+
* Calls [close] when [observed] becomes only phantom reachable.
23+
*
24+
* This is a wrapper around a Java 9+ [java.lang.ref.Cleaner], or a no-op in older Java versions.
25+
*/
26+
@JvmSynthetic
27+
internal fun closeWhenPhantomReachable(observed: Any, close: () -> Unit) {
28+
closeWhenPhantomReachable?.let { it(observed, close) }
29+
}
30+
31+
private val closeWhenPhantomReachable: ((Any, () -> Unit) -> Unit)? by lazy {
2232
try {
2333
val cleanerClass = Class.forName("java.lang.ref.Cleaner")
2434
val cleanerCreate = cleanerClass.getMethod("create")
2535
val cleanerRegister =
2636
cleanerClass.getMethod("register", Any::class.java, Runnable::class.java)
2737
val cleanerObject = cleanerCreate.invoke(null);
2838

29-
{ observed, closeable ->
39+
{ observed, close ->
3040
try {
31-
cleanerRegister.invoke(cleanerObject, observed, Runnable { closeable.close() })
41+
cleanerRegister.invoke(cleanerObject, observed, Runnable { close() })
3242
} catch (e: ReflectiveOperationException) {
3343
if (e is InvocationTargetException) {
3444
when (val cause = e.cause) {

0 commit comments

Comments
 (0)