Packages

class ExtractorCallRegular extends ExtractorCall

Source
MatchTranslation.scala
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ExtractorCallRegular
  2. ExtractorCall
  3. ExtractorAlignment
  4. ExtractorSubPatternAlignment
  5. AnyRef
  6. 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 ExtractorCallRegular(fun: Global.Tree, args: List[Global.Tree])(unapplyAppliedToDummy: Global.Tree)

    fun

    reference to the unapply method

    args

    the subpatterns

    unapplyAppliedToDummy

    an application of the unapply method to the (dummy) unapply selector

Value Members

  1. val args: List[Global.Tree]

    Args will be broken down into the concatenation of: productArity product patterns (fixed length, corresponding to fields in case class or tuple components in classic unapply, or product selectors in product-based unapply) elementArity element patterns (explicit patterns that pick off the prefix of the final sequence-valued component of the unapply, or a repeated case constructor arg) starArity star patterns (0 or 1, absorbs the remaining variable-length components)

    Args will be broken down into the concatenation of: productArity product patterns (fixed length, corresponding to fields in case class or tuple components in classic unapply, or product selectors in product-based unapply) elementArity element patterns (explicit patterns that pick off the prefix of the final sequence-valued component of the unapply, or a repeated case constructor arg) starArity star patterns (0 or 1, absorbs the remaining variable-length components)

    Definition Classes
    ExtractorAlignmentExtractorSubPatternAlignment
  2. def checkedLength: Option[Int]
    Definition Classes
    ExtractorCall
  3. def elementArity: Int
    Definition Classes
    ExtractorAlignment
  4. def expectedExtractedType: Global.Type
    Definition Classes
    ExtractorAlignment
  5. val fun: Global.Tree
    Definition Classes
    ExtractorAlignment
  6. lazy val ignoredSubPatBinders: Set[Global.Symbol]
    Definition Classes
    ExtractorCall
  7. def isBool: Boolean
    Definition Classes
    ExtractorAlignment
  8. def isSeq: Boolean
    Definition Classes
    ExtractorAlignment
  9. def isSingle: Boolean
    Definition Classes
    ExtractorAlignment
  10. val isStar: Boolean
  11. val nonStarArity: Int
  12. def productArity: Int
    Definition Classes
    ExtractorAlignment
  13. def resultInMonad(extractedBinder: Global.Symbol): Global.Type
    Definition Classes
    ExtractorAlignment
  14. def starArity: Int
  15. lazy val subBoundTrees: List[BoundTree]
    Definition Classes
    ExtractorCall
  16. def subPatBinders: collection.immutable.List[Global.Symbol]
    Definition Classes
    ExtractorCall
  17. def subPatTypes(extractedBinder: Global.Symbol): List[Global.Type]
    Definition Classes
    ExtractorAlignment
  18. def totalArity: Int
  19. def treeMakers(patBinderOrCasted: Global.Symbol, pos: Global.Position): List[MatchTranslator.TreeMaker]

    Create the TreeMaker that embodies this extractor call

    Create the TreeMaker that embodies this extractor call

    binder has been casted to paramType if necessary

    TODO: implement review feedback by @retronym: Passing the pair of values around suggests: case class Binder(sym: Symbol, knownNotNull: Boolean). Perhaps it hasn't reached critical mass, but it would already clean things up a touch.

    Definition Classes
    ExtractorCallRegularExtractorCall
  20. def unapplyFormals: List[Global.Type]
    Definition Classes
    ExtractorAlignment
  21. lazy val unapplySelector: Global.Symbol