mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-04-21 22:11:40 +07:00
remove redundant initializer: cope with field initializer side effects
EA-113714 - CCE: RemoveInitializerFix.lambda$sideEffectAwareRemove$
This commit is contained in:
@@ -92,6 +92,12 @@ public class RemoveInitializerFix implements LocalQuickFix {
|
||||
}
|
||||
else {
|
||||
elementToDelete.delete();
|
||||
if (declaration instanceof PsiClass) {
|
||||
PsiClassInitializer initializer = factory.createClassInitializer();
|
||||
initializer = (PsiClassInitializer)declaration.addAfter(initializer, variable);
|
||||
initializer.getBody().add(statementFromText);
|
||||
return;
|
||||
}
|
||||
PsiElement grandParent = declaration.getParent();
|
||||
BlockUtils.addBefore(((PsiStatement) (grandParent instanceof PsiForStatement ? grandParent : declaration)), statementFromText);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
// "Remove redundant initializer" "true"
|
||||
class A {
|
||||
private String myFoo;
|
||||
|
||||
{
|
||||
abc();
|
||||
}
|
||||
|
||||
protected String abc() {
|
||||
return "";
|
||||
}
|
||||
|
||||
public A(String myFoo) {
|
||||
this.myFoo = myFoo;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
// "Remove redundant initializer" "true"
|
||||
class A {
|
||||
private String myFoo = ab<caret>c();
|
||||
|
||||
protected String abc() {
|
||||
return "";
|
||||
}
|
||||
|
||||
public A(String myFoo) {
|
||||
this.myFoo = myFoo;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user