FromExpr

trait FromExpr[T]

A type class for types that can convert a quoted.Expr[T] to a T.

- Converts expression containing literal values to their values:

  • '{1} -> 1, '{2} -> 2, ...

  • For all primitive types and String - Converts an expression that constructs a copy of its value.

  • This expression must be some kind of data structure (Some, List, Either, ...)

  • Calls to new X or X.apply can be lifted into its value

  • Arguments of constructors can be recursively unlifted

Companion:
object
Source:
FromExpr.scala
class Object
trait Matchable
class Any
object EmptyTupleFromExpr.type
object NilFromExpr.type
object NoneFromExpr.type

Value members

Abstract methods

def unapply(x: Expr[T])(using Quotes): Option[T]

Return the value of the expression.

Return the value of the expression.

Returns None if the expression does not represent a value or possibly contains side effects. Otherwise returns the Some of the value.

Source:
FromExpr.scala