SLC: mangle internal setter name

This commit is contained in:
Jinseong Jeon
2023-03-25 22:22:33 -07:00
committed by teamcity
parent 91925b947d
commit 3c982cfaa3
3 changed files with 12 additions and 94 deletions
@@ -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)
}
}
}
@@ -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 }
@@ -1,90 +0,0 @@
public class A /* A*/ {
private java.lang.String b;
protected java.lang.String c;
public java.lang.String a;
public java.lang.String d;
@org.jetbrains.annotations.NotNull()
public final java.lang.String getA();// getA()
@org.jetbrains.annotations.NotNull()
public final java.lang.String getB();// getB()
@org.jetbrains.annotations.NotNull()
public final java.lang.String getC();// getC()
@org.jetbrains.annotations.NotNull()
public final java.lang.String getD();// getD()
protected final void setC(@org.jetbrains.annotations.NotNull() java.lang.String);// setC(java.lang.String)
public A();// .ctor()
public final void setA(@org.jetbrains.annotations.NotNull() java.lang.String);// setA(java.lang.String)
public final void setD(@org.jetbrains.annotations.NotNull() java.lang.String);// setD(java.lang.String)
}
public class B /* B*/ {
private java.lang.String b;
protected java.lang.String c;
public java.lang.String a;
public java.lang.String d;
@org.jetbrains.annotations.NotNull()
public final java.lang.String getA$light_idea_test_case();// getA$light_idea_test_case()
@org.jetbrains.annotations.NotNull()
public final java.lang.String getB$light_idea_test_case();// getB$light_idea_test_case()
@org.jetbrains.annotations.NotNull()
public final java.lang.String getC$light_idea_test_case();// getC$light_idea_test_case()
@org.jetbrains.annotations.NotNull()
public final java.lang.String getD$light_idea_test_case();// getD$light_idea_test_case()
protected final void setC$light_idea_test_case(@org.jetbrains.annotations.NotNull() java.lang.String);// setC$light_idea_test_case(java.lang.String)
public B();// .ctor()
public final void setA$light_idea_test_case(@org.jetbrains.annotations.NotNull() java.lang.String);// setA$light_idea_test_case(java.lang.String)
public final void setD$light_idea_test_case(@org.jetbrains.annotations.NotNull() java.lang.String);// setD$light_idea_test_case(java.lang.String)
}
public class C /* C*/ {
private java.lang.String b;
protected java.lang.String a;
protected java.lang.String c;
@org.jetbrains.annotations.NotNull()
protected final java.lang.String getA();// getA()
@org.jetbrains.annotations.NotNull()
protected final java.lang.String getB();// getB()
@org.jetbrains.annotations.NotNull()
protected final java.lang.String getC();// getC()
protected final void setA(@org.jetbrains.annotations.NotNull() java.lang.String);// setA(java.lang.String)
protected final void setC(@org.jetbrains.annotations.NotNull() java.lang.String);// setC(java.lang.String)
public C();// .ctor()
}
public class D /* D*/ {
private java.lang.String a;
private java.lang.String b;
public D();// .ctor()
}