diff --git a/idea/idea-analysis/src/org/jetbrains/jet/plugin/framework/JsLibraryStdDetectionUtil.java b/idea/idea-analysis/src/org/jetbrains/jet/plugin/framework/JsLibraryStdDetectionUtil.java index cbe9a272d3a..702f1720b1c 100644 --- a/idea/idea-analysis/src/org/jetbrains/jet/plugin/framework/JsLibraryStdDetectionUtil.java +++ b/idea/idea-analysis/src/org/jetbrains/jet/plugin/framework/JsLibraryStdDetectionUtil.java @@ -17,11 +17,14 @@ package org.jetbrains.jet.plugin.framework; import com.intellij.openapi.util.io.JarUtil; +import com.intellij.openapi.vfs.StandardFileSystems; import com.intellij.openapi.vfs.VfsUtilCore; import com.intellij.openapi.vfs.VirtualFile; import org.jetbrains.annotations.NotNull; +import org.jetbrains.jet.utils.LibraryUtils; import org.jetbrains.jet.utils.PathUtil; +import java.io.File; import java.util.List; import java.util.jar.Attributes; @@ -33,7 +36,12 @@ public class JsLibraryStdDetectionUtil { } for (VirtualFile root : classesRoots) { - if (root.getName().equals(PathUtil.JS_LIB_JAR_NAME)) { + if (root.getFileSystem().getProtocol() != StandardFileSystems.JAR_PROTOCOL) continue; + + VirtualFile jar = VfsUtilCore.getVirtualFileForJar(root); + assert jar != null; + + if (LibraryUtils.isJsRuntimeLibrary(new File(jar.getPath()))) { assert JsHeaderLibraryDetectionUtil.isJsHeaderLibraryDetected(classesRoots) : "StdLib should also be detected as headers library"; return JarUtil.getJarAttribute(VfsUtilCore.virtualToIoFile(root), Attributes.Name.IMPLEMENTATION_VERSION);