From ee382a06f169d41a78ed8e7013ada416bc577720 Mon Sep 17 00:00:00 2001 From: anna Date: Wed, 24 Apr 2013 19:12:29 +0200 Subject: [PATCH] EA-45861 - AIOOBE: CreateClassFromUsageBaseFix.getSuperClassName --- .../daemon/impl/quickfix/CreateClassFromUsageBaseFix.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateClassFromUsageBaseFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateClassFromUsageBaseFix.java index 3d482f54b4ab..1845c960f7e9 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateClassFromUsageBaseFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateClassFromUsageBaseFix.java @@ -156,7 +156,8 @@ public abstract class CreateClassFromUsageBaseFix extends BaseIntentionAction { final PsiClassType.ClassResolveResult classResolveResult = PsiUtil.resolveGenericsClassInType(expectedTypes[0].getType()); final PsiClass psiClass = classResolveResult.getElement(); if (psiClass != null && CommonClassNames.JAVA_LANG_CLASS.equals(psiClass.getQualifiedName())) { - PsiType psiType = classResolveResult.getSubstitutor().substitute(psiClass.getTypeParameters()[0]); + final PsiTypeParameter[] typeParameters = psiClass.getTypeParameters(); + PsiType psiType = typeParameters.length == 1 ? classResolveResult.getSubstitutor().substitute(typeParameters[0]) : null; if (psiType instanceof PsiWildcardType && ((PsiWildcardType)psiType).isExtends()) { psiType = ((PsiWildcardType)psiType).getExtendsBound(); }