convert to local for switch block: add decl before switch (IDEA-181440)

This commit is contained in:
Anna.Kozlova
2017-11-21 16:51:09 +01:00
parent 8b438ff32b
commit d6b550aa66
3 changed files with 44 additions and 1 deletions
@@ -132,7 +132,14 @@ public abstract class BaseConvertToLocalQuickFix<V extends PsiVariable> implemen
variable,
references,
delete,
declaration -> anchorBlock.addBefore(declaration, anchor)
declaration -> {
PsiElement parent = anchorBlock.getParent();
if (parent instanceof PsiSwitchStatement) {
PsiElement switchContainer = parent.getParent();
return switchContainer.addBefore(declaration, parent);
}
return anchorBlock.addBefore(declaration, anchor);
}
);
}
@@ -0,0 +1,18 @@
// "Convert to local" "true"
class TestFieldConversion
{
public void someMethod(int s) {
int someInt = 0;
switch (s) {
case 1:
System.out.println(someInt);
break;
case 3:
System.out.println(someInt);
break;
default:
break;
}
}
}
@@ -0,0 +1,18 @@
// "Convert to local" "true"
class TestFieldConversion
{
private int som<caret>eInt = 0;
public void someMethod(int s) {
switch (s) {
case 1:
System.out.println(someInt);
break;
case 3:
System.out.println(someInt);
break;
default:
break;
}
}
}