ammonite.runtime

What actually lets us compile and execute code in the Ammonite REPL; deals with the Scala compiler, preprocessing the strings, JVM classloaders, etc.

Attributes

Members list

Type members

Classlikes

trait Evaluator

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.

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
object Evaluator

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
Evaluator.type
class ForkClassLoader(realParent: ClassLoader, fakeParent: ClassLoader) 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

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

Attributes

Supertypes
class ClassLoader
class Object
trait Matchable
class Any
class Frame(val classloader: SpecialClassLoader, val pluginClassloader: SpecialClassLoader, var imports0: Imports, var classpath0: Seq[URL], var usedEarlierDefinitions0: Seq[String], var hooks0: Seq[Hook]) extends Frame

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.

Attributes

Companion
object
Supertypes
trait Frame
class Object
trait Matchable
class Any
object Frame

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
Frame.type
trait ImportHook

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.

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.

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Classpath
class BaseIvy
object Ivy
object PluginIvy
object Repo
class SourceHook
object Exec
object File
object URL
Show all
object ImportHook

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
ImportHook.type
case class SessionChanged(removedImports: Set[Symbol], addedImports: Set[Symbol], removedJars: Set[URL], addedJars: Set[URL]) extends SessionChanged

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
trait SessionChanged
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
class SpecialClassLoader(parent: ClassLoader, parentSignature: Seq[(Either[String, URL], Long)], var specialLocalClasses: Set[String], urls: URL*) extends ReplClassLoader

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

Attributes

Companion
object
Supertypes
class ReplClassLoader
class URLClassLoader
trait Closeable
trait AutoCloseable
class SecureClassLoader
class ClassLoader
class Object
trait Matchable
class Any
Show all
trait 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.

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.

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Folder
class InMemory
object Storage

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
Storage.type