SLC: mangle internal setter name
This commit is contained in:
+10
-4
@@ -91,13 +91,19 @@ internal class SymbolLightAccessorMethod private constructor(
|
||||
|
||||
private val _name: String by lazyPub {
|
||||
analyzeForLightClasses(ktModule) {
|
||||
propertyAccessorSymbol().getJvmNameFromAnnotation(accessorSite.toOptionalFilter()) ?: run {
|
||||
val symbol = propertySymbol()
|
||||
val defaultName = symbol.name.identifier.let {
|
||||
val accessorSymbol = propertyAccessorSymbol()
|
||||
accessorSymbol.getJvmNameFromAnnotation(accessorSite.toOptionalFilter()) ?: run {
|
||||
val propertySymbol = propertySymbol()
|
||||
val defaultName = propertySymbol.name.identifier.let {
|
||||
if (this@SymbolLightAccessorMethod.containingClass.isAnnotationType) it else it.abiName()
|
||||
}
|
||||
|
||||
symbol.computeJvmMethodName(defaultName, this@SymbolLightAccessorMethod.containingClass, accessorSite)
|
||||
val visibility = if (!isGetter && propertySymbol.canHaveNonPrivateField)
|
||||
accessorSymbol.visibility
|
||||
else
|
||||
propertySymbol.visibility
|
||||
|
||||
propertySymbol.computeJvmMethodName(defaultName, this@SymbolLightAccessorMethod.containingClass, accessorSite, visibility)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
@@ -25,6 +25,7 @@ import org.jetbrains.kotlin.asJava.classes.lazyPub
|
||||
import org.jetbrains.kotlin.asJava.elements.KtLightMethod
|
||||
import org.jetbrains.kotlin.asJava.mangleInternalName
|
||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||
import org.jetbrains.kotlin.descriptors.Visibility
|
||||
import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget
|
||||
import org.jetbrains.kotlin.light.classes.symbol.SymbolLightMemberBase
|
||||
import org.jetbrains.kotlin.light.classes.symbol.annotations.getJvmNameFromAnnotation
|
||||
@@ -108,6 +109,7 @@ internal abstract class SymbolLightMethodBase(
|
||||
defaultName: String,
|
||||
containingClass: SymbolLightClassBase,
|
||||
annotationUseSiteTarget: AnnotationUseSiteTarget? = null,
|
||||
visibility: Visibility = this.visibility,
|
||||
): String where T : KtAnnotatedSymbol, T : KtSymbolWithVisibility, T : KtCallableSymbol {
|
||||
getJvmNameFromAnnotation(annotationUseSiteTarget.toOptionalFilter())?.let { return it }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user