final class JrtClassPath 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.

Source
DirectoryClassPath.scala
Linear Supertypes
NoSourcePaths, ClassPath, AnyRef, Any
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. JrtClassPath
  2. NoSourcePaths
  3. ClassPath
  4. AnyRef
  5. 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

Instance Constructors

  1. new JrtClassPath(fs: FileSystem)

Type Members

  1. type F = Path

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 asClassPathStrings: Seq[String]
    Definition Classes
    JrtClassPathClassPath
  3. final def asSourcePathString: String
    Definition Classes
    NoSourcePaths
  4. def asURLs: Seq[URL]
    Definition Classes
    JrtClassPathClassPath
  5. 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
  6. 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
    JrtClassPathClassPath

Deprecated Value Members

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

    (Since version 2.11.5) use asClassPathString instead of this one