From 43acc6516b46babfdb47886bedace17c3e86d99e Mon Sep 17 00:00:00 2001 From: Jinseong Jeon Date: Fri, 12 Jan 2024 22:06:44 -0800 Subject: [PATCH] SLC: mangle internal accessors ...by honoring accessors' visibility We need a special handling for backing field visibility, e.g., lateinit, const, or JvmField, but that's not the case for accessors' visibility. ^KT-64937 fixed --- .../classes/symbol/methods/SymbolLightAccessorMethod.kt | 7 +------ .../lightClasses/lightClassByPsi/properties.fir.java | 2 +- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/SymbolLightAccessorMethod.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/SymbolLightAccessorMethod.kt index afe24ea20c2..5a84ed9ac81 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/SymbolLightAccessorMethod.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/SymbolLightAccessorMethod.kt @@ -103,12 +103,7 @@ internal class SymbolLightAccessorMethod private constructor( it.abiName() } - val visibility = if (!isGetter && propertySymbol.canHaveNonPrivateField) - accessorSymbol.visibility - else - propertySymbol.visibility - - propertySymbol.computeJvmMethodName(defaultName, outerClass, accessorSite, visibility) + propertySymbol.computeJvmMethodName(defaultName, outerClass, accessorSite, accessorSymbol.visibility) } } } diff --git a/compiler/testData/asJava/lightClasses/lightClassByPsi/properties.fir.java b/compiler/testData/asJava/lightClasses/lightClassByPsi/properties.fir.java index bc40a6c9925..0c4183be2bb 100644 --- a/compiler/testData/asJava/lightClasses/lightClassByPsi/properties.fir.java +++ b/compiler/testData/asJava/lightClasses/lightClassByPsi/properties.fir.java @@ -3,7 +3,7 @@ public abstract interface A /* A*/ { public abstract int getInt2();// getInt2() - public abstract void setInt2(int);// setInt2(int) + public abstract void setInt2$light_idea_test_case(int);// setInt2$light_idea_test_case(int) } public final class Foo /* Foo*/ {