[FIR] Extract computeJvmDescriptorReplacingKotlinToJava

This commit is contained in:
Mikhail Glukhikh
2020-10-14 12:13:14 +03:00
parent f866eff93e
commit d40248cb53
2 changed files with 8 additions and 8 deletions
@@ -18,6 +18,12 @@ import org.jetbrains.kotlin.load.java.structure.JavaTypeParameter
import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.name.FqName
fun FirFunction<*>.computeJvmDescriptorReplacingKotlinToJava(): String =
computeJvmDescriptor()
.replace("kotlin/Any", "java/lang/Object")
.replace("kotlin/String", "java/lang/String")
.replace("kotlin/Throwable", "java/lang/Throwable")
fun FirFunction<*>.computeJvmDescriptor(): String = buildString {
if (this@computeJvmDescriptor is FirSimpleFunction) {
append(name.asString())
@@ -22,10 +22,7 @@ class JvmMappedScope(
val visibleMethods = signatures.visibleMethodSignaturesByName[name]
?: return declaredMemberScope.processFunctionsByName(name, processor)
javaMappedClassUseSiteScope.processFunctionsByName(name) { symbol ->
val jvmSignature = symbol.fir.computeJvmDescriptor()
.replace("kotlin/Any", "java/lang/Object")
.replace("kotlin/String", "java/lang/String")
.replace("kotlin/Throwable", "java/lang/Throwable")
val jvmSignature = symbol.fir.computeJvmDescriptorReplacingKotlinToJava()
if (jvmSignature in visibleMethods) {
processor(symbol)
}
@@ -43,10 +40,7 @@ class JvmMappedScope(
val hiddenConstructors = signatures.hiddenConstructors
if (hiddenConstructors.isNotEmpty()) {
javaMappedClassUseSiteScope.processDeclaredConstructors { symbol ->
val jvmSignature = symbol.fir.computeJvmDescriptor()
.replace("kotlin/Any", "java/lang/Object")
.replace("kotlin/String", "java/lang/String")
.replace("kotlin/Throwable", "java/lang/Throwable")
val jvmSignature = symbol.fir.computeJvmDescriptorReplacingKotlinToJava()
if (jvmSignature !in hiddenConstructors) {
processor(symbol)
}