mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
correct resolve roof for private names in superclass list of a class (PY-2618)
This commit is contained in:
@@ -234,7 +234,10 @@ public class PyReferenceImpl implements PsiReferenceEx, PsiPolyVariantReference
|
||||
}
|
||||
while (one instanceof PyFunction);
|
||||
if (one instanceof PyClass) {
|
||||
return one;
|
||||
PyArgumentList superClassExpressionList = ((PyClass)one).getSuperClassExpressionList();
|
||||
if (superClassExpressionList == null || !PsiTreeUtil.isAncestor(superClassExpressionList, myElement, false)) {
|
||||
return one;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
class __VeryPrivate(object): pass
|
||||
class Public(__VeryPrivate): pass
|
||||
# <ref>
|
||||
@@ -388,4 +388,8 @@ public class PyResolveTest extends PyResolveTestCase {
|
||||
public void testWithParentheses() {
|
||||
assertResolvesTo(LanguageLevel.PYTHON27, PyTargetExpression.class, "MockClass1");
|
||||
}
|
||||
|
||||
public void testPrivateInsideModule() { // PY-2618
|
||||
assertResolvesTo(PyClass.class, "__VeryPrivate");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user