mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
allow navigation to not accessible fields when they are used inside reference chain
This commit is contained in:
+7
-3
@@ -239,9 +239,13 @@ public class PsiReferenceExpressionImpl extends PsiReferenceExpressionBase imple
|
||||
@NotNull
|
||||
private JavaResolveResult[] resolve(IElementType parentType, @NotNull PsiFile containingFile) {
|
||||
if (parentType == JavaElementType.REFERENCE_EXPRESSION) {
|
||||
JavaResolveResult[] variable = null;
|
||||
JavaResolveResult[] result = resolveToVariable(containingFile);
|
||||
if (result.length == 1 && result[0].isAccessible()) {
|
||||
return result;
|
||||
if (result.length == 1) {
|
||||
if (result[0].isAccessible()) {
|
||||
return result;
|
||||
}
|
||||
variable = result;
|
||||
}
|
||||
|
||||
PsiElement classNameElement = getReferenceNameElement();
|
||||
@@ -260,7 +264,7 @@ public class PsiReferenceExpressionImpl extends PsiReferenceExpressionBase imple
|
||||
result = resolveToPackage(containingFile);
|
||||
}
|
||||
|
||||
return result;
|
||||
return result.length == 0 && variable != null ? variable : result;
|
||||
}
|
||||
|
||||
if (parentType == JavaElementType.METHOD_CALL_EXPRESSION) {
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ class C {
|
||||
|
||||
class A extends C {
|
||||
{
|
||||
<error descr="Cannot resolve symbol 'id'">id</error>.MyObject.fromInt(1);
|
||||
<error descr="'id' has private access in 'C'">id</error>.MyObject.fromInt(1);
|
||||
|
||||
<error descr="'id' has private access in 'C'">id</error>.MyObject o;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user