Added PathUtil.jarFileOrDirectoryToVirtualFile() method.

This commit is contained in:
Evgeny Gerashchenko
2012-05-16 16:14:15 +04:00
parent 30ede72c32
commit 74a63c9b9d
@@ -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.");
}
}
}