make method static: delete receiver parameter (IDEA-223325)

GitOrigin-RevId: d27b8454d8f653072ff627a8048f89fde3491316
This commit is contained in:
Anna Kozlova
2021-01-21 21:46:48 +00:00
committed by intellij-monorepo-bot
parent ad08c928f5
commit dc72ec1873
5 changed files with 14 additions and 1 deletions
@@ -229,6 +229,11 @@ public class MakeMethodStaticProcessor extends MakeMethodOrClassStaticProcessor<
modifierList.setModifierProperty(PsiModifier.STATIC, true);
modifierList.setModifierProperty(PsiModifier.FINAL, false);
modifierList.setModifierProperty(PsiModifier.DEFAULT, false);
PsiReceiverParameter receiverParameter = PsiTreeUtil.getChildOfType(member.getParameterList(), PsiReceiverParameter.class);
if (receiverParameter != null) {
receiverParameter.delete();
}
}
@Override
@@ -51,7 +51,7 @@ public final class MakeStaticUtil {
}
}
}
else if (element instanceof PsiThisExpression) {
else if (element instanceof PsiThisExpression && !(element.getParent() instanceof PsiReceiverParameter)) {
PsiJavaCodeReferenceElement qualifier = ((PsiThisExpression) element).getQualifier();
PsiElement refElement = qualifier != null ?
qualifier.resolve() : PsiTreeUtil.getParentOfType(element, PsiClass.class);
@@ -0,0 +1,3 @@
public class Test {
public static void test123(int i) { }
}
@@ -0,0 +1,3 @@
public class Test {
public void <caret>test123(Test this, int i) { }
}
@@ -218,6 +218,8 @@ public class MakeMethodStaticTest extends LightRefactoringTestCase {
public void testPreserveParametersAlignment() {
doTest();
}
public void testReceiverParameter() { doTest(); }
public void testDelegatePlace() {
doTest(true, true);