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 1c02450cd98..afe24ea20c2 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 @@ -1,5 +1,5 @@ /* - * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ @@ -95,8 +95,12 @@ internal class SymbolLightAccessorMethod private constructor( withPropertySymbol { propertySymbol -> val accessorSymbol = propertySymbol.accessorSymbol accessorSymbol.getJvmNameFromAnnotation(accessorSite.toOptionalFilter()) ?: run { + val outerClass = this@SymbolLightAccessorMethod.containingClass val defaultName = propertySymbol.name.identifier.let { - if (this@SymbolLightAccessorMethod.containingClass.isAnnotationType) it else it.abiName() + if (outerClass.isAnnotationType || outerClass.isRecord) + it + else + it.abiName() } val visibility = if (!isGetter && propertySymbol.canHaveNonPrivateField) @@ -104,7 +108,7 @@ internal class SymbolLightAccessorMethod private constructor( else propertySymbol.visibility - propertySymbol.computeJvmMethodName(defaultName, this@SymbolLightAccessorMethod.containingClass, accessorSite, visibility) + propertySymbol.computeJvmMethodName(defaultName, outerClass, accessorSite, visibility) } } } diff --git a/compiler/testData/asJava/lightClasses/lightClassByPsi/jvmRecord.java b/compiler/testData/asJava/lightClasses/lightClassByPsi/jvmRecord.java index aa8abbdcfbd..0e8d75eb4c9 100644 --- a/compiler/testData/asJava/lightClasses/lightClassByPsi/jvmRecord.java +++ b/compiler/testData/asJava/lightClasses/lightClassByPsi/jvmRecord.java @@ -7,7 +7,7 @@ public final class MyRec /* pkg.MyRec*/ { public final java.lang.String component1();// component1() @org.jetbrains.annotations.NotNull() - public final java.lang.String getName();// getName() + public final java.lang.String name();// name() @org.jetbrains.annotations.NotNull() public final pkg.MyRec copy(@org.jetbrains.annotations.NotNull() java.lang.String);// copy(java.lang.String)