scala.quoted
Type members
Classlikes
Quoted expression of type T
.
Quoted expression of type T
.
Expr
has extension methods that are defined in scala.quoted.Quotes
.
- Companion:
- object
- Source:
- Expr.scala
Constructors for expressions
Constructors for expressions
- Companion:
- class
- Source:
- Expr.scala
A type class for types that can convert a quoted.Expr[T]
to a 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
orX.apply
can be lifted into its value - Arguments of constructors can be recursively unlifted
- This expression must be some kind of data structure (
- Companion:
- object
- Source:
- FromExpr.scala
Default given instances of FromExpr
Default given instances of FromExpr
- Companion:
- class
- Source:
- FromExpr.scala
Quotation context provided by a macro expansion or in the scope of scala.quoted.staging.run
.
Used to perform all operations on quoted Expr
or Type
.
Quotation context provided by a macro expansion or in the scope of scala.quoted.staging.run
.
Used to perform all operations on quoted Expr
or Type
.
It contains the low-level Typed AST API metaprogramming API.
This API does not have the static type guarantees that Expr
and Type
provide.
- Source:
- Quotes.scala
A type class for types that can convert a value of T
into quoted.Expr[T]
an expression that will create a copy of the value.
A type class for types that can convert a value of T
into quoted.Expr[T]
an expression that will create a copy of the value.
- Companion:
- object
- Source:
- ToExpr.scala
Default given instances of ToExpr
Default given instances of ToExpr
- Companion:
- class
- Source:
- ToExpr.scala
Type (or type constructor) T
needed contextually when using T
in a quoted expression '{... T ...}
Type (or type constructor) T
needed contextually when using T
in a quoted expression '{... T ...}
- Companion:
- object
- Source:
- Type.scala
Methods to interact with the current Type[T]
in scope
Methods to interact with the current Type[T]
in scope
- Companion:
- class
- Source:
- Type.scala
Expression representation of literal sequence of expressions.
Expression representation of literal sequence of expressions.
Varargs
can be used to create the an expression args
that will be used as varargs '{ f($args: _*) }
or it can be used to extract all the arguments of the a varargs.
- Source:
- Varargs.scala
Value members
Concrete methods
Current Quotes in scope
Current Quotes in scope
Usage:
import scala.quoted._
def myExpr[T](using Quotes): Expr[T] = {
import quotes.reflect._
???
}
- Source:
- Quotes.scala