Dotty Documentation

0.17.0-bin-SNAPSHOT

opaque object Matcher
extends Object with Serializable

[-] Constructors

[-] Members

[+] private object Matching
[+] private opaque type Matching = Option [ Tuple ]

Result of matching a part of an expression

[+] private final val debug : false
[+] def unapply ( scrutineeExpr: Expr [ Nothing <: Any ] ) ( implicit patternExpr: Expr [ Nothing <: Any ] , reflection: Reflection ) : Option [ Tup ]

Pattern matches an the scrutineeExpr aquainsnt the patternExpr and returns a tuple with the matched holes if successful.

Examples: - Matcher.unapply('{ f(0, myInt) })('{ f(0, myInt) }, _) will return Some(()) (where () is a tuple of arity 0) - Matcher.unapply('{ f(0, myInt) })('{ f(patternHole[Int], patternHole[Int]) }, _) will return Some(Tuple2('{0}, '{ myInt })) - Matcher.unapply('{ f(0, "abc") })('{ f(0, patternHole[Int]) }, _) will return None due to the missmatch of types in the hole

Holes: - scala.internal.Quoted.patternHole[T]: hole that matches an expression x of type Expr[U] if U <:< T and returns x as part of the match.