mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
find classes to import: check accessibility (IDEA-154069)
This commit is contained in:
+2
-1
@@ -28,6 +28,7 @@ import com.intellij.openapi.util.Comparing;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.util.ClassUtil;
|
||||
import com.intellij.psi.util.PsiUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Collections;
|
||||
@@ -143,6 +144,6 @@ public class ImportClassFix extends ImportClassFixBase<PsiJavaCodeReferenceEleme
|
||||
|
||||
@Override
|
||||
protected boolean isAccessible(PsiMember member, PsiJavaCodeReferenceElement reference) {
|
||||
return member.hasModifierProperty(PsiModifier.PUBLIC) || member.hasModifierProperty(PsiModifier.PROTECTED);
|
||||
return PsiUtil.isAccessible(member, reference, null);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -85,6 +85,29 @@ public class Foo {
|
||||
'''
|
||||
}
|
||||
|
||||
public void testPackageLocalInner() {
|
||||
myFixture.addClass 'package foo; class Outer { static class Inner {static String FOO = "";}}'
|
||||
|
||||
myFixture.configureByText 'a.java', '''\
|
||||
package foo;
|
||||
class Usage {
|
||||
{
|
||||
String foo = In<caret>ner.FOO;
|
||||
}
|
||||
}
|
||||
'''
|
||||
|
||||
importClass()
|
||||
|
||||
myFixture.checkResult '''package foo;
|
||||
class Usage {
|
||||
{
|
||||
String foo = Outer.Inner.FOO;
|
||||
}
|
||||
}
|
||||
'''
|
||||
}
|
||||
|
||||
public void testWrongTypeParams() throws Exception {
|
||||
myFixture.addClass 'package f; public class Foo {}'
|
||||
myFixture.configureByText 'a.java', '''\
|
||||
|
||||
Reference in New Issue
Block a user