Dotty Documentation

0.6.0-bin-SNAPSHOT

package dotty.tools.dotc.classpath

[-] Constructors

[-] Members

[+] case class AggregateClassPath

A classpath unifying multiple class- and sourcepath entries. The Classpath can obtain entries for classes and sources independently so it tries to do operations quite optimally - iterating only these collections which are needed in the given moment and only as far as it's necessary.

[+] object AggregateClassPath
[+] case class ClassAndSourceFilesEntry
[+] trait ClassFileEntry
[+] case class ClassFileEntryImpl
[+] object ClassFileEntryImpl
[+] case class ClassPathEntries
[+] object ClassPathEntries
[+] class ClassPathFactory

Provides factory methods for classpath. When creating classpath instances for a given path, it uses proper type of classpath depending on a types of particular files containing sources or classes.

[+] object ClassPathFactory
[+] case class DirectoryClassPath
[+] object DirectoryClassPath
[+] trait DirectoryLookup

A trait allowing to look for classpath entries in directories. It provides common logic for classes handling class and source files. It makes use of the fact that in the case of nested directories it's easy to find a file when we have a name of a package. It abstracts over the file representation to work with both JFile and AbstractFile.

[+] case class DirectorySourcePath
[+] object DirectorySourcePath
[+] final class FileBasedCache
[+] object FileUtils

Common methods related to Java files and abstract files used in the context of classpath

[+] final class JrtClassPath

Implementation ClassPath based on the JDK 9 encapsulated runtime modules (JEP-220)

https://bugs.openjdk.java.net/browse/JDK-8066492 is the most up to date reference for the structure of the jrt:// filesystem.

The implementation assumes that no classes exist in the empty package.

[+] object JrtClassPath
[+] trait NoClassPaths
[+] trait NoSourcePaths
[+] trait PackageEntry
[+] case class PackageEntryImpl
[+] object PackageEntryImpl
[+] object PackageNameUtils

Common methods related to package names represented as String

[+] trait SourceFileEntry
[+] case class SourceFileEntryImpl
[+] object SourceFileEntryImpl
[+] case class VirtualDirectoryClassPath

Manages creation of classpath for class files placed in zip and jar files. It should be the only way of creating them as it provides caching.

[+] sealed trait ZipAndJarFileLookupFactory

A trait providing an optional cache for classpath entries obtained from zip and jar files. 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.

Manages creation of classpath for source files placed in zip and jar files. It should be the only way of creating them as it provides caching.

A trait allowing to look for classpath entries of given type in zip and jar files. It provides common logic for classes handling class and source files. It's aware of things like e.g. META-INF directory which is correctly skipped.