Package

ammonite

runtime

Permalink

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.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. runtime
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. class APIHolder[T >: Null <: AnyRef] extends AnyRef

    Permalink
  2. trait Evaluator extends AnyRef

    Permalink

    Evaluates already-compiled Bytecode.

    Evaluates already-compiled Bytecode.

    Deals with all the munging of Classloaders, Class[_] objects, and Array[Byte]s representing class files, and reflection necessary to take the already-compile Scala bytecode and execute it in our process.

  3. class ForkClassLoader extends ClassLoader

    Permalink

    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

  4. class Frame extends AnyRef

    Permalink

    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 and classpath as readable but only writable in particular ways: imports can only be updated via mergeImports, while classpath can only be added to.

  5. class History extends IndexedSeq[String] with IndexedSeqLike[String, History]

    Permalink
  6. trait ImportHook extends AnyRef

    Permalink

    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.

  7. case class SessionChanged(removedImports: Set[Symbol], addedImports: Set[Symbol], removedJars: Set[URL], addedJars: Set[URL]) extends Product with Serializable

    Permalink
  8. class SpecialClassLoader extends URLClassLoader

    Permalink

    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

  9. trait Storage extends AnyRef

    Permalink

    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

  1. object APIHolder

    Permalink
  2. object Classpath

    Permalink

    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

  3. object Evaluator

    Permalink
  4. object Frame

    Permalink
  5. object History

    Permalink
  6. object ImportHook

    Permalink
  7. object SessionChanged extends Serializable

    Permalink
  8. object SpecialClassLoader

    Permalink
  9. object Storage

    Permalink
  10. package tools

    Permalink

Inherited from AnyRef

Inherited from Any

Ungrouped