diff --git a/compiler/light-classes-base/src/org/jetbrains/kotlin/asJava/lightClassUtils.kt b/compiler/light-classes-base/src/org/jetbrains/kotlin/asJava/lightClassUtils.kt index 3161aa9d7f7..7fd21c55d94 100644 --- a/compiler/light-classes-base/src/org/jetbrains/kotlin/asJava/lightClassUtils.kt +++ b/compiler/light-classes-base/src/org/jetbrains/kotlin/asJava/lightClassUtils.kt @@ -201,6 +201,12 @@ fun mangleInternalName(name: String, moduleName: String): String { return name + "$" + NameUtils.sanitizeAsJavaIdentifier(moduleName) } +fun KtLightMethod.checkIsMangled(): Boolean { + val demangledName = demangleInternalName(name) ?: return false + val originalName = propertyNameByAccessor(demangledName, this) ?: demangledName + return originalName == kotlinOrigin?.name +} + fun propertyNameByAccessor(name: String, accessor: KtLightMethod): String? { val toRename = accessor.kotlinOrigin ?: return null if (toRename !is KtProperty && toRename !is KtParameter) return null diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/elements/KtLightMethodImpl.kt b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/elements/KtLightMethodImpl.kt index 66c991bd2d9..e74b61fc287 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/elements/KtLightMethodImpl.kt +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/elements/KtLightMethodImpl.kt @@ -15,7 +15,6 @@ import org.jetbrains.kotlin.asJava.builder.LightMemberOriginForDeclaration import org.jetbrains.kotlin.asJava.classes.KtLightClass import org.jetbrains.kotlin.asJava.classes.cannotModify import org.jetbrains.kotlin.asJava.classes.lazyPub -import org.jetbrains.kotlin.codegen.state.KotlinTypeMapper import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.resolve.DescriptorUtils @@ -50,7 +49,7 @@ abstract class KtLightMethodImpl protected constructor( override fun setName(name: String): PsiElement? { val jvmNameAnnotation = modifierList.findAnnotation(DescriptorUtils.JVM_NAME.asString()) - val demangledName = (if (isMangled) KotlinTypeMapper.InternalNameMapper.demangleInternalName(name) else null) ?: name + val demangledName = (if (isMangled) demangleInternalName(name) else null) ?: name val newNameForOrigin = propertyNameByAccessor(demangledName, this) ?: demangledName if (newNameForOrigin == kotlinOrigin?.name) { jvmNameAnnotation?.delete() diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/utils.kt b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/utils.kt index 6730c027cd1..b6d7b1f1f94 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/utils.kt +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/utils.kt @@ -8,20 +8,12 @@ package org.jetbrains.kotlin.asJava import com.intellij.psi.PsiElement import org.jetbrains.kotlin.asJava.classes.runReadAction import org.jetbrains.kotlin.asJava.elements.KtLightElementBase -import org.jetbrains.kotlin.asJava.elements.KtLightMethod -import org.jetbrains.kotlin.codegen.state.KotlinTypeMapper import org.jetbrains.kotlin.psi.KtExpression import org.jetbrains.kotlin.resolve.DelegatingBindingTrace import org.jetbrains.kotlin.resolve.constants.ArrayValue import org.jetbrains.kotlin.resolve.constants.ConstantValue import org.jetbrains.kotlin.types.TypeUtils -fun KtLightMethod.checkIsMangled(): Boolean { - val demangledName = KotlinTypeMapper.InternalNameMapper.demangleInternalName(name) ?: return false - val originalName = propertyNameByAccessor(demangledName, this) ?: demangledName - return originalName == kotlinOrigin?.name -} - fun computeExpression(expression: PsiElement): Any? { fun evalConstantValue(constantValue: ConstantValue<*>): Any? = if (constantValue is ArrayValue) {