diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/syntheticAccessorUtil.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/syntheticAccessorUtil.kt index bfa0b2658c6..a3f1d0342a9 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/syntheticAccessorUtil.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/syntheticAccessorUtil.kt @@ -33,6 +33,8 @@ private fun CallableMemberDescriptor.getJvmName() = fun getAccessorNameSuffix( descriptor: CallableMemberDescriptor, superCallDescriptor: ClassDescriptor?, accessorKind: AccessorKind ): String { + if (accessorKind == AccessorKind.JVM_DEFAULT_COMPATIBILITY) return descriptor.getJvmName() + "$" + AccessorKind.JVM_DEFAULT_COMPATIBILITY.suffix + val suffix = when (descriptor) { is ConstructorDescriptor -> return "will be ignored" @@ -43,6 +45,5 @@ fun getAccessorNameSuffix( else -> throw UnsupportedOperationException("Do not know how to create accessor for descriptor $descriptor") } - if (accessorKind == AccessorKind.JVM_DEFAULT_COMPATIBILITY) return suffix + "$" + AccessorKind.JVM_DEFAULT_COMPATIBILITY.suffix return if (superCallDescriptor == null) suffix else "$suffix\$s${superCallDescriptor.name.asString().hashCode()}" } diff --git a/compiler/testData/codegen/java8/writeFlags/defaults/compatibility/propertyAccessors.kt b/compiler/testData/codegen/java8/writeFlags/defaults/compatibility/propertyAccessors.kt index 8025ad01dc3..c6a7c6fd16b 100644 --- a/compiler/testData/codegen/java8/writeFlags/defaults/compatibility/propertyAccessors.kt +++ b/compiler/testData/codegen/java8/writeFlags/defaults/compatibility/propertyAccessors.kt @@ -15,15 +15,15 @@ interface Test { } // TESTED_OBJECT_KIND: function -// TESTED_OBJECTS: Test, access$getTest$jd$jd +// TESTED_OBJECTS: Test, access$getTest$jd // FLAGS: ACC_PUBLIC, ACC_STATIC, ACC_SYNTHETIC // TESTED_OBJECT_KIND: function -// TESTED_OBJECTS: Test, access$getTest2$jd$jd +// TESTED_OBJECTS: Test, access$getTest2$jd // FLAGS: ACC_PUBLIC, ACC_STATIC, ACC_SYNTHETIC // TESTED_OBJECT_KIND: function -// TESTED_OBJECTS: Test, access$setTest2$jd$jd +// TESTED_OBJECTS: Test, access$setTest2$jd // FLAGS: ACC_PUBLIC, ACC_STATIC, ACC_SYNTHETIC