From bf59943ef63f25cae5fd88ad1318a2bb526e06a0 Mon Sep 17 00:00:00 2001 From: Eugene Vigdorchik Date: Tue, 1 Feb 2005 17:22:42 +0300 Subject: [PATCH] (no message) --- .../MoveInstanceMethodProcessor.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/source/com/intellij/refactoring/move/moveInstanceMethod/MoveInstanceMethodProcessor.java b/source/com/intellij/refactoring/move/moveInstanceMethod/MoveInstanceMethodProcessor.java index 175e411c2840..884b11cfc685 100644 --- a/source/com/intellij/refactoring/move/moveInstanceMethod/MoveInstanceMethodProcessor.java +++ b/source/com/intellij/refactoring/move/moveInstanceMethod/MoveInstanceMethodProcessor.java @@ -221,9 +221,16 @@ public class MoveInstanceMethodProcessor extends BaseRefactoringProcessor{ expression.getArgumentList().add(qualifier); if (newQualifier != null) { - final PsiReferenceExpression refExpr = (PsiReferenceExpression)manager.getElementFactory().createExpressionFromText("q." + myMethod.getName(), null); - refExpr.getQualifierExpression().replace(newQualifier); - expression.getMethodExpression().replace(refExpr); + if ((newQualifier instanceof PsiThisExpression && ((PsiThisExpression)newQualifier).getQualifier() == null)) { + //Remove redundant 'this' qualifier + final PsiExpression oldQualifier = expression.getMethodExpression().getQualifierExpression(); + if (oldQualifier != null) oldQualifier.delete(); + } + else { + final PsiReferenceExpression refExpr = (PsiReferenceExpression)manager.getElementFactory().createExpressionFromText("q." + myMethod.getName(), null); + refExpr.getQualifierExpression().replace(newQualifier); + expression.getMethodExpression().replace(refExpr); + } } } catch (IncorrectOperationException e) {