diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/framework/KotlinJavaScriptLibraryDetectionUtil.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/framework/KotlinJavaScriptLibraryDetectionUtil.kt index d845d0ac661..20863e796c1 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/framework/KotlinJavaScriptLibraryDetectionUtil.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/framework/KotlinJavaScriptLibraryDetectionUtil.kt @@ -32,13 +32,15 @@ public object KotlinJavaScriptLibraryDetectionUtil { isKotlinJavaScriptLibrary(library.getFiles(OrderRootType.CLASSES).toList()) platformStatic - public fun isKotlinJavaScriptLibrary(classesRoots: List): Boolean = - isJsLibraryWithAcceptedFile(classesRoots) { isJsFileWithMetadata(it) } + public fun isKotlinJavaScriptLibrary(classesRoots: List): Boolean { + // Prevent clashing with java runtime + if (JavaRuntimeDetectionUtil.getJavaRuntimeVersion(classesRoots) != null) return false - private fun isJsLibraryWithAcceptedFile(classesRoots: List, accept: (VirtualFile) -> Boolean): Boolean = - JavaRuntimeDetectionUtil.getJavaRuntimeVersion(classesRoots) == null // Prevent clashing with java runtime - && classesRoots.any { !VfsUtilCore.processFilesRecursively(it, { !accept(it) }) } + return classesRoots.any { !VfsUtilCore.processFilesRecursively(it, { isJsFileWithMetadata(it) }) } + } private fun isJsFileWithMetadata(file: VirtualFile): Boolean = - !file.isDirectory() && JavaScript.EXTENSION == file.getExtension() && KotlinJavascriptMetadataUtils.hasMetadata(String(file.contentsToByteArray(false))) + !file.isDirectory() && + JavaScript.EXTENSION == file.getExtension() && + KotlinJavascriptMetadataUtils.hasMetadata(String(file.contentsToByteArray(false))) }