t

scala.tools.nsc.classpath

DirectoryLookup

trait DirectoryLookup[FileEntryType <: ClassRepresentation] extends ClassPath

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.

Source
DirectoryClassPath.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DirectoryLookup
  2. ClassPath
  3. AnyRef
  4. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. abstract type F

Abstract Value Members

  1. abstract def asClassPathStrings: Seq[String]
    Definition Classes
    ClassPath
  2. abstract def asSourcePathString: String

    The whole sourcepath in the form of one String.

    The whole sourcepath in the form of one String.

    Definition Classes
    ClassPath
  3. abstract def asURLs: Seq[URL]
    Definition Classes
    ClassPath
  4. abstract val dir: F
  5. abstract def findClassFile(className: String): Option[AbstractFile]

    Returns the classfile for an external name, e.g., "java.lang.String".

    Returns the classfile for an external name, e.g., "java.lang.String". This method does not return source files.

    This method is used by the classfile parser. When parsing a Java class, its own inner classes are entered with a ClassfileLoader that parses the classfile returned by this method. It is also used in the backend, by the inliner, to obtain the bytecode when inlining from the classpath. It's also used by scalap.

    Definition Classes
    ClassPath

Concrete Value Members

  1. def asClassPathString: String

    The whole classpath in the form of one String.

    The whole classpath in the form of one String.

    Definition Classes
    ClassPath
  2. def findClass(className: String): Option[ClassRepresentation]

    Returns the class file and / or source file for a given external name, e.g., "java.lang.String".

    Returns the class file and / or source file for a given external name, e.g., "java.lang.String". If there is both a class file and source file, the compiler can decide whether to read the class file or compile the source file.

    Internally this seems to be used only by ScriptRunner, but only to call .isDefined. That could probably be implemented differently.

    Externally, it is used by sbt's compiler interface: https://github.com/sbt/sbt/blob/v0.13.15/compile/interface/src/main/scala/xsbt/CompilerInterface.scala#L249 Jason has some improvements for that in the works (https://github.com/scala/bug/issues/10289#issuecomment-310022699)

    Definition Classes
    ClassPath

Deprecated Value Members

  1. def asClasspathString: String
    Definition Classes
    ClassPath
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.5) use asClassPathString instead of this one