From 1fd8837d171a347c387027f2fa9c32908d7a46c5 Mon Sep 17 00:00:00 2001 From: Eugene Vigdorchik Date: Mon, 24 Jan 2005 22:00:20 +0300 Subject: [PATCH] (no message) --- .../daemon/impl/quickfix/CreateFromUsageBaseAction.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/source/com/intellij/codeInsight/daemon/impl/quickfix/CreateFromUsageBaseAction.java b/source/com/intellij/codeInsight/daemon/impl/quickfix/CreateFromUsageBaseAction.java index ae1b70b69c0a..243e2391c344 100644 --- a/source/com/intellij/codeInsight/daemon/impl/quickfix/CreateFromUsageBaseAction.java +++ b/source/com/intellij/codeInsight/daemon/impl/quickfix/CreateFromUsageBaseAction.java @@ -277,18 +277,19 @@ public abstract class CreateFromUsageBaseAction extends BaseIntentionAction { psiClass = PsiTreeUtil.getParentOfType(psiClass, PsiClass.class); } } - if (!(psiClass instanceof PsiTypeParameter)) { - return psiClass != null && psiClass.isValid() && psiClass.getManager().isInProject(psiClass) ? new PsiClass[]{psiClass} : null; - } else { + if (psiClass instanceof PsiTypeParameter) { PsiClass[] supers = psiClass.getSupers(); List filtered = new ArrayList(); for (int i = 0; i < supers.length; i++) { PsiClass aSuper = supers[i]; - if (!aSuper.isValid() || !aSuper.getManager().isInProject(aSuper)) continue; + if (!aSuper.isWritable() || !aSuper.getManager().isInProject(aSuper)) continue; if (!(aSuper instanceof PsiTypeParameter)) filtered.add(aSuper); } return filtered.size() > 0 ? filtered.toArray(new PsiClass[filtered.size()]) : null; } + else { + return psiClass != null && psiClass.getManager().isInProject(psiClass) && psiClass.isWritable() ? new PsiClass[]{psiClass} : null; + } } protected boolean isNonqualifiedReference(PsiElement result) {