class Interpreter extends InterpreterInterface
A convenient bundle of all the functionality necessary to interpret Scala code. Doesn't attempt to provide any real encapsulation for now.
- Self Type
- Interpreter
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- Interpreter
- InterpreterInterface
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- All
Instance Constructors
- new Interpreter(printer: Printer, storage: Storage, wd: Path, colors: Ref[Colors], verboseOutput: Boolean = true, getFrame: () => Frame, createFrame: () => Frame, initialClassLoader: ClassLoader = null, replCodeWrapper: CodeWrapper, scriptCodeWrapper: CodeWrapper, alreadyLoadedDependencies: Seq[Dependency], importHooks: Map[Seq[String], ImportHook] = ImportHook.defaults, classPathWhitelist: Set[Seq[String]] = Set.empty)
Type Members
- type BlockData = Option[(ClassFiles, BlockMetadata)]
- abstract class DefaultLoadJar extends LoadJar
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##(): Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- val alreadyLoadedFiles: Map[CodeSource, Metadata]
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- val beforeExitHooks: Buffer[(Any) => Any]
- def clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def compilationCount: Int
- val compilerManager: CompilerLifecycleManager
- val createFrame: () => Frame
- def dependencyComplete: (String) => (Int, Seq[String])
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- val eval: Evaluator
- def evalClassloader: SpecialClassLoader
- def evaluateLine(processed: Output, fileName: String, indexedWrapperName: Name, silent: Boolean = false, incrementLine: () => Unit): Res[(Evaluated, Tag)]
- def finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def frameImports: Imports
- def frameUsedEarlierDefinitions: Seq[String]
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def handleImports(i: Imports): Unit
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def headFrame: Frame
- def initializePredef(basePredefs: Seq[PredefInfo], customPredefs: Seq[PredefInfo], extraBridges: Seq[(String, String, AnyRef)], baseImports: Imports = Interpreter.predefImports): Option[(Failing, Seq[(Watchable, Long)])]
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def loadIvy(coordinates: Dependency*): Either[String, Seq[File]]
- Definition Classes
- Interpreter → InterpreterInterface
- val mainThread: Thread
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def pluginClassloader: SpecialClassLoader
- var predefImports: Imports
- val printer: Printer
- def processAllScriptBlocks(blocks: Seq[BlockData], splittedScript: => Res[IndexedSeq[(String, Seq[String])]], startingImports: Imports, codeSource: CodeSource, evaluate: (Output, Name) => Res[(Evaluated, Tag)], autoImport: Boolean, extraCode: String): Res[Metadata]
- def processExec(code: String, currentLine: Int, incrementLine: () => Unit): Res[Imports]
- def processLine(code: String, stmts: Seq[String], currentLine: Int, silent: Boolean = false, incrementLine: () => Unit): Res[Evaluated]
- def processModule(code: String, codeSource: CodeSource, autoImport: Boolean, extraCode: String, hardcoded: Boolean, moduleCodeWrapper: CodeWrapper = scriptCodeWrapper): Res[Metadata]
- def processSingleBlock(processed: Output, codeSource0: CodeSource, indexedWrapperName: Name): Res[(Evaluated, Tag)]
- val repositories: Ref[List[Repository]] { ... /* 2 definitions in type refinement */ }
- val resolutionHooks: Buffer[(Fetch) => Fetch]
- def resolveImportHooks(importTrees: Seq[ImportTree], hookedStmts: Seq[String], source: CodeSource, wrapperPath: Seq[Name]): Res[ImportHookInfo]
- def resolveSingleImportHook(source: CodeSource, tree: ImportTree, wrapperPath: Seq[Name]): Res[Seq[Imports]]
- val scriptCodeWrapper: CodeWrapper
- val storage: Storage
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- def watch(p: Path): Unit
- Definition Classes
- Interpreter → InterpreterInterface
- def watchValue[T](v: => T): Buffer[(Watchable, Long)]
- val watchedValues: Buffer[(Watchable, Long)]
- val wd: Path