mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
disable import of static constant on type element/assignment place (IDEA-156162)
This commit is contained in:
+5
@@ -22,6 +22,7 @@ import com.intellij.psi.*;
|
||||
import com.intellij.psi.search.PsiShortNamesCache;
|
||||
import com.intellij.psi.util.PsiFormatUtil;
|
||||
import com.intellij.psi.util.PsiFormatUtilBase;
|
||||
import com.intellij.psi.util.PsiUtil;
|
||||
import com.intellij.psi.util.TypeConversionUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -58,6 +59,10 @@ public class StaticImportConstantFix extends StaticImportMemberFix<PsiField> {
|
||||
final PsiJavaCodeReferenceElement element = myRef.getElement();
|
||||
String name = element != null ? element.getReferenceName() : null;
|
||||
if (name == null) return Collections.emptyList();
|
||||
if (element instanceof PsiExpression && PsiUtil.isAccessedForWriting((PsiExpression)element) ||
|
||||
element.getParent() instanceof PsiTypeElement) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
final StaticMembersProcessor<PsiField> processor = new StaticMembersProcessor<PsiField>(element) {
|
||||
@Override
|
||||
protected boolean isApplicable(PsiField field, PsiElement place) {
|
||||
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
// "Static import constant 'foo.B.K'" "false"
|
||||
package foo;
|
||||
|
||||
public class X {
|
||||
|
||||
{
|
||||
<caret>K = new X();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class B {
|
||||
public static Object K = null;
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
// "Static import constant 'foo.B.K'" "false"
|
||||
package foo;
|
||||
|
||||
public class X {
|
||||
|
||||
<caret>K foo() {}
|
||||
|
||||
}
|
||||
|
||||
class B {
|
||||
public static Object K = null;
|
||||
}
|
||||
Reference in New Issue
Block a user