From 298ccc490130d58d353b837d0484942664b819cc Mon Sep 17 00:00:00 2001 From: Dmitry Trofimov Date: Tue, 14 Feb 2017 15:32:59 +0100 Subject: [PATCH] Fix usages of broken PythonSdkType.getSdk method, which didn't take in account a Python facet configuration. --- .../newProject/steps/PythonBaseProjectGenerator.java | 2 +- .../userSkeletons/PyUserSkeletonsUtil.java | 2 +- .../PyUnresolvedReferencesInspection.java | 2 +- .../python/psi/resolve/PyResolveImportUtil.kt | 2 +- python/src/com/jetbrains/python/sdk/PySdkUtil.java | 2 +- .../src/com/jetbrains/python/sdk/PythonSdkType.java | 12 +++++++----- 6 files changed, 12 insertions(+), 10 deletions(-) diff --git a/python/python-community-configure/src/com/jetbrains/python/newProject/steps/PythonBaseProjectGenerator.java b/python/python-community-configure/src/com/jetbrains/python/newProject/steps/PythonBaseProjectGenerator.java index d2c9d565e367..e3db007e52fc 100644 --- a/python/python-community-configure/src/com/jetbrains/python/newProject/steps/PythonBaseProjectGenerator.java +++ b/python/python-community-configure/src/com/jetbrains/python/newProject/steps/PythonBaseProjectGenerator.java @@ -74,7 +74,7 @@ public class PythonBaseProjectGenerator extends PythonProjectGenerator 0) { val absoluteName = containingName.append(name) - val sdk = PythonSdkType.getSdk(footholdFile) ?: return emptyList() + val sdk = PythonSdkType.findPythonSdk(footholdFile) ?: return emptyList() val skeletonsVirtualFile = PySdkUtil.findSkeletonsDir(sdk) ?: return emptyList() val skeletonsDir = context.psiManager.findDirectory(skeletonsVirtualFile) return resolveModuleAt(absoluteName, skeletonsDir, context) diff --git a/python/src/com/jetbrains/python/sdk/PySdkUtil.java b/python/src/com/jetbrains/python/sdk/PySdkUtil.java index 0c362badc0c8..48210bbd82e7 100644 --- a/python/src/com/jetbrains/python/sdk/PySdkUtil.java +++ b/python/src/com/jetbrains/python/sdk/PySdkUtil.java @@ -199,7 +199,7 @@ public class PySdkUtil { if (file != null) { final VirtualFile virtualFile = file.getVirtualFile(); if (virtualFile != null) { - final Sdk sdk = PythonSdkType.getSdk(element); + final Sdk sdk = PythonSdkType.findPythonSdk(element); if (sdk != null) { final VirtualFile skeletonsDir = findSkeletonsDir(sdk); if (skeletonsDir != null && VfsUtilCore.isAncestor(skeletonsDir, virtualFile, false)) { diff --git a/python/src/com/jetbrains/python/sdk/PythonSdkType.java b/python/src/com/jetbrains/python/sdk/PythonSdkType.java index ad437e20a644..173e4c8861d8 100644 --- a/python/src/com/jetbrains/python/sdk/PythonSdkType.java +++ b/python/src/com/jetbrains/python/sdk/PythonSdkType.java @@ -692,6 +692,11 @@ public final class PythonSdkType extends SdkType { return null; } + @Nullable + public static Sdk findPythonSdk(@NotNull final PsiElement element) { + return findPythonSdk(ModuleUtilCore.findModuleForPsiElement(element)); + } + @Nullable public static Sdk findSdkByPath(@Nullable String path) { if (path != null) { @@ -901,13 +906,10 @@ public final class PythonSdkType extends SdkType { return false; } + @Deprecated @Nullable public static Sdk getSdk(@NotNull final PsiElement element) { - Module module = ModuleUtilCore.findModuleForPsiElement(element); - if (module == null) { - return null; - } - return ModuleRootManager.getInstance(module).getSdk(); + return findPythonSdk(element); } @NotNull