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 {
|
private val _name: String by lazyPub {
|
||||||
analyzeForLightClasses(ktModule) {
|
analyzeForLightClasses(ktModule) {
|
||||||
propertyAccessorSymbol().getJvmNameFromAnnotation(accessorSite.toOptionalFilter()) ?: run {
|
val accessorSymbol = propertyAccessorSymbol()
|
||||||
val symbol = propertySymbol()
|
accessorSymbol.getJvmNameFromAnnotation(accessorSite.toOptionalFilter()) ?: run {
|
||||||
val defaultName = symbol.name.identifier.let {
|
val propertySymbol = propertySymbol()
|
||||||
|
val defaultName = propertySymbol.name.identifier.let {
|
||||||
if (this@SymbolLightAccessorMethod.containingClass.isAnnotationType) it else it.abiName()
|
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.elements.KtLightMethod
|
||||||
import org.jetbrains.kotlin.asJava.mangleInternalName
|
import org.jetbrains.kotlin.asJava.mangleInternalName
|
||||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||||
|
import org.jetbrains.kotlin.descriptors.Visibility
|
||||||
import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget
|
import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget
|
||||||
import org.jetbrains.kotlin.light.classes.symbol.SymbolLightMemberBase
|
import org.jetbrains.kotlin.light.classes.symbol.SymbolLightMemberBase
|
||||||
import org.jetbrains.kotlin.light.classes.symbol.annotations.getJvmNameFromAnnotation
|
import org.jetbrains.kotlin.light.classes.symbol.annotations.getJvmNameFromAnnotation
|
||||||
@@ -108,6 +109,7 @@ internal abstract class SymbolLightMethodBase(
|
|||||||
defaultName: String,
|
defaultName: String,
|
||||||
containingClass: SymbolLightClassBase,
|
containingClass: SymbolLightClassBase,
|
||||||
annotationUseSiteTarget: AnnotationUseSiteTarget? = null,
|
annotationUseSiteTarget: AnnotationUseSiteTarget? = null,
|
||||||
|
visibility: Visibility = this.visibility,
|
||||||
): String where T : KtAnnotatedSymbol, T : KtSymbolWithVisibility, T : KtCallableSymbol {
|
): String where T : KtAnnotatedSymbol, T : KtSymbolWithVisibility, T : KtCallableSymbol {
|
||||||
getJvmNameFromAnnotation(annotationUseSiteTarget.toOptionalFilter())?.let { return it }
|
getJvmNameFromAnnotation(annotationUseSiteTarget.toOptionalFilter())?.let { return it }
|
||||||
|
|
||||||
|
|||||||
-90
@@ -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()
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user