Packages

trait LiveVariables extends ExprBuilder

Source
LiveVariables.scala
Known Subclasses
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. LiveVariables
  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 LiveVariables toany2stringadd[LiveVariables] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (LiveVariables, B)
    Implicit
    This member is added by an implicit conversion from LiveVariables toArrowAssoc[LiveVariables] 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: (LiveVariables) => Boolean, msg: => Any): LiveVariables
    Implicit
    This member is added by an implicit conversion from LiveVariables toEnsuring[LiveVariables] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  17. def ensuring(cond: (LiveVariables) => Boolean): LiveVariables
    Implicit
    This member is added by an implicit conversion from LiveVariables toEnsuring[LiveVariables] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  18. def ensuring(cond: Boolean, msg: => Any): LiveVariables
    Implicit
    This member is added by an implicit conversion from LiveVariables toEnsuring[LiveVariables] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  19. def ensuring(cond: Boolean): LiveVariables
    Implicit
    This member is added by an implicit conversion from LiveVariables toEnsuring[LiveVariables] 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 fieldsToNullOut(asyncStates: List[AsyncState], finalState: AsyncState, liftables: List[Global.Tree]): LinkedHashMap[Int, (LinkedHashSet[Global.Symbol], LinkedHashSet[Global.Symbol])]

    Live variables data-flow analysis.

    Live variables data-flow analysis.

    Find, for each lifted field, the last state where the field is used.

    asyncStates

    the states of an async block

    liftables

    the lifted fields

    returns

    a map which indicates fields which are used for the final time in each state.

  23. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  24. final def flattenBlock(tree: Global.Tree)(f: (Global.Tree) => Unit): Unit
    Definition Classes
    TransformUtils
  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 listToBlock(trees: List[Global.Tree]): Global.Block
    Definition Classes
    TransformUtils
  38. def literalBool(b: Boolean): Global.Tree
    Definition Classes
    TransformUtils
  39. def literalBoxedUnit: Global.Tree
    Definition Classes
    TransformUtils
  40. def literalUnit: Global.Tree
    Definition Classes
    TransformUtils
  41. def markContainsAwait(t: Global.Tree): Unit
    Definition Classes
    TransformUtils
  42. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  43. def newRootLocalTyper(unit: Global.CompilationUnit): (analyzer)#Typer
    Attributes
    protected
    Definition Classes
    TypingTransformers
  44. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  45. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  46. 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
  47. def statsAndExpr(tree: Global.Tree): (List[Global.Tree], Global.Tree)
    Definition Classes
    TransformUtils
  48. def substituteTrees(t: Global.Tree, from: List[Global.Symbol], to: List[Global.Tree]): Global.Tree
    Definition Classes
    TransformUtils
  49. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  50. def toMultiMap[A, B](abs: Iterable[(A, B)]): LinkedHashMap[A, List[B]]
    Definition Classes
    TransformUtils
  51. def toString(): String
    Definition Classes
    AnyRef → Any
  52. def typedBasePos(tree: Global.Tree): Global.Tree
    Definition Classes
    TransformUtils
  53. def typedCurrentPos(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 formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from LiveVariables toStringFormat[LiveVariables] 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): (LiveVariables, B)
    Implicit
    This member is added by an implicit conversion from LiveVariables toArrowAssoc[LiveVariables] 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 fromLiveVariables to any2stringadd[LiveVariables]

Inherited by implicit conversion StringFormat fromLiveVariables to StringFormat[LiveVariables]

Inherited by implicit conversion Ensuring fromLiveVariables to Ensuring[LiveVariables]

Inherited by implicit conversion ArrowAssoc fromLiveVariables to ArrowAssoc[LiveVariables]

Ungrouped