[light classes] add mangleInternalName to light-classes-base module

^KT-53097
This commit is contained in:
Dmitry Gridin
2022-07-11 22:04:25 +02:00
committed by Space
parent 34921e451d
commit 364cc8a65e
2 changed files with 16 additions and 12 deletions
@@ -20,6 +20,7 @@ import org.jetbrains.kotlin.load.java.propertyNameBySetMethodName
import org.jetbrains.kotlin.load.java.propertyNamesBySetMethodName
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.name.NameUtils
import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.psi.psiUtil.*
@@ -196,6 +197,10 @@ fun demangleInternalName(name: String): String? {
return if (indexOfDollar >= 0) name.substring(0, indexOfDollar) else null
}
fun mangleInternalName(name: String, moduleName: String): String {
return name + "$" + NameUtils.sanitizeAsJavaIdentifier(moduleName)
}
fun propertyNameByAccessor(name: String, accessor: KtLightMethod): String? {
val toRename = accessor.kotlinOrigin ?: return null
if (toRename !is KtProperty && toRename !is KtParameter) return null