From 982655f553a3c0599960c1fed9d53402f35a3a7b Mon Sep 17 00:00:00 2001 From: Alexey Sedunov Date: Fri, 14 Aug 2015 18:55:24 +0300 Subject: [PATCH] Pull Up: Resolve target light class separately for each Java field usage as it may change along the way --- .../pullUp/JavaToKotlinPreconversionPullUpHelper.kt | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/pullUp/JavaToKotlinPreconversionPullUpHelper.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/pullUp/JavaToKotlinPreconversionPullUpHelper.kt index 3e6ef8c6c0d..161a13bded7 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/pullUp/JavaToKotlinPreconversionPullUpHelper.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/pullUp/JavaToKotlinPreconversionPullUpHelper.kt @@ -152,13 +152,12 @@ public class JavaToKotlinPreconversionPullUpHelper( if (originalMember is PsiField) { val usages = fieldsToUsages[originalMember] ?: return - val firstUsage = usages.firstOrNull() ?: return - val fieldDescriptor = firstUsage.fieldDescriptor - val targetLightClass = (firstUsage.reference?.resolve() as? PsiField)?.containingClass ?: return - val getter = targetLightClass.findMethodBySignature(fieldDescriptor.getterPrototype, false) - val setter = targetLightClass.findMethodBySignature(fieldDescriptor.setterPrototype, false) - for (usage in usages) { + val fieldDescriptor = usage.fieldDescriptor + val targetLightClass = (usage.reference?.resolve() as? PsiField)?.containingClass ?: return + val getter = targetLightClass.findMethodBySignature(fieldDescriptor.getterPrototype, false) + val setter = targetLightClass.findMethodBySignature(fieldDescriptor.setterPrototype, false) + EncapsulateFieldHelper .getHelper(usage.element!!.language) ?.processUsage(usage, encapsulateFieldsDescriptor, setter, getter)