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 op...

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.

final object AggregateClassPath
case class ClassAndSourceFilesEntry
final object ClassAndSourceFilesEntry
trait ClassFileEntry
case class ClassFileEntryImpl
final object ClassFileEntryImpl
case class ClassPathEntries
final 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 pa...

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.

final object ClassPathFactory
case class DirectoryClassPath
final 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...

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
final object DirectorySourcePath
final object FileUtils

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

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 d... jrt://

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.

final object JrtClassPath
trait NoClassPaths
trait NoSourcePaths
trait PackageEntry
case class PackageEntryImpl
final object PackageEntryImpl
final object PackageNameUtils

Common methods related to package names represented as String

Common methods related to package names represented as String

trait SourceFileEntry
case class SourceFileEntryImpl
final object SourceFileEntryImpl
case class VirtualDirectoryClassPath
final object VirtualDirectoryClassPath
final object ZipAndJarClassPathFactory

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.

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's possible to create such a cache assuming that entries i...

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.

final object ZipAndJarSourcePathFactory

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.

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...

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.