diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2014-11-18 18:40:02 +1000 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2014-11-18 18:40:02 +1000 |
commit | b2ba80ac84f7125fd9e5c40adf0a2874c3fa9e3c (patch) | |
tree | 565f81c68bb47e700618f6007c76c465cc0145af /src/reflect | |
parent | 965d7b9ef8b813d8209a8a8bc2ba2dc14a0a4f43 (diff) | |
parent | 24a2ef9728c403b81ffb36f2da241cff35defd78 (diff) | |
download | scala-b2ba80ac84f7125fd9e5c40adf0a2874c3fa9e3c.tar.gz scala-b2ba80ac84f7125fd9e5c40adf0a2874c3fa9e3c.tar.bz2 scala-b2ba80ac84f7125fd9e5c40adf0a2874c3fa9e3c.zip |
Merge pull request #4051 from heathermiller/repl-cp-fix2
SI-6502 Reenables loading jars into the running REPL (regression in 2.10)
Diffstat (limited to 'src/reflect')
-rw-r--r-- | src/reflect/scala/reflect/io/AbstractFile.scala | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/reflect/scala/reflect/io/AbstractFile.scala b/src/reflect/scala/reflect/io/AbstractFile.scala index ac1159b2ac..bcefcc471f 100644 --- a/src/reflect/scala/reflect/io/AbstractFile.scala +++ b/src/reflect/scala/reflect/io/AbstractFile.scala @@ -48,14 +48,16 @@ object AbstractFile { else null /** - * If the specified URL exists and is a readable zip or jar archive, - * returns an abstract directory backed by it. Otherwise, returns - * `null`. + * If the specified URL exists and is a regular file or a directory, returns an + * abstract regular file or an abstract directory, respectively, backed by it. + * Otherwise, returns `null`. */ - def getURL(url: URL): AbstractFile = { - if (url == null || !Path.isExtensionJarOrZip(url.getPath)) null - else ZipArchive fromURL url - } + def getURL(url: URL): AbstractFile = + if (url.getProtocol == "file") { + val f = new java.io.File(url.getPath) + if (f.isDirectory) getDirectory(f) + else getFile(f) + } else null def getResources(url: URL): AbstractFile = ZipArchive fromManifestURL url } |