diff options
Diffstat (limited to 'python/src/com/jetbrains/python/psi/types')
-rw-r--r-- | python/src/com/jetbrains/python/psi/types/PyFunctionType.java | 15 | ||||
-rw-r--r-- | python/src/com/jetbrains/python/psi/types/PyModuleType.java | 2 |
2 files changed, 14 insertions, 3 deletions
diff --git a/python/src/com/jetbrains/python/psi/types/PyFunctionType.java b/python/src/com/jetbrains/python/psi/types/PyFunctionType.java index bb58b68300e8..4b3adfd112f8 100644 --- a/python/src/com/jetbrains/python/psi/types/PyFunctionType.java +++ b/python/src/com/jetbrains/python/psi/types/PyFunctionType.java @@ -16,8 +16,11 @@ package com.jetbrains.python.psi.types; import com.intellij.psi.PsiElement; +import com.intellij.util.ArrayUtil; import com.intellij.util.ProcessingContext; +import com.jetbrains.python.PyNames; import com.jetbrains.python.psi.*; +import com.jetbrains.python.psi.impl.PyBuiltinCache; import com.jetbrains.python.psi.resolve.PyResolveContext; import com.jetbrains.python.psi.resolve.RatedResolveResult; import org.jetbrains.annotations.NotNull; @@ -71,12 +74,20 @@ public class PyFunctionType implements PyCallableType { @Nullable PyExpression location, @NotNull AccessDirection direction, @NotNull PyResolveContext resolveContext) { - return Collections.emptyList(); + final PyClassTypeImpl functionType = PyBuiltinCache.getInstance(getCallable()).getObjectType(PyNames.FAKE_FUNCTION); + if (functionType == null) { + return Collections.emptyList(); + } + return functionType.resolveMember(name, location, direction, resolveContext); } @Override public Object[] getCompletionVariants(String completionPrefix, PsiElement location, ProcessingContext context) { - return new Object[0]; + final PyClassTypeImpl functionType = PyBuiltinCache.getInstance(getCallable()).getObjectType(PyNames.FAKE_FUNCTION); + if (functionType == null) { + return ArrayUtil.EMPTY_OBJECT_ARRAY; + } + return functionType.getCompletionVariants(completionPrefix, location, context); } @Override diff --git a/python/src/com/jetbrains/python/psi/types/PyModuleType.java b/python/src/com/jetbrains/python/psi/types/PyModuleType.java index f2dc67c10c70..db5a9ba3f1ae 100644 --- a/python/src/com/jetbrains/python/psi/types/PyModuleType.java +++ b/python/src/com/jetbrains/python/psi/types/PyModuleType.java @@ -308,7 +308,7 @@ public class PyModuleType implements PyType { // Modules don't descend from obje return !(psiElement instanceof PyImportElement) || PsiTreeUtil.getParentOfType(psiElement, PyImportStatementBase.class) instanceof PyFromImportStatement; } - }, new PyUtil.UnderscoreFilter(0)); + }, null); if (suppressParentheses) { processor.suppressParentheses(); } |