Unapply
final case
class Unapply(fun: TermTree, implicits: List[TermTree], patterns: List[PatternTree])(span: Span) extends PatternTree
extractor(patterns)
in a pattern:
- Value Params
- fun
is
extractor.unapply
(or, for backwards compatibility,extractor.unapplySeq
) possibly with type parameters- implicits
Any implicit parameters passed to the unapply after the selector
- patterns
The argument patterns in the pattern match. It is typed with same type as first
fun
argument Given a match selectorsel
a pattern UnApply(fun, implicits, patterns) is roughly translated as follows val result = fun(sel)(implicits) if (result.isDefined) "match patterns against result"
trait Serializable
trait Product
trait Equals
class PatternTree
class Tree
class Object
trait Matchable
class Any