Check jar name before calling getVirtualFileForJar()

#KT-17331 Fixed
This commit is contained in:
Dmitry Jemerov
2017-04-10 13:33:33 +02:00
parent 406714a1f4
commit 62eb9e9909
@@ -57,12 +57,12 @@ object JsLibraryStdDetectionUtil {
for (root in classesRoots) {
if (root.fileSystem.protocol !== StandardFileSystems.JAR_PROTOCOL) continue
val jar = VfsUtilCore.getVirtualFileForJar(root) ?: continue
val name = jar.name
val name = root.url.substringBefore("!/").substringAfterLast('/')
if (name == PathUtil.JS_LIB_JAR_NAME || name == PathUtil.JS_LIB_10_JAR_NAME ||
PathUtil.KOTLIN_STDLIB_JS_JAR_PATTERN.matcher(name).matches() ||
PathUtil.KOTLIN_JS_LIBRARY_JAR_PATTERN.matcher(name).matches()) {
val jar = VfsUtilCore.getVirtualFileForJar(root) ?: continue
var isJSStdLib = jar.getUserData(IS_JS_LIBRARY_STD_LIB)
if (isJSStdLib == null) {
isJSStdLib = LibraryUtils.isKotlinJavascriptStdLibrary(File(jar.path))