class ExtractorCallRegular extends ExtractorCall
- Alphabetic
- By Inheritance
- ExtractorCallRegular
- ExtractorCall
- ExtractorAlignment
- ExtractorSubPatternAlignment
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- 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
- 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
- ExtractorAlignment → ExtractorSubPatternAlignment
- def checkedLength: Option[Int]
- Definition Classes
- ExtractorCall
- def elementArity: Int
- Definition Classes
- ExtractorAlignment
- def expectedExtractedType: Global.Type
- Definition Classes
- ExtractorAlignment
- val fun: Global.Tree
- Definition Classes
- ExtractorAlignment
- lazy val ignoredSubPatBinders: Set[Global.Symbol]
- Definition Classes
- ExtractorCall
- def isBool: Boolean
- Definition Classes
- ExtractorAlignment
- def isSeq: Boolean
- Definition Classes
- ExtractorAlignment
- def isSingle: Boolean
- Definition Classes
- ExtractorAlignment
- val isStar: Boolean
- Definition Classes
- ExtractorSubPatternAlignment
- val nonStarArity: Int
- Definition Classes
- ExtractorSubPatternAlignment
- def productArity: Int
- Definition Classes
- ExtractorAlignment
- def resultInMonad(extractedBinder: Global.Symbol): Global.Type
- Definition Classes
- ExtractorAlignment
- def starArity: Int
- Definition Classes
- ExtractorSubPatternAlignment
- lazy val subBoundTrees: List[BoundTree]
- Definition Classes
- ExtractorCall
- def subPatBinders: collection.immutable.List[Global.Symbol]
- Definition Classes
- ExtractorCall
- def subPatTypes(extractedBinder: Global.Symbol): List[Global.Type]
- Definition Classes
- ExtractorAlignment
- def totalArity: Int
- Definition Classes
- ExtractorSubPatternAlignment
- 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 toparamType
if necessaryTODO: 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
- ExtractorCallRegular → ExtractorCall
- def unapplyFormals: List[Global.Type]
- Definition Classes
- ExtractorAlignment
- lazy val unapplySelector: Global.Symbol
- Definition Classes
- ExtractorCallRegular → ExtractorAlignment
The Scala compiler and reflection APIs.