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.
Type parameters
- Tup
-
the tuple type containing the types of the matched expression holes, where each element is an Expr[Ti]
- TypeBindings
-
a kind-level list (KList) encoding the type variables bound in the pattern during matching
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