disable "move initializer to" fixes on malformed fields

This commit is contained in:
peter
2017-07-13 17:58:13 +02:00
parent bf04ef0dbd
commit 90276fd30c
2 changed files with 10 additions and 1 deletions
@@ -48,7 +48,8 @@ public abstract class BaseMoveInitializerToMethodAction extends PsiElementBaseIn
if (element instanceof PsiCompiledElement) return false;
final PsiField field = PsiTreeUtil.getParentOfType(element, PsiField.class, false, PsiMember.class, PsiCodeBlock.class, PsiDocComment.class);
if (field == null || hasUnsuitableModifiers(field)) return false;
if (!field.hasInitializer()) return false;
PsiExpression initializer = field.getInitializer();
if (initializer == null || initializer.getNextSibling() instanceof PsiErrorElement) return false;
PsiClass psiClass = field.getContainingClass();
return psiClass != null && !psiClass.isInterface() && !(psiClass instanceof PsiAnonymousClass) && !(psiClass instanceof PsiSyntheticClass);
@@ -0,0 +1,8 @@
// "Move initializer to constructor" "false"
public class X {
int <caret>i=new ();
X() {
}
}