Packages

case class NonNullTestTreeMaker(prevBinder: Global.Symbol, expectedTp: Global.Type, pos: Global.Position) extends FunTreeMaker with Product with Serializable

Make a TreeMaker that performs null check. This is called prior to extractor call.

Source
MatchTreeMaking.scala
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. NonNullTestTreeMaker
  2. Serializable
  3. Product
  4. Equals
  5. FunTreeMaker
  6. TreeMaker
  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

Instance Constructors

  1. new NonNullTestTreeMaker(prevBinder: Global.Symbol, expectedTp: Global.Type, pos: Global.Position)

Value Members

  1. def chainBefore(next: Global.Tree)(casegen: TreeMakers.Casegen): Global.Tree
    Definition Classes
    NonNullTestTreeMakerTreeMaker
  2. val expectedTp: Global.Type
  3. lazy val localSubstitution: TreeMakers.Substitution
    Definition Classes
    NonNullTestTreeMakerTreeMaker
  4. lazy val nextBinder: Global.TermSymbol
    Definition Classes
    NonNullTestTreeMakerFunTreeMaker
  5. val nextBinderTp: Global.Type
  6. val nullCheck: Global.Apply
  7. val pos: Global.Position
    Definition Classes
    NonNullTestTreeMakerFunTreeMakerTreeMaker
  8. val prevBinder: Global.Symbol
  9. def productElementNames: Iterator[String]
    Definition Classes
    Product
  10. def skipNullTest: Boolean
  11. def subPatternsAsSubstitution: TreeMakers.Substitution

    The substitution that specifies the trees that compute the values of the subpattern binders.

    The substitution that specifies the trees that compute the values of the subpattern binders.

    Should not be used to perform actual substitution! Only used to reason symbolically about the values the subpattern binders are bound to. See TreeMakerToCond#updateSubstitution.

    Overridden in PreserveSubPatBinders to pretend it replaces the subpattern binders by subpattern refs (Even though we don't do so anymore -- see scala/bug#5158, scala/bug#5739 and scala/bug#6070.)

    TODO: clean this up, would be nicer to have some higher-level way to compute the binders bound by this tree maker and the symbolic values that correspond to them

    Definition Classes
    TreeMaker
  12. def substitution: TreeMakers.Substitution

    captures the scope and the value of the bindings in patterns important *when* the substitution happens (can't accumulate and do at once after the full matcher has been constructed)

    captures the scope and the value of the bindings in patterns important *when* the substitution happens (can't accumulate and do at once after the full matcher has been constructed)

    Definition Classes
    TreeMaker
  13. def toString(): String
    Definition Classes
    NonNullTestTreeMaker → AnyRef → Any