summaryrefslogtreecommitdiff
path: root/python/src/com/jetbrains/python/psi/impl/PyFunctionImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'python/src/com/jetbrains/python/psi/impl/PyFunctionImpl.java')
-rw-r--r--python/src/com/jetbrains/python/psi/impl/PyFunctionImpl.java29
1 files changed, 7 insertions, 22 deletions
diff --git a/python/src/com/jetbrains/python/psi/impl/PyFunctionImpl.java b/python/src/com/jetbrains/python/psi/impl/PyFunctionImpl.java
index 2531b37bf8b2..86f84abb7fb6 100644
--- a/python/src/com/jetbrains/python/psi/impl/PyFunctionImpl.java
+++ b/python/src/com/jetbrains/python/psi/impl/PyFunctionImpl.java
@@ -184,11 +184,11 @@ public class PyFunctionImpl extends PyPresentableElementImpl<PyFunctionStub> imp
}
}
if (context.maySwitchToAST(this) && LanguageLevel.forElement(this).isAtLeast(LanguageLevel.PYTHON30)) {
- PyAnnotation anno = getAnnotation();
- if (anno != null) {
- PyClass pyClass = anno.resolveToClass();
- if (pyClass != null) {
- return new PyClassTypeImpl(pyClass, false);
+ final PyAnnotation annotation = getAnnotation();
+ if (annotation != null) {
+ final PyType type = context.getType(annotation);
+ if (type != null) {
+ return type;
}
}
}
@@ -571,7 +571,7 @@ public class PyFunctionImpl extends PyPresentableElementImpl<PyFunctionStub> imp
@Override
public PyAnnotation getAnnotation() {
- return findChildByClass(PyAnnotation.class);
+ return getStubOrPsiChild(PyElementTypes.ANNOTATION);
}
@NotNull
@@ -699,21 +699,6 @@ public class PyFunctionImpl extends PyPresentableElementImpl<PyFunctionStub> imp
@Nullable
@Override
public String getQualifiedName() {
- String name = getName();
- if (name == null) {
- return null;
- }
- PyClass containingClass = getContainingClass();
- if (containingClass != null) {
- return containingClass.getQualifiedName() + "." + name;
- }
- if (PsiTreeUtil.getStubOrPsiParent(this) instanceof PyFile) {
- VirtualFile virtualFile = getContainingFile().getVirtualFile();
- if (virtualFile != null) {
- final String packageName = QualifiedNameFinder.findShortestImportableName(this, virtualFile);
- return packageName + "." + name;
- }
- }
- return null;
+ return QualifiedNameFinder.getQualifiedName(this);
}
}