mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-05-06 05:10:22 +07:00
add single static import: check method base class beforehand (IDEA-12607 )
This commit is contained in:
@@ -21,15 +21,14 @@ package com.intellij.codeInsight.intention.impl;
|
||||
|
||||
import com.intellij.codeInsight.CodeInsightBundle;
|
||||
import com.intellij.codeInsight.CodeInsightUtilBase;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
import com.intellij.codeInsight.intention.PsiElementBaseIntentionAction;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.Comparing;
|
||||
import com.intellij.openapi.util.Key;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.util.InheritanceUtil;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.psi.util.PsiUtil;
|
||||
import com.intellij.refactoring.util.RefactoringUtil;
|
||||
@@ -149,7 +148,7 @@ public class AddSingleMemberStaticImportAction extends PsiElementBaseIntentionAc
|
||||
} else {
|
||||
if (qualifierExpression instanceof PsiReferenceExpression) {
|
||||
PsiElement aClass = ((PsiReferenceExpression)qualifierExpression).resolve();
|
||||
if (aClass == ((PsiMember)resolved).getContainingClass()) {
|
||||
if (aClass instanceof PsiClass && InheritanceUtil.isInheritorOrSelf((PsiClass)aClass, ((PsiMember)resolved).getContainingClass(), true)) {
|
||||
boolean foundMemberByName = false;
|
||||
if (referent instanceof PsiMember) {
|
||||
final String memberName = ((PsiMember)referent).getName();
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
// "Add on demand static import for 'test.GregorianCalendar'" "true"
|
||||
package test;
|
||||
|
||||
import static test.GregorianCalendar.*;
|
||||
|
||||
public class Foo {
|
||||
{
|
||||
getInstance();
|
||||
}
|
||||
}
|
||||
|
||||
class Calendar {
|
||||
public static final void getInstance() {}
|
||||
}
|
||||
|
||||
class GregorianCalendar extends Calendar {
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
// "Add static import for 'test.Calendar.getInstance'" "true"
|
||||
package test;
|
||||
|
||||
import static test.Calendar.getInstance;
|
||||
|
||||
public class Foo {
|
||||
{
|
||||
getInstance();
|
||||
}
|
||||
}
|
||||
|
||||
class Calendar {
|
||||
public static final void getInstance() {}
|
||||
}
|
||||
|
||||
class GregorianCalendar extends Calendar {
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
// "Add on demand static import for 'test.GregorianCalendar'" "true"
|
||||
package test;
|
||||
|
||||
public class Foo {
|
||||
{
|
||||
<caret>GregorianCalendar.getInstance();
|
||||
}
|
||||
}
|
||||
|
||||
class Calendar {
|
||||
public static final void getInstance() {}
|
||||
}
|
||||
|
||||
class GregorianCalendar extends Calendar {
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
// "Add static import for 'test.Calendar.getInstance'" "true"
|
||||
package test;
|
||||
|
||||
public class Foo {
|
||||
{
|
||||
GregorianCalendar.get<caret>Instance();
|
||||
}
|
||||
}
|
||||
|
||||
class Calendar {
|
||||
public static final void getInstance() {}
|
||||
}
|
||||
|
||||
class GregorianCalendar extends Calendar {
|
||||
}
|
||||
Reference in New Issue
Block a user