scala.quoted (original) (raw)

Members list

Quoted expression of type T.

Quoted expression of type T.

Expr has extension methods that are defined in scala.quoted.Quotes.

Attributes

Companion

object

Source

Expr.scala

Supertypes

Constructors for expressions

Constructors for expressions

Attributes

Companion

class

Source

Expr.scala

Supertypes

Self type

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.

Attributes

Companion

object

Source

FromExpr.scala

Supertypes

Known subtypes

Default given instances of FromExpr

Default given instances of FromExpr

Attributes

Companion

trait

Source

FromExpr.scala

Supertypes

Self 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.

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. Quotes are generated from an enclosing ${ ... } or scala.staging.run. For example:

import scala.quoted.*
inline def myMacro: Expr[T] =
  ${ /* (quotes: Quotes) ?=> */ myExpr }
def myExpr(using Quotes): Expr[T] =
  '{ f(${ /* (quotes: Quotes) ?=> */ myOtherExpr }) }
}
def myOtherExpr(using Quotes): Expr[U] = '{ ... }

Attributes

Source

Quotes.scala

Supertypes

Self type

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.

Attributes

Companion

object

Source

ToExpr.scala

Supertypes

Known subtypes

Default given instances of ToExpr

Default given instances of ToExpr

Attributes

Companion

trait

Source

ToExpr.scala

Supertypes

Self type

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 ...}

Attributes

Companion

object

Source

Type.scala

Supertypes

Methods to interact with the current Type[T] in scope

Methods to interact with the current Type[T] in scope

Attributes

Companion

class

Source

Type.scala

Supertypes

Self type

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.

Attributes

Source

Varargs.scala

Supertypes

Self type

Current Quotes in scope

Current Quotes in scope

Usage:

import scala.quoted.*
def myExpr[T](using Quotes): Expr[T] = {
   import quotes.reflect.*
   ???
}

Attributes

Source

Quotes.scala

In this article