sealed trait ZipAndJarFileLookupFactory

A trait providing an optional cache for classpath entries obtained from zip and jar files. It's possible to create such a cache assuming that entries in such files won't change (at least will be the same each time we'll load classpath during the lifetime of JVM process) - unlike class and source files in directories, which can be modified and recompiled. It allows us to e.g. reduce significantly memory used by PresentationCompilers in Scala IDE when there are a lot of projects having a lot of common dependencies.



private val cache : Map [ AbstractFile, ClassPath ]
def create ( zipFile: AbstractFile ) ( implicit ctx: Context ) : ClassPath
protected def createForZipFile ( zipFile: AbstractFile ) : ClassPath
private def createUsingCache ( zipFile: AbstractFile ) ( implicit ctx: Context ) : ClassPath