DirectoryClassPath

case class DirectoryClassPath(dir: File) extends JFileDirectoryLookup[ClassFileEntryImpl]
trait Product
trait Equals
trait JFileDirectoryLookup[ClassFileEntryImpl]
trait DirectoryLookup[ClassFileEntryImpl]
trait ClassPath
class Object
trait Matchable
class Any

Type members

Inherited types

type F = File
Inherited from:
JFileDirectoryLookup

Value members

Concrete methods

override def findClass(className: String): Option[ClassRepresentation]

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.

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

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

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.

Inherited methods

The whole classpath in the form of one String.

The whole classpath in the form of one String.

Inherited from:
ClassPath
Inherited from:
NoSourcePaths (hidden)
def asURLs: Seq[URL]
Inherited from:
JFileDirectoryLookup
final def classes(inPackage: String): Seq[ClassFileEntry]
Inherited from:
ClassPath
protected def emptyFiles: Array[File]
Inherited from:
JFileDirectoryLookup
protected def files(inPackage: PackageName): Seq[ClassFileEntryImpl]
Inherited from:
DirectoryLookup
protected def getName(f: File): String
Inherited from:
JFileDirectoryLookup
protected def getSubDir(packageDirName: String): Option[File]
Inherited from:
JFileDirectoryLookup
final def hasPackage(pkg: String): Boolean
Inherited from:
ClassPath
protected def isPackage(f: File): Boolean
Inherited from:
JFileDirectoryLookup
override def list(inPackage: PackageName, onPackageEntry: PackageEntry => Unit, onClassesAndSources: ClassRepresentation => Unit): Unit
Definition Classes
Inherited from:
DirectoryLookup
override def list(inPackage: PackageName): ClassPathEntries

Returns packages and classes (source or classfile) that are members of inPackage (not recursively). The inPackage contains a full package name, e.g., "scala.collection".

Returns packages and classes (source or classfile) that are members of inPackage (not recursively). The inPackage contains a full package name, e.g., "scala.collection".

This is the main method uses to find classes, see class PackageLoader. The rootMirror.rootLoader is created with inPackage = "".

Definition Classes
Inherited from:
EfficientClassPath
final def list(inPackage: String): ClassPathEntries
Inherited from:
ClassPath
protected def listChildren(dir: File, filter: Option[File => Boolean]): Array[File]
Inherited from:
JFileDirectoryLookup
final def packages(inPackage: String): Seq[PackageEntry]
Inherited from:
ClassPath
Inherited from:
Product
final def sources(inPackage: String): Seq[SourceFileEntry]
Inherited from:
ClassPath
protected def toAbstractFile(f: File): AbstractFile
Inherited from:
JFileDirectoryLookup

Deprecated and Inherited methods

@deprecated("use asClassPathString instead of this one", "2.11.5")
Deprecated
Inherited from:
ClassPath