Scala Compiler2.13.18 < 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 transform
  Definition Classes
    nsc
-  package async
  Definition Classes
    transform
- AsyncAnalysis
- AsyncNames
- AsyncPhase
- AsyncTransformStates
- ExprBuilder
- Lifter
- LiveVariables
- StateAssigner
- StateSet
- StateTransitionTree

t

scala.tools.nsc.transform.async

# ExprBuilder

###

#### trait ExprBuilder extends TransformUtils with AsyncAnalysis

Source
  ExprBuilder.scala

Linear Supertypes
AsyncAnalysis, TransformUtils, AsyncTransformStates, TypingTransformers, AnyRef, Any
Known Subclasses
async, AsyncPhase, Lifter, LiveVariables
Type Hierarchy

Ordering

1. Alphabetic
2. By Inheritance

Inherited

1. ExprBuilder
2. AsyncAnalysis
3. TransformUtils
4. AsyncTransformStates
5. TypingTransformers
6. AnyRef
7. 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 class ThicketTransformer extends TypingTransformer

   A base class for typing transformers that need to perform "thicket expansion".

   A base class for typing transformers that need to perform "thicket expansion". A thicket is the output of a transformation that is flattened into the enclosing block.

   Definition Classes
     TypingTransformers
2.  abstract class TypingTransformer extends Global.AstTransformer
   Definition Classes
     TypingTransformers
3.  class AsyncTransformState extends AnyRef
   Definition Classes
     AsyncTransformStates
4.  trait AsyncBlock extends AnyRef
5.  final class AsyncState extends AnyRef
6.  trait AsyncTraverser extends Global.Traverser

   Descends into the regions of the tree that are subject to the translation to a state machine by `async`.

   Descends into the regions of the tree that are subject to the translation to a state machine by `async`. When a nested template, function, or by-name argument is encountered, the descent stops, and `nestedClass` etc are invoked.

   Definition Classes
     TransformUtils

### Abstract Value Members

1.  abstract val global: Global
   Definition Classes
     AsyncTransformStates → TypingTransformers

### 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 ExprBuilder toany2stringadd[ExprBuilder] performed by method any2stringadd in scala.Predef.
   Definition Classes
     any2stringadd
4.  def ->[B](y: B): (ExprBuilder, B)
   Implicit
     This member is added by an implicit conversion from ExprBuilder toArrowAssoc[ExprBuilder] performed by method ArrowAssoc in scala.Predef.
   Definition Classes
     ArrowAssoc
   Annotations
     @inline()
5.  final def ==(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
6.  lazy val IllegalStateExceptionClass: Global.Symbol
   Definition Classes
     TransformUtils
7.  lazy val IllegalStateExceptionClass_NEW_String: Global.Symbol
   Definition Classes
     TransformUtils
8.  def adaptToUnit(rhs: List[Global.Tree]): Global.Block
   Definition Classes
     TransformUtils
9.  def addLabelState(label: Global.Symbol): Int
10.  final def asInstanceOf[T0]: T0
    Definition Classes
      Any
11.  def assignUnitType(t: Global.Tree): t.type
    Definition Classes
      TransformUtils
12.  def buildAsyncBlock(block: Global.Block): AsyncBlock

    Uses `AsyncBlockBuilder` to create an instance of `AsyncBlock`.

    Uses `AsyncBlockBuilder` to create an instance of `AsyncBlock`.

    block

      a `Block` tree in ANF

    returns

      an `AsyncBlock`

13.  def clone(): AnyRef
    Attributes
      protected[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.CloneNotSupportedException]) @native()
14.  final def containsAwait(t: Global.Tree): Boolean

    Efficiently decorate each subtree within `t` with the result of `t exists isAwait`, and return a function that can be used on derived trees to efficiently test the same condition.

    Efficiently decorate each subtree within `t` with the result of `t exists isAwait`, and return a function that can be used on derived trees to efficiently test the same condition.

    If the derived tree contains synthetic wrapper trees, these will be recursed into in search of a sub tree that was decorated with the cached answer.

    Requires markContainsAwaitTraverser has previously traversed `t`.

    Definition Classes
      TransformUtils
15.  final def deriveTree(tree: Global.Tree, exprType: Global.Type)(deriveExpr: (Global.Tree) => Global.Tree): Global.Tree
    Definition Classes
      TransformUtils
16.  def ensuring(cond: (ExprBuilder) => Boolean, msg: => Any): ExprBuilder
    Implicit
      This member is added by an implicit conversion from ExprBuilder toEnsuring[ExprBuilder] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
17.  def ensuring(cond: (ExprBuilder) => Boolean): ExprBuilder
    Implicit
      This member is added by an implicit conversion from ExprBuilder toEnsuring[ExprBuilder] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
18.  def ensuring(cond: Boolean, msg: => Any): ExprBuilder
    Implicit
      This member is added by an implicit conversion from ExprBuilder toEnsuring[ExprBuilder] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
19.  def ensuring(cond: Boolean): ExprBuilder
    Implicit
      This member is added by an implicit conversion from ExprBuilder toEnsuring[ExprBuilder] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
20.  final def eq(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
21.  def equals(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef → Any
22.  def finalize(): Unit
    Attributes
      protected[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.Throwable])
23.  final def flattenBlock(tree: Global.Tree)(f: (Global.Tree) => Unit): Unit
    Definition Classes
      TransformUtils
24.  final def getClass(): Class[_ <: AnyRef]
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
25.  def hashCode(): Int
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
26.  def isAwait(fun: Global.Tree): Boolean
    Definition Classes
      TransformUtils
27.  def isBooleanAnd(sym: Global.Symbol): Boolean
    Definition Classes
      TransformUtils
28.  def isBooleanOr(sym: Global.Symbol): Boolean
    Definition Classes
      TransformUtils
29.  def isCaseLabel(sym: Global.Symbol): Boolean
    Definition Classes
      TransformUtils
30.  final def isInstanceOf[T0]: Boolean
    Definition Classes
      Any
31.  def isLabel(sym: Global.Symbol): Boolean
    Definition Classes
      TransformUtils
32.  def isLiteralUnit(t: Global.Tree): Boolean
    Definition Classes
      TransformUtils
33.  val isMatchEnd: (Global.Tree) => Boolean
    Definition Classes
      TransformUtils
34.  def isMatchEndLabel(sym: Global.Symbol): Boolean
    Definition Classes
      TransformUtils
35.  def isUnitType(tp: Global.Type): Boolean
    Definition Classes
      TransformUtils
36.  def listToBlock(trees: List[Global.Tree]): Global.Block
    Definition Classes
      TransformUtils
37.  def literalBool(b: Boolean): Global.Tree
    Definition Classes
      TransformUtils
38.  def literalBoxedUnit: Global.Tree
    Definition Classes
      TransformUtils
39.  def literalUnit: Global.Tree
    Definition Classes
      TransformUtils
40.  def markContainsAwait(t: Global.Tree): Unit
    Definition Classes
      TransformUtils
41.  final def ne(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
42.  def newRootLocalTyper(unit: Global.CompilationUnit): (analyzer)#Typer
    Attributes
      protected
    Definition Classes
      TypingTransformers
43.  final def notify(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
44.  final def notifyAll(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
45.  def reportUnsupportedAwaits(tree: Global.Tree): Unit

    Analyze the contents of an `async` block in order to: - Report unsupported `await` calls under nested templates, functions, by-name arguments.

    Analyze the contents of an `async` block in order to: - Report unsupported `await` calls under nested templates, functions, by-name arguments.

    Must be called on the original tree, not on the ANF transformed tree.

    Definition Classes
      AsyncAnalysis
46.  def statsAndExpr(tree: Global.Tree): (List[Global.Tree], Global.Tree)
    Definition Classes
      TransformUtils
47.  def substituteTrees(t: Global.Tree, from: List[Global.Symbol], to: List[Global.Tree]): Global.Tree
    Definition Classes
      TransformUtils
48.  final def synchronized[T0](arg0: => T0): T0
    Definition Classes
      AnyRef
49.  def toMultiMap[A, B](abs: Iterable[(A, B)]): LinkedHashMap[A, List[B]]
    Definition Classes
      TransformUtils
50.  def toString(): String
    Definition Classes
      AnyRef → Any
51.  def typedBasePos(tree: Global.Tree): Global.Tree
    Definition Classes
      TransformUtils
52.  def typedCurrentPos(tree: Global.Tree): Global.Tree
    Definition Classes
      TransformUtils
53.  def typedPos(pos: Global.Position)(tree: Global.Tree): Global.Tree
    Definition Classes
      TransformUtils
54.  final def wait(): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
55.  final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
56.  final def wait(arg0: Long): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException]) @native()
57.  object MatchEnd
    Definition Classes
      TransformUtils
58.  object UnwrapBoxedUnit
    Definition Classes
      TransformUtils
59.  object cleanupContainsAwaitAttachments extends Global.Traverser
    Definition Classes
      TransformUtils

### Deprecated Value Members

1.  def formatted(fmtstr: String): String
   Implicit
     This member is added by an implicit conversion from ExprBuilder toStringFormat[ExprBuilder] performed by method StringFormat in scala.Predef.
   Definition Classes
     StringFormat
   Annotations
     @deprecated @inline()
   Deprecated

     (Since version 2.12.16) Use `formatString.format(value)` instead of `value.formatted(formatString)`, or use the `f""` string interpolator. In Java 15 and later, `formatted` resolves to the new method in String which has reversed parameters.

2.  def →[B](y: B): (ExprBuilder, B)
   Implicit
     This member is added by an implicit conversion from ExprBuilder toArrowAssoc[ExprBuilder] 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 AsyncAnalysis

### Inherited from TransformUtils

### Inherited from AsyncTransformStates

### Inherited from TypingTransformers

### Inherited from AnyRef

### Inherited from Any

### Inherited by implicit conversion any2stringadd fromExprBuilder to any2stringadd[ExprBuilder]

### Inherited by implicit conversion StringFormat fromExprBuilder to StringFormat[ExprBuilder]

### Inherited by implicit conversion Ensuring fromExprBuilder to Ensuring[ExprBuilder]

### Inherited by implicit conversion ArrowAssoc fromExprBuilder to ArrowAssoc[ExprBuilder]

### Ungrouped