NPE: AddVariableInitializerFix.runAssignmentTemplate EA-92483

This commit is contained in:
Dmitry Batkovich
2016-12-14 21:15:43 +03:00
parent aa73c8c21a
commit d5068314b4
2 changed files with 6 additions and 2 deletions
@@ -28,6 +28,7 @@ import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.psi.util.PsiTypesUtil;
import com.intellij.psi.util.PsiUtil;
import com.intellij.util.IncorrectOperationException;
import com.intellij.util.ObjectUtils;
import com.intellij.util.SmartList;
import com.intellij.util.containers.ContainerUtil;
import org.jetbrains.annotations.NotNull;
@@ -94,7 +95,7 @@ public class AddVariableInitializerFix implements IntentionAction {
@Nullable Editor editor) {
if (editor == null) return;
LOG.assertTrue(!initializers.isEmpty());
final PsiExpression initializer = ContainerUtil.getFirstItem(initializers);
final PsiExpression initializer = ObjectUtils.notNull(ContainerUtil.getFirstItem(initializers));
PsiElement context = initializers.size() == 1 ? initializer : PsiTreeUtil.findCommonParent(initializers);
PsiDocumentManager.getInstance(initializer.getProject()).doPostponedOperationsAndUnblockDocument(editor.getDocument());
final TemplateBuilderImpl builder = (TemplateBuilderImpl)TemplateBuilderFactory.getInstance().createTemplateBuilder(context);
@@ -100,7 +100,10 @@ public class InitializeFinalFieldInConstructorFix implements IntentionAction {
final LookupElement[] suggestedInitializers = AddVariableInitializerFix.suggestInitializer(field);
for (PsiMethod constructor : constructors) {
rExpressions.add(addFieldInitialization(constructor, suggestedInitializers, field, project));
PsiExpression initialization = addFieldInitialization(constructor, suggestedInitializers, field, project);
if (initialization != null) {
rExpressions.add(initialization);
}
}
AddVariableInitializerFix.runAssignmentTemplate(rExpressions, suggestedInitializers, editor);
}