mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
accessibility of private method via anonymous classes fixed
This commit is contained in:
@@ -130,8 +130,7 @@ public class JavaResolveUtil {
|
||||
PsiClass topAccessClass = getTopLevelClass(accessObjectClass, memberClass);
|
||||
if (!manager.areElementsEquivalent(topMemberClass, topAccessClass)) return false;
|
||||
if (accessObjectClass instanceof PsiAnonymousClass && accessObjectClass.isInheritor(memberClass, true)) {
|
||||
if (place instanceof PsiMethodCallExpression &&
|
||||
((PsiMethodCallExpression)place).getMethodExpression().getQualifierExpression() instanceof PsiThisExpression) {
|
||||
if (place instanceof PsiMethodCallExpression) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
+9
-1
@@ -37,7 +37,7 @@ abstract class EnumPrivateMethodTest2 {
|
||||
private void firstMethod() {}
|
||||
}
|
||||
|
||||
class Test {
|
||||
class TestAnonymousContainer {
|
||||
private class Foo {
|
||||
private Foo() {}
|
||||
|
||||
@@ -45,4 +45,12 @@ class Test {
|
||||
new Foo(){};
|
||||
}
|
||||
}
|
||||
|
||||
class AB {
|
||||
private void foo(){}
|
||||
}
|
||||
|
||||
{
|
||||
new AB() {}.<error descr="'foo()' has private access in 'TestAnonymousContainer.AB'">foo</error>();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user