DirectorySourcePath

dotty.tools.dotc.classpath.DirectorySourcePath
case class DirectorySourcePath(dir: File) extends JFileDirectoryLookup[SourceFileEntryImpl]

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait JFileDirectoryLookup[SourceFileEntryImpl]
trait DirectoryLookup[SourceFileEntryImpl]
trait ClassPath
class Object
trait Matchable
class Any
Show all

Members list

Type members

Inherited types

type F = File

Attributes

Inherited from:
JFileDirectoryLookup

Value members

Concrete methods

The whole sourcepath in the form of one String.

The whole sourcepath in the form of one String.

Attributes

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)

Attributes

Definition Classes

Inherited methods

The whole classpath in the form of one String.

The whole classpath in the form of one String.

Attributes

Inherited from:
ClassPath

Attributes

Inherited from:
JFileDirectoryLookup
def asURLs: Seq[URL]

Attributes

Inherited from:
JFileDirectoryLookup
final def classes(inPackage: String): Seq[ClassFileEntry]

Attributes

Inherited from:
ClassPath
protected def emptyFiles: Array[File]

Attributes

Inherited from:
JFileDirectoryLookup
protected def files(inPackage: PackageName): Seq[FileEntryType]

Attributes

Inherited from:
DirectoryLookup

Attributes

Inherited from:
NoClassPaths (hidden)
protected def getName(f: File): String

Attributes

Inherited from:
JFileDirectoryLookup
protected def getSubDir(packageDirName: String): Option[File]

Attributes

Inherited from:
JFileDirectoryLookup
final def hasPackage(pkg: String): Boolean

Attributes

Inherited from:
ClassPath
protected def isPackage(f: File): Boolean

Attributes

Inherited from:
JFileDirectoryLookup
override def list(inPackage: PackageName, onPackageEntry: PackageEntry => Unit, onClassesAndSources: ClassRepresentation => Unit): Unit

Attributes

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

Attributes

Definition Classes
Inherited from:
EfficientClassPath
final def list(inPackage: String): ClassPathEntries

Attributes

Inherited from:
ClassPath
protected def listChildren(dir: File, filter: Option[File => Boolean]): Array[File]

Attributes

Inherited from:
JFileDirectoryLookup
final def packages(inPackage: String): Seq[PackageEntry]

Attributes

Inherited from:
ClassPath

Attributes

Inherited from:
Product

Attributes

Inherited from:
Product
final def sources(inPackage: String): Seq[SourceFileEntry]

Attributes

Inherited from:
ClassPath
protected def toAbstractFile(f: File): AbstractFile

Attributes

Inherited from:
JFileDirectoryLookup

Deprecated and Inherited methods

Attributes

Deprecated
true
Inherited from:
ClassPath