QuoteContext
extends ObjectQuotation context provided by a macro expansion or in the scope of scala.quoted.run
.
Used to perform all operations on quoted Expr
or Type
.
It contains the low-level Typed AST API tasty
metaprogramming API.
This API does not have the static type guarantiees that Expr
and Type
provide.
Supertypes
ObjectMembers
Nested
= QuoteContextType of a QuoteContext provided by a splice within a quote that took this context. It is only required if working with the reflection API.
Usually it is...
Type of a QuoteContext provided by a splice within a quote that took this context. It is only required if working with the reflection API.
Usually it is infered by the quotes an splices typing. But sometimes it is necessary to explicitly state that a context is nested as in the following example:
def run(using qctx: QuoteContext)(tree: qctx.tasty.Tree): Unit =
def nested()(using qctx.Nested): Expr[Int] = '{ ${ makeExpr(tree) } + 1 }
'{ ${ nested() } + 2 }
def makeExpr(using qctx: QuoteContext)(tree: qctx.tasty.Tree): Expr[Int] = ???
tasty
: ReflectionLow-level Typed AST API tasty
metaprogramming API.
This API does not have the static type guarantiees that Expr
and Type
provide.
Low-level Typed AST API tasty
metaprogramming API.
This API does not have the static type guarantiees that Expr
and Type
provide.