Evaluates already-compiled Bytecode.
Evaluates already-compiled Bytecode.
Deals with all the munging of Classloader
s, 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.
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.
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.
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 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.
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
What actually lets us compile and execute code in the Ammonite REPL; deals with the Scala compiler, preprocessing the strings, JVM classloaders, etc.