@@ -8,11 +8,9 @@ import com.fasterxml.jackson.databind.util.LRUMap
8
8
import java.lang.reflect.Constructor
9
9
import java.lang.reflect.Executable
10
10
import java.lang.reflect.Method
11
- import kotlin.reflect.KClass
12
11
import kotlin.reflect.KFunction
13
12
import kotlin.reflect.jvm.kotlinFunction
14
13
15
-
16
14
internal class ReflectionCache (reflectionCacheSize : Int ) {
17
15
sealed class BooleanTriState (val value : Boolean? ) {
18
16
class True : BooleanTriState (true )
@@ -34,17 +32,11 @@ internal class ReflectionCache(reflectionCacheSize: Int) {
34
32
}
35
33
}
36
34
37
- private val javaClassToKotlin = LRUMap <Class <Any >, KClass <Any >>(reflectionCacheSize, reflectionCacheSize)
38
35
private val javaConstructorToKotlin = LRUMap <Constructor <Any >, KFunction <Any >>(reflectionCacheSize, reflectionCacheSize)
39
36
private val javaMethodToKotlin = LRUMap <Method , KFunction <* >>(reflectionCacheSize, reflectionCacheSize)
40
37
private val javaExecutableToValueCreator = LRUMap <Executable , ValueCreator <* >>(reflectionCacheSize, reflectionCacheSize)
41
38
private val javaConstructorIsCreatorAnnotated = LRUMap <AnnotatedConstructor , Boolean >(reflectionCacheSize, reflectionCacheSize)
42
39
private val javaMemberIsRequired = LRUMap <AnnotatedMember , BooleanTriState ?>(reflectionCacheSize, reflectionCacheSize)
43
- private val kotlinGeneratedMethod = LRUMap <AnnotatedMethod , Boolean >(reflectionCacheSize, reflectionCacheSize)
44
-
45
-
46
- fun kotlinFromJava (key : Class <Any >): KClass <Any > = javaClassToKotlin.get(key)
47
- ? : key.kotlin.let { javaClassToKotlin.putIfAbsent(key, it) ? : it }
48
40
49
41
fun kotlinFromJava (key : Constructor <Any >): KFunction <Any >? = javaConstructorToKotlin.get(key)
50
42
? : key.kotlinFunction?.let { javaConstructorToKotlin.putIfAbsent(key, it) ? : it }
@@ -89,7 +81,4 @@ internal class ReflectionCache(reflectionCacheSize: Int) {
89
81
90
82
fun javaMemberIsRequired (key : AnnotatedMember , calc : (AnnotatedMember ) -> Boolean? ): Boolean? = javaMemberIsRequired.get(key)?.value
91
83
? : calc(key).let { javaMemberIsRequired.putIfAbsent(key, BooleanTriState .fromBoolean(it))?.value ? : it }
92
-
93
- fun isKotlinGeneratedMethod (key : AnnotatedMethod , calc : (AnnotatedMethod ) -> Boolean ): Boolean = kotlinGeneratedMethod.get(key)
94
- ? : calc(key).let { kotlinGeneratedMethod.putIfAbsent(key, it) ? : it }
95
84
}
0 commit comments