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 selector sel 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 Tree
class Object
trait Matchable
class Any

Value members

Concrete methods

final override
def withSpan(span: Span): Unapply
Definition Classes

Inherited methods

def productElementNames: Iterator[String]
Inherited from
Product
def productIterator: Iterator[Any]
Inherited from
Product
def walkTree(op: Tree => Unit): Unit
Inherited from
Tree
def walkTree[R](op: Tree => R)(reduce: (R, R) => R, default: => R): R
Inherited from
Tree