diff --git a/platform/lang-impl/src/com/intellij/refactoring/extractMethod/SimpleDuplicatesFinder.java b/platform/lang-impl/src/com/intellij/refactoring/extractMethod/SimpleDuplicatesFinder.java index b791e95a7b0d..4951e9d9edbc 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/extractMethod/SimpleDuplicatesFinder.java +++ b/platform/lang-impl/src/com/intellij/refactoring/extractMethod/SimpleDuplicatesFinder.java @@ -146,6 +146,9 @@ public class SimpleDuplicatesFinder { final PsiElement candidateParent = candidate.getParent(); if (patternParent == null || candidateParent == null) return false; if (pattern.getUserData(PARAMETER) != null && patternParent.getClass() == candidateParent.getClass()) { + if (myOutputVariables.contains(pattern.getText())) { + match.changeOutput(candidate.getText()); + } return changeParameter(pattern.getText(), candidate.getText(), match); } if (children1.length != children2.length) return false; @@ -158,6 +161,9 @@ public class SimpleDuplicatesFinder { if (children1.length == 0) { if (pattern.getUserData(PARAMETER) != null && patternParent.getClass() == candidateParent.getClass()) { + if (myOutputVariables.contains(pattern.getText())) { + match.changeOutput(candidate.getText()); + } return changeParameter(pattern.getText(), candidate.getText(), match); } if (myOutputVariables.contains(pattern.getText())) {