summaryrefslogtreecommitdiff
path: root/bincompat-forward.whitelist.conf
diff options
context:
space:
mode:
authormpociecha <michal.pociecha@gmail.com>2014-11-30 13:14:10 +0100
committermpociecha <michal.pociecha@gmail.com>2014-11-30 22:31:32 +0100
commit9fe0c8cc824f938fe4303caa668a5d3f267d1223 (patch)
treeecd3334fa284b9a3e544223e09a6880ecdc8a45e /bincompat-forward.whitelist.conf
parent3b585e901040e6a820e8533c5a818b7096b9625e (diff)
downloadscala-9fe0c8cc824f938fe4303caa668a5d3f267d1223.tar.gz
scala-9fe0c8cc824f938fe4303caa668a5d3f267d1223.tar.bz2
scala-9fe0c8cc824f938fe4303caa668a5d3f267d1223.zip
Add flat classpath implementation for zip and jar files
This commit adds an implementation of flat classpath which can handle both jar and vanilla zip files. In fact there are two versions - for a class- and a sourcepath. Both extend ZipArchiveFileLookup which provides common logic. They use FileZipArchive. @gkossakowski made a comparison of different ways of handling zips and jars (e.g. using javac's ZipFileIndex). He stated that general efficiency of FileZipArchive, taking into account various parameters, is the best. FileZipArchive is slightly changed. From now it allows to find the entry for directory in all directory entries without iterating all entries regardless of a type. Thanks to that we can simply find a directory for a package - like in the case of DirectoryFileLookup. There's also added possibility to cache classpath representation of classpath elements from jar and zip files across compiler instances. The cache is just a map AbstractFile -> FlatClassPath. It should reduce the number of created classpath and file instances e.g. in the case of many ScalaPresentationCompilers in Scala IDE. To prevent the possibility to avoid a cache, caches are created as a part of factories responsible for the creation of these types of the flat classpath.
Diffstat (limited to 'bincompat-forward.whitelist.conf')
-rw-r--r--bincompat-forward.whitelist.conf9
1 files changed, 9 insertions, 0 deletions
diff --git a/bincompat-forward.whitelist.conf b/bincompat-forward.whitelist.conf
index 53401eefad..228b746fa1 100644
--- a/bincompat-forward.whitelist.conf
+++ b/bincompat-forward.whitelist.conf
@@ -292,6 +292,15 @@ filter {
{
matchName="scala.collection.immutable.Stream.scala$collection$immutable$Stream$$loop$2"
problemName=MissingMethodProblem
+ },
+ // changes needed by ZipArchiveFileLookup (the flat classpath representation)
+ {
+ matchName="scala.reflect.io.FileZipArchive.allDirs"
+ problemName=MissingMethodProblem
+ },
+ {
+ matchName="scala.reflect.io.FileZipArchive.root"
+ problemName=MissingMethodProblem
}
]
}