e32e5c26a4
* 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>
17 lines
467 B
Kotlin
Vendored
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"
|
|
}
|
|
}
|