diff options
Diffstat (limited to 'java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateFieldFromUsageFix.java')
-rw-r--r-- | java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateFieldFromUsageFix.java | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateFieldFromUsageFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateFieldFromUsageFix.java index 939b8b6f8a13..1e9d1a88cb99 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateFieldFromUsageFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateFieldFromUsageFix.java @@ -28,6 +28,9 @@ import com.intellij.psi.util.PsiTreeUtil; import com.intellij.psi.util.PsiUtil; import org.jetbrains.annotations.NotNull; +import java.util.ArrayList; +import java.util.List; + /** * @author Mike */ @@ -45,6 +48,19 @@ public class CreateFieldFromUsageFix extends CreateVarFromUsageFix { return false; } + @NotNull + @Override + protected List<PsiClass> getTargetClasses(PsiElement element) { + final List<PsiClass> targetClasses = new ArrayList<PsiClass>(); + for (PsiClass psiClass : super.getTargetClasses(element)) { + if (psiClass.getManager().isInProject(psiClass) && + (!psiClass.isInterface() && !psiClass.isAnnotationType() || shouldCreateStaticMember(myReferenceExpression, psiClass))) { + targetClasses.add(psiClass); + } + } + return targetClasses; + } + @Override protected boolean canBeTargetClass(PsiClass psiClass) { return psiClass.getManager().isInProject(psiClass) && !psiClass.isInterface() && !psiClass.isAnnotationType(); |