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