Expr
extends Object with SerializableSupertypes
Object, SerializableMembers
unapply
[TypeBindings, Tup] ( scrutineeExpr: Expr[Nothing <: Any] ) ( implicit patternExpr: Expr[Nothing <: Any] , hasTypeSplices: Boolean , qctx: QuoteContext ) : Option[Tup]Pattern matches an the scrutineeExpr against the patternExpr and returns a tuple with the matched holes if successful.
Examples:
- Matcher.unapply('{ f(0...
[T]
Pattern matches an the scrutineeExpr against 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.