scala.quoted.runtime.QuoteMatching.ExprMatchModule
Attributes
-
Source
-
QuoteMatching.scala
-
Graph
-
-
Supertypes
-
-
Self type
-
Members list
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 return Some(())
(where ()
is a tuple of arity 0)
ExprMatch.unapply('{ f(0, myInt) })('{ f(patternHole[Int], patternHole[Int]) }, _)
will return Some(Tuple2('{0}, '{ myInt }))
ExprMatch.unapply('{ f(0, "abc") })('{ f(0, patternHole[Int]) }, _)
will return None
due to the mismatch of types in the hole
Holes:
- scala.quoted.runtime.Patterns.patternHole[T]: hole that matches an expression
x
of type Expr[U]
if U <:< T
and returns x
as part of the match.
Value parameters
-
pattern
-
Expr[Any]
containing the pattern tree
-
scrutinee
-
Expr[Any]
on which we are pattern matching
Attributes
-
Returns
-
None if it did not match, Some(tup)
if it matched where tup
contains `Expr[Ti]``
-
Source
-
QuoteMatching.scala