package classpath
- Alphabetic
- Public
- All
Type Members
-
case class
AggregateClassPath
(aggregates: Seq[ClassPath]) extends ClassPath with Product with Serializable
A classpath unifying multiple class- and sourcepath entries.
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.
- aggregates
classpath instances containing entries which this class processes
- trait ClassFileEntry extends ClassRepresentation
- case class ClassPathEntries (packages: Seq[PackageEntry], classesAndSources: Seq[ClassRepresentation]) extends Product with Serializable
-
class
ClassPathFactory
extends AnyRef
Provides factory methods for classpath.
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.
- case class DirectoryClassPath (dir: File) extends JFileDirectoryLookup[ClassFileEntryImpl] with NoSourcePaths with Product with Serializable
-
trait
DirectoryLookup
[FileEntryType <: ClassRepresentation] extends ClassPath
A trait allowing to look for classpath entries in directories.
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 (dir: File) extends JFileDirectoryLookup[SourceFileEntryImpl] with NoClassPaths with Product with Serializable
- trait JFileDirectoryLookup [FileEntryType <: ClassRepresentation] extends DirectoryLookup[FileEntryType]
- trait PackageEntry extends AnyRef
- trait SourceFileEntry extends ClassRepresentation
- case class VirtualDirectoryClassPath (dir: VirtualDirectory) extends ClassPath with DirectoryLookup[ClassFileEntryImpl] with NoSourcePaths with Product with Serializable
-
sealed
trait
ZipAndJarFileLookupFactory
extends AnyRef
A trait providing an optional cache for classpath entries obtained from zip and jar files.
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.
-
trait
ZipArchiveFileLookup
[FileEntryType <: ClassRepresentation] extends ClassPath
A trait allowing to look for classpath entries of given type in zip and jar 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.
Value Members
- object AggregateClassPath extends Serializable
- object ClassPathEntries extends Serializable
- object ClassPathFactory
-
object
FileUtils
Common methods related to Java files and abstract files used in the context of classpath
-
object
PackageNameUtils
Common methods related to package names represented as String
-
object
ZipAndJarClassPathFactory
extends ZipAndJarFileLookupFactory
Manages creation of classpath for class files placed in zip and jar files.
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.
-
object
ZipAndJarSourcePathFactory
extends ZipAndJarFileLookupFactory
Manages creation of classpath for source files placed in zip and jar files.
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.
The Scala compiler API.
The following resources are useful for Scala plugin/compiler development: