create from usage: do not suggest to create local or parameter in super class

This commit is contained in:
anna
2012-02-21 20:56:15 +01:00
parent 5119abdcab
commit 077cbe9645
2 changed files with 7 additions and 1 deletions
@@ -54,7 +54,7 @@ public class CreateFieldFromUsageFix extends CreateVarFromUsageFix {
@Override
protected boolean canBeTargetClass(PsiClass psiClass) {
return super.canBeTargetClass(psiClass) && !psiClass.isInterface() && !psiClass.isAnnotationType();
return psiClass.getManager().isInProject(psiClass) && !psiClass.isInterface() && !psiClass.isAnnotationType();
}
@Override
@@ -24,6 +24,7 @@
*/
package com.intellij.codeInsight.daemon.impl.quickfix;
import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiMethodCallExpression;
import com.intellij.psi.PsiReferenceExpression;
@@ -41,6 +42,11 @@ public abstract class CreateVarFromUsageFix extends CreateFromUsageBaseFix {
return CreateFromUsageUtils.isValidReference(expression, false);
}
@Override
protected boolean canBeTargetClass(PsiClass psiClass) {
return false;
}
@Override
protected PsiElement getElement() {
if (!myReferenceExpression.isValid() || !myReferenceExpression.getManager().isInProject(myReferenceExpression)) return null;