From 3d667bbaf1ea8af6edb4bf81128621981c03411b Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Wed, 16 May 2012 19:57:06 +0400 Subject: [PATCH] EA-36175 - IAE: TypeConversionUtil.getSuperClassSubstitutor --- .../codeInsight/intention/impl/CreateSubclassAction.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/intention/impl/CreateSubclassAction.java b/java/java-impl/src/com/intellij/codeInsight/intention/impl/CreateSubclassAction.java index 62b02137d7d8..03da3fb094e0 100644 --- a/java/java-impl/src/com/intellij/codeInsight/intention/impl/CreateSubclassAction.java +++ b/java/java-impl/src/com/intellij/codeInsight/intention/impl/CreateSubclassAction.java @@ -276,7 +276,10 @@ public class CreateSubclassAction extends BaseIntentionAction { CreateFromUsageBaseFix.startTemplate(editor, template, project, new TemplateEditingAdapter() { @Override public void templateFinished(Template template, boolean brokenOff) { - chooseAndImplement(psiClass, project, PsiTreeUtil.getParentOfType(containingFile.findElementAt(startClassOffset), PsiClass.class), editor); + final PsiElement psiElement = containingFile.findElementAt(startClassOffset); + final PsiClass aTargetClass = PsiTreeUtil.getParentOfType(psiElement, PsiClass.class); + LOG.assertTrue(aTargetClass != null, psiElement); + chooseAndImplement(psiClass, project, aTargetClass, editor); } }, getTitle(psiClass)); } @@ -293,7 +296,7 @@ public class CreateSubclassAction extends BaseIntentionAction { return typeParameterList.replace(oldTypeParameterList); } - protected static void chooseAndImplement(PsiClass psiClass, Project project, PsiClass targetClass, Editor editor) { + protected static void chooseAndImplement(PsiClass psiClass, Project project, @NotNull PsiClass targetClass, Editor editor) { boolean hasNonTrivialConstructor = false; final PsiMethod[] constructors = psiClass.getConstructors(); for (PsiMethod constructor : constructors) {