summaryrefslogtreecommitdiff
path: root/src/eclipse
diff options
context:
space:
mode:
authormpociecha <michal.pociecha@gmail.com>2014-11-30 15:28:50 +0100
committermpociecha <michal.pociecha@gmail.com>2014-11-30 22:31:32 +0100
commit672c1195c7fee7ca2a8d29402c68a33c167b6966 (patch)
tree701b8b4698f10932de7aa9d9c41db883c37e5568 /src/eclipse
parent9fe0c8cc824f938fe4303caa668a5d3f267d1223 (diff)
downloadscala-672c1195c7fee7ca2a8d29402c68a33c167b6966.tar.gz
scala-672c1195c7fee7ca2a8d29402c68a33c167b6966.tar.bz2
scala-672c1195c7fee7ca2a8d29402c68a33c167b6966.zip
Add flat classpath implementation using ManifestResources
There's added the flat classpath type using ManifestResources, closely related to the support for JSR-223 (Scripting for the Java Platform). It uses classes listed in the manifest file placed in the JAR. It's related to jar files so it's created using ZipAndJarFlatClassPathFactory and is cached. In general currently it's not possible to use it in Scala out of the box (without using additional tools such as jarlister) as this support is postponed. The old classpath has been properly prepared in the PR created by @rjolly https://github.com/scala/scala/pull/2238 so the new one also got this feature. ManifestResources is a ZipArchive without a real underlying file placed on a disk and in addition implementing some methods declared in AbstractFile as unsupported operations. Therefore the implementation has to use the iterator. I wanted to have the similar behaviour as in the case of directories and zip/jar files - be able to get a directory entry for a package without iterating all entries. This is achieved by iterating all entries only once and caching packages. This flat classpath type was the last needed one.
Diffstat (limited to 'src/eclipse')
0 files changed, 0 insertions, 0 deletions