ExprMatchModule
trait ExprMatchModule
- Source:
- QuoteMatching.scala
Value members
Abstract methods
Pattern matches an the scrutineeExpr against the patternExpr and returns a tuple with the matched holes if successful.
Pattern matches an the scrutineeExpr against the patternExpr and returns a tuple with the matched holes if successful.
Examples:
ExprMatch.unapply('{ f(0, myInt) })('{ f(0, myInt) }, _)
will returnSome(())
(where()
is a tuple of arity 0)ExprMatch.unapply('{ f(0, myInt) })('{ f(patternHole[Int], patternHole[Int]) }, _)
will returnSome(Tuple2('{0}, '{ myInt }))
ExprMatch.unapply('{ f(0, "abc") })('{ f(0, patternHole[Int]) }, _)
will returnNone
due to the missmatch of types in the hole
Holes:
- scala.quoted.runtime.Patterns.patternHole[T]: hole that matches an expression
x
of typeExpr[U]
ifU <:< T
and returnsx
as part of the match.
- Value parameters:
- pattern
Expr[Any]
containing the pattern tree- scrutinee
Expr[Any]
on which we are pattern matching
- Returns:
None if it did not match,
Some(tup)
if it matched wheretup
contains `Expr[Ti]``- Source:
- QuoteMatching.scala