From 83a1f2a6b6027d0bbfa51cdeb297b3abee1272d7 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Fri, 4 Apr 2014 12:59:53 +0200 Subject: [PATCH] EA-55521 - IAE: TypeConversionUtil.getSuperClassSubstitutor --- .../generation/GenerateDelegateHandler.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/generation/GenerateDelegateHandler.java b/java/java-impl/src/com/intellij/codeInsight/generation/GenerateDelegateHandler.java index be7450b809d1..4236da3187fc 100644 --- a/java/java-impl/src/com/intellij/codeInsight/generation/GenerateDelegateHandler.java +++ b/java/java-impl/src/com/intellij/codeInsight/generation/GenerateDelegateHandler.java @@ -32,9 +32,7 @@ import com.intellij.psi.javadoc.PsiDocComment; import com.intellij.psi.scope.processor.VariablesProcessor; import com.intellij.psi.scope.util.PsiScopesUtil; import com.intellij.psi.util.*; -import com.intellij.util.ArrayUtil; import com.intellij.util.IncorrectOperationException; -import com.intellij.util.containers.ContainerUtil; import com.intellij.util.containers.HashMap; import com.intellij.util.containers.HashSet; import org.jetbrains.annotations.NonNls; @@ -263,7 +261,7 @@ public class GenerateDelegateHandler implements LanguageCodeInsightActionHandler superSubstitutor = TypeConversionUtil.getSuperClassSubstitutor(superClass, targetClass, substitutor); superSubstitutors.put(superClass, superSubstitutor); } - PsiSubstitutor methodSubstitutor = OverrideImplementUtil.correctSubstitutor(method, superSubstitutor); + PsiSubstitutor methodSubstitutor = OverrideImplementExploreUtil.correctSubstitutor(method, superSubstitutor); MethodSignature signature = method.getSignature(methodSubstitutor); if (!signatures.contains(signature)) { signatures.add(signature); @@ -357,14 +355,16 @@ public class GenerateDelegateHandler implements LanguageCodeInsightActionHandler final PsiType type = field.getType(); if (helper.isAccessible(field, aClass, aClass) && type instanceof PsiClassType && !PsiTreeUtil.isAncestor(field, element, false)) { final PsiClass containingClass = field.getContainingClass(); - result.add(new PsiFieldMember(field, TypeConversionUtil.getSuperClassSubstitutor(containingClass, aClass, PsiSubstitutor.EMPTY))); + if (containingClass != null) { + result.add(new PsiFieldMember(field, TypeConversionUtil.getSuperClassSubstitutor(containingClass, aClass, PsiSubstitutor.EMPTY))); + } } } final PsiMethod[] methods = aClass.getAllMethods(); for (PsiMethod method : methods) { final PsiClass containingClass = method.getContainingClass(); - if (CommonClassNames.JAVA_LANG_OBJECT.equals(containingClass.getQualifiedName())) continue; + if (containingClass == null || CommonClassNames.JAVA_LANG_OBJECT.equals(containingClass.getQualifiedName())) continue; final PsiType returnType = method.getReturnType(); if (returnType != null && PropertyUtil.isSimplePropertyGetter(method) && helper.isAccessible(method, aClass, aClass) && returnType instanceof PsiClassType && !PsiTreeUtil.isAncestor(method, element, false)) {