jsHeaderLibraryDetectonUtil: refactoring after conversion

This commit is contained in:
Michael Nedzelsky
2015-03-12 16:18:26 +03:00
parent a29172c1ca
commit 7a5e54c691
@@ -17,39 +17,24 @@
package org.jetbrains.kotlin.idea.framework package org.jetbrains.kotlin.idea.framework
import com.intellij.openapi.vfs.VfsUtilCore; import com.intellij.openapi.vfs.VfsUtilCore
import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.vfs.VirtualFile
import com.intellij.util.CommonProcessors; import org.jetbrains.kotlin.idea.JetFileType
import org.jetbrains.annotations.NotNull; import kotlin.platform.platformStatic
import org.jetbrains.kotlin.idea.JetFileType;
import java.util.List; public object JsHeaderLibraryDetectionUtil {
public class JsHeaderLibraryDetectionUtil { platformStatic
class object { public fun isJsHeaderLibraryDetected(classesRoots: List<VirtualFile>): Boolean =
public fun isJsHeaderLibraryDetected(classesRoots: List<VirtualFile>): Boolean { isJsLibraryWithAcceptedFile(classesRoots) { JetFileType.EXTENSION == it.getExtension() }
if (JavaRuntimeDetectionUtil.getJavaRuntimeVersion(classesRoots) != null) {
// Prevent clashing with java runtime
return false
}
for (VirtualFile file : classesRoots) {
CommonProcessors.FindFirstProcessor<VirtualFile> findKTProcessor = new CommonProcessors.FindFirstProcessor<VirtualFile>() {
@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
private fun isJsLibraryWithAcceptedFile(classesRoots: List<VirtualFile>, accept: (VirtualFile) -> Boolean): Boolean {
return if (JavaRuntimeDetectionUtil.getJavaRuntimeVersion(classesRoots) != null) {
// Prevent clashing with java runtime
false
}
else {
classesRoots.firstOrNull<VirtualFile> { !VfsUtilCore.processFilesRecursively(it, { !accept(it) }) } != null
} }
} }
} }