diff --git a/plugins/kotlin/refactorings/kotlin.refactorings.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/introduce/K2SemanticMatcher.kt b/plugins/kotlin/refactorings/kotlin.refactorings.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/introduce/K2SemanticMatcher.kt index b70f47f660a0..364478daac71 100644 --- a/plugins/kotlin/refactorings/kotlin.refactorings.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/introduce/K2SemanticMatcher.kt +++ b/plugins/kotlin/refactorings/kotlin.refactorings.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/introduce/K2SemanticMatcher.kt @@ -229,13 +229,21 @@ object K2SemanticMatcher { } } if (targetSymbol is KaSyntheticJavaPropertySymbol && patternSymbol is KaSyntheticJavaPropertySymbol && - targetSymbol.callableId == patternSymbol.callableId + areSyntheticPropertiesEqual(targetSymbol, patternSymbol) ) { return true } return targetSymbol == patternSymbol || symbols[targetSymbol] == patternSymbol } + private fun areSyntheticPropertiesEqual( + targetSyntheticProperty: KaSyntheticJavaPropertySymbol, + patternSyntheticProperty: KaSyntheticJavaPropertySymbol, + ): Boolean { + return targetSyntheticProperty.javaGetterSymbol == patternSyntheticProperty.javaGetterSymbol && + targetSyntheticProperty.javaSetterSymbol == patternSyntheticProperty.javaSetterSymbol + } + context(KaSession) fun areBlockBodyOwnersEqualOrAssociated(targetFunction: KaFunctionSymbol, patternFunction: KaFunctionSymbol): Boolean = targetFunction == patternFunction || blockBodyOwners[targetFunction] == patternFunction