PY-50885 Fix CCE when resolving namespace package references in docstrings

GitOrigin-RevId: f8196bd41e5a0a880651fa08d3b6820594cf44b7
This commit is contained in:
Mikhail Golubev
2021-10-06 19:54:42 +03:00
committed by intellij-monorepo-bot
parent 755232b2f6
commit 2d2ba280ac
4 changed files with 16 additions and 2 deletions

View File

@@ -77,13 +77,13 @@ public class DocStringTypeReference extends PsiPolyVariantReferenceBase<PsiEleme
@Override
public ResolveResult @NotNull [] multiResolve(boolean incompleteCode) {
PyElement result = null;
PsiElement result = null;
final ResolveResultList results = new ResolveResultList();
if (myType instanceof PyClassType) {
result = ((PyClassType)myType).getPyClass();
}
else if (myType instanceof PyImportedModuleType) {
result = (PyElement)((PyImportedModuleType)myType).getImportedModule().resolve();
result = ((PyImportedModuleType)myType).getImportedModule().resolve();
}
else if (myType instanceof PyModuleType) {
result = ((PyModuleType)myType).getModule();

View File

@@ -0,0 +1,7 @@
import nspkg.mod
def func(p):
"""
:type p: nspkg.mod.Class
"""

View File

@@ -311,4 +311,9 @@ public class Py3UnresolvedReferencesInspectionTest extends PyInspectionTestCase
public void testClassLevelDunderAll() {
doMultiFileTest("a.py");
}
// PY-50885
public void testNamespacePackageReferenceInDocstringType() {
doMultiFileTest();
}
}