Packages

trait Lifter extends ExprBuilder

Source
Lifter.scala
Known Subclasses
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Lifter
  2. ExprBuilder
  3. AsyncAnalysis
  4. TransformUtils
  5. AsyncTransformStates
  6. TypingTransformers
  7. AnyRef
  8. 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
    Definition Classes
    ExprBuilder
  5. final class AsyncState extends AnyRef
    Definition Classes
    ExprBuilder
  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

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 Lifter toany2stringadd[Lifter] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (Lifter, B)
    Implicit
    This member is added by an implicit conversion from Lifter toArrowAssoc[Lifter] 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
    Definition Classes
    ExprBuilder
  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

    Definition Classes
    ExprBuilder
  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: (Lifter) => Boolean, msg: => Any): Lifter
    Implicit
    This member is added by an implicit conversion from Lifter toEnsuring[Lifter] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  17. def ensuring(cond: (Lifter) => Boolean): Lifter
    Implicit
    This member is added by an implicit conversion from Lifter toEnsuring[Lifter] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  18. def ensuring(cond: Boolean, msg: => Any): Lifter
    Implicit
    This member is added by an implicit conversion from Lifter toEnsuring[Lifter] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  19. def ensuring(cond: Boolean): Lifter
    Implicit
    This member is added by an implicit conversion from Lifter toEnsuring[Lifter] 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. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from Lifter toStringFormat[Lifter] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  25. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  26. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  27. def isAwait(fun: Global.Tree): Boolean
    Definition Classes
    TransformUtils
  28. def isBooleanAnd(sym: Global.Symbol): Boolean
    Definition Classes
    TransformUtils
  29. def isBooleanOr(sym: Global.Symbol): Boolean
    Definition Classes
    TransformUtils
  30. def isCaseLabel(sym: Global.Symbol): Boolean
    Definition Classes
    TransformUtils
  31. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  32. def isLabel(sym: Global.Symbol): Boolean
    Definition Classes
    TransformUtils
  33. def isLiteralUnit(t: Global.Tree): Boolean
    Definition Classes
    TransformUtils
  34. val isMatchEnd: (Global.Tree) => Boolean
    Definition Classes
    TransformUtils
  35. def isMatchEndLabel(sym: Global.Symbol): Boolean
    Definition Classes
    TransformUtils
  36. def isUnitType(tp: Global.Type): Boolean
    Definition Classes
    TransformUtils
  37. def liftables(asyncStates: List[AsyncState]): List[Global.Tree]

    Identify which DefTrees are used (including transitively) which are declared in some state but used (including transitively) in another state.

    Identify which DefTrees are used (including transitively) which are declared in some state but used (including transitively) in another state.

    These will need to be lifted to class members of the state machine.

  38. def listToBlock(trees: List[Global.Tree]): Global.Block
    Definition Classes
    TransformUtils
  39. def literalBool(b: Boolean): Global.Tree
    Definition Classes
    TransformUtils
  40. def literalBoxedUnit: Global.Tree
    Definition Classes
    TransformUtils
  41. def literalUnit: Global.Tree
    Definition Classes
    TransformUtils
  42. def markContainsAwait(t: Global.Tree): Unit
    Definition Classes
    TransformUtils
  43. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  44. def newRootLocalTyper(unit: Global.CompilationUnit): (analyzer)#Typer
    Attributes
    protected
    Definition Classes
    TypingTransformers
  45. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  46. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  47. 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
  48. def statsAndExpr(tree: Global.Tree): (List[Global.Tree], Global.Tree)
    Definition Classes
    TransformUtils
  49. def substituteTrees(t: Global.Tree, from: List[Global.Symbol], to: List[Global.Tree]): Global.Tree
    Definition Classes
    TransformUtils
  50. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  51. def toMultiMap[A, B](abs: Iterable[(A, B)]): LinkedHashMap[A, List[B]]
    Definition Classes
    TransformUtils
  52. def toString(): String
    Definition Classes
    AnyRef → Any
  53. def typed(tree: Global.Tree): Global.Tree
    Definition Classes
    TransformUtils
  54. def typedPos(pos: Global.Position)(tree: Global.Tree): Global.Tree
    Definition Classes
    TransformUtils
  55. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  56. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  57. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  58. object MatchEnd
    Definition Classes
    TransformUtils
  59. object UnwrapBoxedUnit
    Definition Classes
    TransformUtils
  60. object cleanupContainsAwaitAttachments extends Global.Traverser
    Definition Classes
    TransformUtils

Deprecated Value Members

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

Inherited from AsyncAnalysis

Inherited from TransformUtils

Inherited from AsyncTransformStates

Inherited from TypingTransformers

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd fromLifter to any2stringadd[Lifter]

Inherited by implicit conversion StringFormat fromLifter to StringFormat[Lifter]

Inherited by implicit conversion Ensuring fromLifter to Ensuring[Lifter]

Inherited by implicit conversion ArrowAssoc fromLifter to ArrowAssoc[Lifter]

Ungrouped