From 7a5e54c6912bcf72ab1c987aaed2ad24da7cbfac Mon Sep 17 00:00:00 2001 From: Michael Nedzelsky Date: Thu, 12 Mar 2015 16:18:26 +0300 Subject: [PATCH] jsHeaderLibraryDetectonUtil: refactoring after conversion --- .../framework/JsHeaderLibraryDetectionUtil.kt | 45 +++++++------------ 1 file changed, 15 insertions(+), 30 deletions(-) diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/framework/JsHeaderLibraryDetectionUtil.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/framework/JsHeaderLibraryDetectionUtil.kt index c614916b979..459f8d4bdb0 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/framework/JsHeaderLibraryDetectionUtil.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/framework/JsHeaderLibraryDetectionUtil.kt @@ -17,39 +17,24 @@ package org.jetbrains.kotlin.idea.framework -import com.intellij.openapi.vfs.VfsUtilCore; -import com.intellij.openapi.vfs.VirtualFile; -import com.intellij.util.CommonProcessors; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.kotlin.idea.JetFileType; +import com.intellij.openapi.vfs.VfsUtilCore +import com.intellij.openapi.vfs.VirtualFile +import org.jetbrains.kotlin.idea.JetFileType +import kotlin.platform.platformStatic -import java.util.List; +public object JsHeaderLibraryDetectionUtil { -public class JsHeaderLibraryDetectionUtil { - class object { - public fun isJsHeaderLibraryDetected(classesRoots: List): Boolean { - if (JavaRuntimeDetectionUtil.getJavaRuntimeVersion(classesRoots) != null) { - // Prevent clashing with java runtime - return false - } - - for (VirtualFile file : classesRoots) { - CommonProcessors.FindFirstProcessor findKTProcessor = new CommonProcessors.FindFirstProcessor() { - @Override - protected boolean accept(VirtualFile file) { - String extension = file.getExtension(); - return extension != null && extension.equals(JetFileType.EXTENSION); - } - - VfsUtilCore.processFilesRecursively(file, findKTProcessor) - - if (findKTProcessor.isFound()) { - return true - } - } - - return false + platformStatic + public fun isJsHeaderLibraryDetected(classesRoots: List): Boolean = + isJsLibraryWithAcceptedFile(classesRoots) { JetFileType.EXTENSION == it.getExtension() } + private fun isJsLibraryWithAcceptedFile(classesRoots: List, accept: (VirtualFile) -> Boolean): Boolean { + return if (JavaRuntimeDetectionUtil.getJavaRuntimeVersion(classesRoots) != null) { + // Prevent clashing with java runtime + false + } + else { + classesRoots.firstOrNull { !VfsUtilCore.processFilesRecursively(it, { !accept(it) }) } != null } } }