JsHeaderLibraryDetectionUtil -> KotlinJavaScriptLibraryDetectionUtil

JsHeaderLibraryPresentationProvider -> KotlinJavaScriptLibraryPresentationProvider
This commit is contained in:
Michael Nedzelsky
2015-04-17 22:48:13 +03:00
parent ebcc29b907
commit 484a73c17e
4 changed files with 14 additions and 15 deletions
@@ -52,7 +52,7 @@ public class JsLibraryStdDetectionUtil {
VirtualFile jar = fixedJarName ? LibraryUtils.getJarFile(classesRoots, PathUtil.JS_LIB_JAR_NAME) : getJsStdLibJar(classesRoots);
if (jar == null) return null;
assert JsHeaderLibraryDetectionUtil.isJsHeaderLibraryDetected(classesRoots) : "StdLib should also be detected as headers library";
assert KotlinJavaScriptLibraryDetectionUtil.isKotlinJavaScriptLibrary(classesRoots) : "StdLib should also be detected as Kotlin/Javascript library";
return JarUtil.getJarAttribute(VfsUtilCore.virtualToIoFile(jar), Attributes.Name.IMPLEMENTATION_VERSION);
}
@@ -17,24 +17,23 @@
package org.jetbrains.kotlin.idea.framework
import com.intellij.openapi.roots.OrderRootType
import com.intellij.openapi.roots.libraries.Library
import com.intellij.openapi.vfs.VfsUtilCore
import com.intellij.openapi.vfs.VirtualFile
import org.jetbrains.kotlin.idea.JetFileType
import org.jetbrains.kotlin.js.JavaScript
import org.jetbrains.kotlin.utils.KotlinJavascriptMetadataUtils
import kotlin.platform.platformStatic
public object JsHeaderLibraryDetectionUtil {
public object KotlinJavaScriptLibraryDetectionUtil {
platformStatic
public fun isJsHeaderLibraryDetected(classesRoots: List<VirtualFile>): Boolean =
isJsLibraryWithAcceptedFile(classesRoots) {
JetFileType.EXTENSION == it.getExtension() || isJsFileWithMetadata(it)
}
public fun isKotlinJavaScriptLibrary(library: Library): Boolean =
isKotlinJavaScriptLibrary(library.getFiles(OrderRootType.CLASSES).toList())
platformStatic
public fun isJsHeaderLibraryWithSources(classesRoots: List<VirtualFile>): Boolean =
isJsLibraryWithAcceptedFile(classesRoots) { JetFileType.EXTENSION == it.getExtension() }
public fun isKotlinJavaScriptLibrary(classesRoots: List<VirtualFile>): Boolean =
isJsLibraryWithAcceptedFile(classesRoots) { isJsFileWithMetadata(it) }
private fun isJsLibraryWithAcceptedFile(classesRoots: List<VirtualFile>, accept: (VirtualFile) -> Boolean): Boolean =
JavaRuntimeDetectionUtil.getJavaRuntimeVersion(classesRoots) == null // Prevent clashing with java runtime