trait ZipArchiveFileLookup[FileEntryType <: ClassRepresentation] extends EfficientClassPath with Closeable
A trait allowing to look for classpath entries of given type in zip and jar files. It provides common logic for classes handling class and source files. It's aware of things like e.g. META-INF directory which is correctly skipped.
- Alphabetic
- By Inheritance
- ZipArchiveFileLookup
- Closeable
- AutoCloseable
- EfficientClassPath
- ClassPath
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
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
-
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
- abstract def release: Option[String]
- abstract val zipFile: File
Concrete Value Members
-
def
asClassPathString: String
The whole classpath in the form of one String.
The whole classpath in the form of one String.
- Definition Classes
- ClassPath
-
def
asClassPathStrings: collection.Seq[String]
- Definition Classes
- ZipArchiveFileLookup → ClassPath
-
def
asURLs: collection.Seq[URL]
- Definition Classes
- ZipArchiveFileLookup → ClassPath
-
final
def
classes(inPackage: String): Seq[ClassFileEntry]
- Definition Classes
- ClassPath
-
def
close(): Unit
- Definition Classes
- ZipArchiveFileLookup → Closeable → AutoCloseable
-
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
-
final
def
hasPackage(pkg: String): Boolean
- Definition Classes
- ClassPath
-
final
def
list(inPackage: String): ClassPathEntries
- Definition Classes
- ClassPath
-
final
def
packages(inPackage: String): Seq[PackageEntry]
- Definition Classes
- ClassPath
-
final
def
sources(inPackage: String): Seq[SourceFileEntry]
- Definition Classes
- ClassPath
The Scala compiler and reflection APIs.