JrtClassPath

final class JrtClassPath(fs: FileSystem) extends ClassPath with NoSourcePaths

Implementation ClassPath based on the JDK 9 encapsulated runtime modules (JEP-220)

https://bugs.openjdk.java.net/browse/JDK-8066492 is the most up to date reference for the structure of the jrt:// filesystem.

The implementation assumes that no classes exist in the empty package.

Companion
object
trait ClassPath
class Object
trait Matchable
class Any

Type members

Types

type F = Path

Value members

Concrete methods

def asURLs: Seq[URL]

Inherited methods

The whole classpath in the form of one String.

The whole classpath in the form of one String.

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

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)

Inherited from
ClassPath
final def hasPackage(pkg: String): Boolean
Inherited from
ClassPath
final def list(inPackage: String): ClassPathEntries
Inherited from
ClassPath
final def packages(inPackage: String): Seq[PackageEntry]
Inherited from
ClassPath
final def sources(inPackage: String): Seq[SourceFileEntry]
Inherited from
ClassPath

Deprecated and Inherited methods

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