From e3cbb528dfaa8cf5f88ef79c662c779a9d6a960e Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Thu, 10 Dec 2009 21:23:02 +0300 Subject: [PATCH] PY-249 --- python/pluginSrc/META-INF/plugin.xml | 2 +- .../python/psi/impl/PyBuiltinCache.java | 21 +++++++++---------- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/python/pluginSrc/META-INF/plugin.xml b/python/pluginSrc/META-INF/plugin.xml index e116e3266fef..1100e9434d7e 100644 --- a/python/pluginSrc/META-INF/plugin.xml +++ b/python/pluginSrc/META-INF/plugin.xml @@ -6,7 +6,7 @@ Python Smart editing for Python scripts - 2.2 + 2.2.1 com.intellij.modules.ultimate JetBrains, Keith Lea diff --git a/python/src/com/jetbrains/python/psi/impl/PyBuiltinCache.java b/python/src/com/jetbrains/python/psi/impl/PyBuiltinCache.java index 4999700e41a0..2d22146958b8 100644 --- a/python/src/com/jetbrains/python/psi/impl/PyBuiltinCache.java +++ b/python/src/com/jetbrains/python/psi/impl/PyBuiltinCache.java @@ -8,6 +8,7 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.projectRoots.Sdk; import com.intellij.openapi.roots.OrderRootType; import com.intellij.openapi.roots.ProjectRootManager; +import com.intellij.openapi.vfs.LocalFileSystem; import com.intellij.openapi.vfs.VfsUtil; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiElement; @@ -64,23 +65,21 @@ public class PyBuiltinCache { } if (sdk != null) { // dig out the builtins file, create an instance based on it - for (String url : sdk.getRootProvider().getUrls(PythonSdkType.BUITLIN_ROOT_TYPE)) { + final String[] urls = sdk.getRootProvider().getUrls(PythonSdkType.BUITLIN_ROOT_TYPE); + for (String url : urls) { if (url.contains(PythonSdkType.SKELETON_DIR_NAME)) { final String builtins_url = url + "/" + ((PythonSdkType)sdk.getSdkType()).getBuiltinsFileName(); File builtins = new File(VfsUtil.urlToPath(builtins_url)); if (builtins.isFile() && builtins.canRead()) { - try { - VirtualFile builtins_vfile = VfsUtil.findFileByURL(new URL(builtins_url)); - if (builtins_vfile != null) { - PsiFile builtins_psifile = PsiManager.getInstance(project).findFile(builtins_vfile); - if (builtins_psifile instanceof PyFile) { - instance = new PyBuiltinCache((PyFile)builtins_psifile); - ourInstanceCache.put(instance_key, instance); - return instance; - } + VirtualFile builtins_vfile = LocalFileSystem.getInstance().refreshAndFindFileByIoFile(builtins); + if (builtins_vfile != null) { + PsiFile builtins_psifile = PsiManager.getInstance(project).findFile(builtins_vfile); + if (builtins_psifile instanceof PyFile) { + instance = new PyBuiltinCache((PyFile)builtins_psifile); + ourInstanceCache.put(instance_key, instance); + return instance; } } - catch (MalformedURLException ignored) {} } } }