From 74a63c9b9d19ade6eb76662a230c6699baa72944 Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Wed, 16 May 2012 16:14:15 +0400 Subject: [PATCH] Added PathUtil.jarFileOrDirectoryToVirtualFile() method. --- .../src/org/jetbrains/jet/utils/PathUtil.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/compiler/util/src/org/jetbrains/jet/utils/PathUtil.java b/compiler/util/src/org/jetbrains/jet/utils/PathUtil.java index 6f7c0b05df8..cfb151927e2 100644 --- a/compiler/util/src/org/jetbrains/jet/utils/PathUtil.java +++ b/compiler/util/src/org/jetbrains/jet/utils/PathUtil.java @@ -20,6 +20,7 @@ package org.jetbrains.jet.utils; import com.intellij.openapi.application.PathManager; +import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.vfs.VirtualFileManager; import org.jetbrains.annotations.NotNull; @@ -124,4 +125,20 @@ public class PathUtil { } return VirtualFileManager.getInstance().findFileByUrl("jar://" + file.getPath() + "!/"); } + + @NotNull + public static VirtualFile jarFileOrDirectoryToVirtualFile(@NotNull File file) { + if (file.exists()) { + if (file.isDirectory()) { + return VirtualFileManager.getInstance() + .findFileByUrl("file://" + FileUtil.toSystemIndependentName(file.getAbsolutePath())); + } + else { + return VirtualFileManager.getInstance().findFileByUrl("jar://" + FileUtil.toSystemIndependentName(file.getAbsolutePath()) + "!/"); + } + } + else { + throw new IllegalStateException("Path " + file + " does not exist."); + } + } }