package runtime
What actually lets us compile and execute code in the Ammonite REPL; deals with the Scala compiler, preprocessing the strings, JVM classloaders, etc.
- Alphabetic
- By Inheritance
- runtime
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- class APIHolder[T >: Null <: AnyRef] extends AnyRef
-
trait
Evaluator extends AnyRef
Evaluates already-compiled Bytecode.
Evaluates already-compiled Bytecode.
Deals with all the munging of
Classloader
s,Class[_]
objects, andArray[Byte]
s representing class files, and reflection necessary to take the already-compile Scala bytecode and execute it in our process. -
class
ForkClassLoader extends ClassLoader
Try to load resources from two parents; necessary to get Ammonite's source code browsing to work in SBT projects because SBT messes up the context classloader https://stackoverflow.com/q/44237791/871202
-
class
Frame extends AnyRef
Represents a single "frame" of the
sess.save
/sess.load
stack/tree.Represents a single "frame" of the
sess.save
/sess.load
stack/tree.Exposes
imports
andclasspath
as readable but only writable in particular ways:imports
can only be updated viamergeImports
, whileclasspath
can only be added to. - class History extends IndexedSeq[String] with IndexedSeqLike[String, History]
-
trait
ImportHook extends AnyRef
An extensible hook into the Ammonite REPL's import system; allows the end user to hook into
import $foo.bar.{baz, qux => qua}
syntax, and in response load jars or process source files before the "current" compilation unit is run.An extensible hook into the Ammonite REPL's import system; allows the end user to hook into
import $foo.bar.{baz, qux => qua}
syntax, and in response load jars or process source files before the "current" compilation unit is run. Can be used to load script files, ivy dependencies, jars, or files from the web. - case class SessionChanged(removedImports: Set[Symbol], addedImports: Set[Symbol], removedJars: Set[URL], addedJars: Set[URL]) extends Product with Serializable
-
class
SpecialClassLoader extends URLClassLoader
Classloader used to implement the jar-downloading command-evaluating logic in Ammonite.
Classloader used to implement the jar-downloading command-evaluating logic in Ammonite.
http://stackoverflow.com/questions/3544614/how-is-the-control-flow-to-findclass-of
-
trait
Storage extends AnyRef
Trait for the interface of common persistent storage.
Trait for the interface of common persistent storage. This handles history and persistent caches. Right now it is not threadsafe nor does it handle the mutual exclusion of files between processes. Mutexes should be added to be able to run multiple Ammonite processes on the same system.
Value Members
- object APIHolder
-
object
Classpath
Loads the jars that make up the classpath of the scala-js-fiddle compiler and re-shapes it into the correct structure to satisfy scala-compile and scalajs-tools
- object Evaluator
- object Frame
- object History
- object ImportHook
- object SessionChanged extends Serializable
- object SpecialClassLoader
- object Storage