Package

ammonite.repl

interp

Permalink

package interp

Visibility
  1. Public
  2. All

Type Members

  1. class AmmonitePlugin extends Plugin

    Permalink

    Used to capture the names in scope after every execution, reporting them to the output function.

    Used to capture the names in scope after every execution, reporting them to the output function. Needs to be a compiler plugin so we can hook in immediately after the typer

  2. trait Compiler extends AnyRef

    Permalink

    Encapsulates (almost) all the ickiness of Scalac so it doesn't leak into the rest of the codebase.

    Encapsulates (almost) all the ickiness of Scalac so it doesn't leak into the rest of the codebase. Makes use of a good amount of mutable state for things like the log-output-forwarder or compiler-plugin-output because These things are hard-coded into Scalac and can't be passed in from run to run.

    Turns source-strings into the bytes of classfiles, possibly more than one classfile per source-string (e.g. inner classes, or lambdas). Also lets you query source strings using an in-built presentation compiler

  3. trait Evaluator extends AnyRef

    Permalink

    Takes source code and, with the help of a compiler and preprocessor, evaluates it and returns a Result[(output: String, imports: String)] where output is what gets printed and imports are any imports that need to get prepended to subsequent commands.

  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 Interpreter extends AnyRef

    Permalink

    A convenient bundle of all the functionality necessary to interpret Scala code.

    A convenient bundle of all the functionality necessary to interpret Scala code. Doesn't attempt to provide any real encapsulation for now.

  6. trait Preprocessor extends AnyRef

    Permalink

    Converts REPL-style snippets into full-fledged Scala source files, ready to feed into the compiler.

    Converts REPL-style snippets into full-fledged Scala source files, ready to feed into the compiler. Each source-string is turned into three things:

  7. trait Pressy extends AnyRef

    Permalink

    Nice wrapper for the presentation compiler.

  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

Value Members

  1. object AmmonitePlugin

    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 Compiler

    Permalink
  4. object CompilerCompatibility

    Permalink
  5. object Evaluator

    Permalink
  6. object Frame

    Permalink
  7. object Preprocessor

    Permalink
  8. object Pressy

    Permalink
  9. object SpecialClassLoader

    Permalink

Ungrouped