Package

org.argus.jawa.core

classpath

Permalink

package classpath

Visibility
  1. Public
  2. All

Type Members

  1. case class AggregateFlatClasspath(aggregates: Seq[FlatClasspath]) extends FlatClasspath with Product with Serializable

    Permalink

    A classpath unifying multiple class- and sourcepath entries.

    A classpath unifying multiple class- and sourcepath entries. Flat 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

  2. trait ClassFileEntry extends ClassRepClasspathEntry

    Permalink
  3. trait ClassFileLookup extends AnyRef

    Permalink

    Simple interface that allows us to abstract over how class file lookup is performed in different classpath representations.

  4. sealed trait ClassRepClasspathEntry extends ClassRepresentation

    Permalink
  5. trait ClassRepresentation extends AnyRef

    Permalink

    Represents classes which can be loaded with a ClassfileLoader and/or SourcefileLoader.

  6. abstract class Classpath extends ClassFileLookup

    Permalink

    Represents a package which contains classes and other packages

  7. trait ClasspathFactory[T] extends AnyRef

    Permalink

    A trait that contains factory methods for classpath elements of type T.

    A trait that contains factory methods for classpath elements of type T.

    The logic has been abstracted from Classpath#ClasspathContext so it's possible to have common trait that supports both recursive and flat classpath representations.

    Therefore, we expect that T will be either Classpath[U] or FlatClasspath.

  8. class DeltaClasspath extends MergedClasspath

    Permalink
  9. class DirectoryClasspath extends Classpath

    Permalink

    A directory (or a .jar file) containing classfiles and packages

  10. trait DirectoryFileLookup[FileEntryType <: ClassRepClasspathEntry] extends FlatClasspath

    Permalink

    A trait allowing to look for classpath entries of given type in directories.

    A trait allowing to look for classpath entries of given type 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.

  11. case class DirectoryFlatClasspath(dir: File) extends DirectoryFileLookup[ClassFileEntryImpl] with NoSourcePaths with Product with Serializable

    Permalink
  12. case class DirectoryFlatSourcePath(dir: File) extends DirectoryFileLookup[SourceFileEntryImpl] with NoClasspaths with Product with Serializable

    Permalink
  13. trait FlatClasspath extends ClassFileLookup

    Permalink

    A base trait for the particular flat classpath representation implementations.

    A base trait for the particular flat classpath representation implementations.

    We call this variant of a classpath representation flat because it's possible to query the whole classpath using just single instance extending this trait.

  14. case class FlatClasspathEntries(packages: Seq[PackageEntry], classesAndSources: Seq[ClassRepClasspathEntry]) extends Product with Serializable

    Permalink
  15. class FlatClasspathFactory extends ClasspathFactory[FlatClasspath]

    Permalink

    Provides factory methods for flat classpath.

    Provides factory methods for flat 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.

  16. class FlatClasspathResolver extends PathResolverBase[FlatClasspath, AggregateFlatClasspath]

    Permalink
  17. class JavaClasspath extends MergedClasspath

    Permalink

    The classpath when compiling with target:jvm.

    The classpath when compiling with target:jvm. Binary files (classfiles) are represented as AbstractFile. ZipArchive is used to view zip/jar archives as directories.

  18. class MergedClasspath extends Classpath

    Permalink

    A classpath unifying multiple class- and sourcepath entries.

  19. trait PackageEntry extends AnyRef

    Permalink
  20. class PathResolver extends PathResolverBase[Classpath, JavaClasspath]

    Permalink
  21. abstract class PathResolverBase[BaseClassPathType <: ClassFileLookup, ResultClassPathType <: BaseClassPathType] extends PathResolverResult

    Permalink
  22. trait PathResolverResult extends AnyRef

    Permalink
  23. trait SourceFileEntry extends ClassRepClasspathEntry

    Permalink
  24. class SourcePath[T] extends Classpath

    Permalink

    A Classpath containing source files

  25. sealed trait ZipAndJarFileLookupFactory extends AnyRef

    Permalink

    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 Argus IDE when there are a lot of projects having a lot of common dependencies.

  26. trait ZipArchiveFileLookup[FileEntryType <: ClassRepClasspathEntry] extends FlatClasspath

    Permalink

    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

  1. object ClassRepresentation

    Permalink
  2. object Classpath

    Permalink

    This module provides star expansion of '-classpath' option arguments, behaves the same as java, see [http://java.sun.com/javase/6/docs/technotes/tools/windows/classpath.html]

  3. object DirectoryFileLookup

    Permalink
  4. object DirectoryFlatClasspath extends Serializable

    Permalink
  5. object DirectoryFlatSourcePath extends Serializable

    Permalink
  6. object FileUtils

    Permalink

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

  7. object FlatClasspath

    Permalink
  8. object FlatClasspathEntries extends Serializable

    Permalink
  9. object PackageNameUtils

    Permalink

    Common methods related to package names represented as String

  10. object PathResolver

    Permalink
  11. object PathResolverFactory

    Permalink
  12. object ZipAndJarFlatClasspathFactory extends ZipAndJarFileLookupFactory

    Permalink

    Manages creation of flat classpath for class files placed in zip and jar files.

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

  13. object ZipAndJarFlatSourcepathFactory extends ZipAndJarFileLookupFactory

    Permalink

    Manages creation of flat classpath for source files placed in zip and jar files.

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

Ungrouped