Scala Compiler2.13.6 < Back


# Packages

-  package root

  The Scala compiler and reflection APIs.

  The Scala compiler and reflection APIs.

  Definition Classes
    root
-  package scala
  Definition Classes
    root
-  package tools
  Definition Classes
    scala
-  package nsc
  Definition Classes
    tools
-  package interpreter
  Definition Classes
    nsc
-  package jline
  Definition Classes
    interpreter
-  package shell
  Definition Classes
    interpreter
- AbstractOrMissingHandler
- CompletionCandidate
- ExprTyper
- IMain
- ImportContextPreamble
- Imports
- InteractiveReader
- MemberHandlers
- NamedParam
- NamedParamClass
- NamedParamCreator
- Naming
- Phased
- Power
- PresentationCompilation
- PresentationCompilationResult
- Repl
- ReplCore
- ReplDir
- ReplGlobal
- ReplOutput
- ReplReporter
- ReplRequest
- ReplStrings
- ReplVals
- Results
- ScriptedInterpreter
- ScriptedRepl
- StdReplTags
- StdReplVals
- TokenData
- {{

t

scala.tools.nsc.interpreter

# Repl

###

#### trait Repl extends ReplCore

Interface to the repl for use by the frontend (shell, the UI).

The interface should not depend on symbols and types (the compiler's internal state). At most, expose untyped trees and positions in addition to standard Java types. This decoupling would allow running the shell in a separate thread, or even in a separate process from the compiler. It should also be possible to write a new REPL frontend using this interface, and be compatible across minor compiler releases.

(The first iteration of this interface is only uses Positions and standard JVM types, but we could loosen that.)

Source
  Interface.scala

Linear Supertypes
ReplCore, AnyRef, Any
Known Subclasses
IMain, ScriptedInterpreter, ScriptedRepl
Type Hierarchy

Ordering

1. Alphabetic
2. By Inheritance

Inherited

1. Repl
2. ReplCore
3. AnyRef
4. Any

Implicitly

1. by any2stringadd
2. by StringFormat
3. by Ensuring
4. by ArrowAssoc

1. Hide All
2. Show All

Visibility

1. Public
2. Protected

### Type Members

1.  abstract type Request <: ReplRequest
2.  type Setting = Settings.Setting

### Abstract Value Members

1.  abstract def addUrlsToClassPath(urls: URL*): Unit

   Adds all specified jars to the compile and runtime classpaths.

   Adds all specified jars to the compile and runtime classpaths.

   urls

     The list of items to add to the compile and runtime classpaths.

   Note

     Currently only supports jars, not directories.

2.  abstract def bind(p: NamedParam): Result
3.  abstract def bind(name: String, boundType: String, value: Any, modifiers: List[String] = Nil): Result

   Bind a specified name to a specified value.

   Bind a specified name to a specified value. The name may later be used by expressions passed to interpret.

   name

     the variable name to bind

   boundType

     the type of the variable, as a string

   value

     the object value to bind to it

   returns

     an indication of whether the binding succeeded

   Definition Classes
     ReplCore
4.  abstract def classLoader: AbstractFileClassLoader
5.  abstract def classPathString: String
6.  abstract def clearExecutionWrapper(): Unit
7.  abstract def close(): Unit

   This instance is no longer needed, so release any resources it is using.

   This instance is no longer needed, so release any resources it is using. The reporter's output gets flushed.

8.  abstract def compileSources(sources: SourceFile*): Boolean

   Compile an nsc SourceFile.

   Compile an nsc SourceFile. Returns true if there are no compilation errors, or false otherwise.

9.  abstract def compileString(code: String): Boolean

   Compile a string.

   Compile a string. Returns true if there are no compilation errors, or false otherwise.

10.  abstract def compilerClasspath: Seq[URL]
11.  abstract def definedTypes: List[String]
12.  abstract def implicitsCommandInternal(line: String): (List[String], String)
13.  abstract def importsCommandInternal(tokens: List[String]): List[String]
14.  abstract def initializeCompiler(): Boolean
15.  abstract def initializeComplete: Boolean
16.  abstract def interpret(line: String, synthetic: Boolean): Result
17.  abstract def interpret(line: String): Result

    Interpret one line of input.

    Interpret one line of input. All feedback, including parse errors and evaluation results, are printed via the supplied compiler's reporter. Values defined are available for future interpreted strings.

    The return value is whether the line was interpreted successfully, e.g. that there were no parse errors.

    Definition Classes
      ReplCore
18.  abstract def interpretFinally(line: String): Result
19.  abstract def isPackaged(line: String): Boolean
20.  abstract def kindCommandInternal(expr: String, verbose: Boolean): String
21.  abstract def lastWarnings: List[(Position, String)]
22.  abstract def mostRecentVar: String

    Returns the name of the most recent interpreter result.

    Returns the name of the most recent interpreter result. Mostly this exists so you can conveniently invoke methods on the previous result.

23.  abstract def namedDefinedTerms: List[String]
24.  abstract def namedParam[T](name: String, value: T)(implicit arg0: reflect.api.JavaUniverse.TypeTag[T], arg1: ClassTag[T]): NamedParam
25.  abstract def originalPath(name: String): String
26.  abstract def outputDir: AbstractFile
27.  abstract def parseString(line: String): Result

    TODO resolve scan, parse, compile, interpret, which just indicate how much work to do.

28.  abstract val power: Power[StdReplVals]
29.  abstract def presentationCompile(cursor: Int, buf: String): Either[Result, PresentationCompilationResult]
30.  abstract def quietBind(p: NamedParam): Result
31.  abstract def quietRun(code: String): Result
32.  abstract def reporter: ReplReporter
33.  abstract def requestDefining(name: String): Option[ReplRequest]
34.  abstract def reset(): Unit

    Reset this interpreter, forgetting all user-specified requests.

35.  abstract def setExecutionWrapper(code: String): Unit
36.  abstract val settings: Settings
37.  abstract def showDirectory: String
38.  abstract def tokenize(line: String): List[TokenData]
39.  abstract def translateEnclosingClass(n: String): Option[String]
40.  abstract def translatePath(path: String): Option[String]
41.  abstract def typeCommandInternal(expr: String, verbose: Boolean): (String, String)

    TODO - -n normalize -l label with case class parameter names -c complete - leave nothing out

42.  abstract def updateSettings(arguments: List[String]): Boolean
43.  abstract def userSetSettings: List[Setting]
44.  abstract def valueOfTerm(id: String): Option[Any]
45.  abstract def visibleSettings: List[Setting]
46.  abstract def withLabel[A](temp: String)(body: => A): A
47.  abstract def withSuppressedSettings(body: => Unit): Unit

### Concrete Value Members

1.  final def !=(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
2.  final def ##: Int
   Definition Classes
     AnyRef → Any
3.  def +(other: String): String
   Implicit
     This member is added by an implicit conversion from Repl toany2stringadd[Repl] performed by method any2stringadd in scala.Predef.
   Definition Classes
     any2stringadd
4.  def ->[B](y: B): (Repl, B)
   Implicit
     This member is added by an implicit conversion from Repl toArrowAssoc[Repl] performed by method ArrowAssoc in scala.Predef.
   Definition Classes
     ArrowAssoc
   Annotations
     @inline()
5.  final def ==(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
6.  final def asInstanceOf[T0]: T0
   Definition Classes
     Any
7.  final def beQuietDuring(body: => Unit): Unit

   The reporter will not print results during execution of `body`.

   The reporter will not print results during execution of `body`.

   Definition Classes
     Repl → ReplCore
8.  def bindValue(name: String, value: Any): Result

   Bind a specified `name` to a specified `value`.

   Bind a specified `name` to a specified `value`. The type is derived from the run-time class of the value.

   Definition Classes
     ReplCore
9.  def clone(): AnyRef
   Attributes
     protected[lang]
   Definition Classes
     AnyRef
   Annotations
     @throws(classOf[java.lang.CloneNotSupportedException]) @native()
10.  def ensuring(cond: (Repl) => Boolean, msg: => Any): Repl
    Implicit
      This member is added by an implicit conversion from Repl toEnsuring[Repl] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
11.  def ensuring(cond: (Repl) => Boolean): Repl
    Implicit
      This member is added by an implicit conversion from Repl toEnsuring[Repl] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
12.  def ensuring(cond: Boolean, msg: => Any): Repl
    Implicit
      This member is added by an implicit conversion from Repl toEnsuring[Repl] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
13.  def ensuring(cond: Boolean): Repl
    Implicit
      This member is added by an implicit conversion from Repl toEnsuring[Repl] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
14.  final def eq(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
15.  def equals(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef → Any
16.  def finalize(): Unit
    Attributes
      protected[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.Throwable])
17.  def formatted(fmtstr: String): String
    Implicit
      This member is added by an implicit conversion from Repl toStringFormat[Repl] performed by method StringFormat in scala.Predef.
    Definition Classes
      StringFormat
    Annotations
      @inline()
18.  final def getClass(): Class[_ <: AnyRef]
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
19.  def hashCode(): Int
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
20.  final def isInstanceOf[T0]: Boolean
    Definition Classes
      Any
21.  final def ne(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
22.  final def notify(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
23.  final def notifyAll(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
24.  final def synchronized[T0](arg0: => T0): T0
    Definition Classes
      AnyRef
25.  def toString(): String
    Definition Classes
      AnyRef → Any
26.  final def wait(): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
27.  final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
28.  final def wait(arg0: Long): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException]) @native()

### Deprecated Value Members

1.  final def setContextClassLoader(): Unit
   Definition Classes
     ReplCore
   Annotations
     @deprecated
   Deprecated

     (Since version 2.12.0) The thread context classloader is now set and restored around execution of REPL line, this method is now a no-op.

2.  def →[B](y: B): (Repl, B)
   Implicit
     This member is added by an implicit conversion from Repl toArrowAssoc[Repl] performed by method ArrowAssoc in scala.Predef.
   Definition Classes
     ArrowAssoc
   Annotations
     @deprecated
   Deprecated

     (Since version 2.13.0) Use `->` instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.

### Inherited from ReplCore

### Inherited from AnyRef

### Inherited from Any

### Inherited by implicit conversion any2stringadd fromRepl to any2stringadd[Repl]

### Inherited by implicit conversion StringFormat fromRepl to StringFormat[Repl]

### Inherited by implicit conversion Ensuring fromRepl to Ensuring[Repl]

### Inherited by implicit conversion ArrowAssoc fromRepl to ArrowAssoc[Repl]

### Ungrouped