Files
kotlin-fork/compiler/testData/codegen/box/reflection/jvmKPackageCaching.kt
T
Vsevolod Tolstopyatov e32e5c26a4 [reflect] Fix flaky tests that depend on Reflection.clearCaches()
* Use ReflectionFactoryImpl as single point of synchronization
* Synchronize all cache-sensitive tests on it in order to be robust in parallel test runners
* Remove redundant cache clear after each test

Merge-request: KT-MR-6842
Merged-by: Vsevolod Tolstopyatov <qwwdfsad@gmail.com>
2022-08-12 14:10:08 +00:00

17 lines
467 B
Kotlin
Vendored

// TARGET_BACKEND: JVM_IR
// FULL_JDK
// WITH_REFLECT
import kotlin.jvm.internal.*
import kotlin.reflect.jvm.internal.*
class A
fun box(): String {
return synchronized(ReflectionFactoryImpl::class.java) {
val pckg = Reflection.getOrCreateKotlinPackage(A::class.java)
System.gc()
val pckg2 = Reflection.getOrCreateKotlinPackage(A::class.java)
if (pckg === pckg2) return@synchronized "OK"
return@synchronized "Fail"
}
}