MacroEnv

object MacroEnv
class Object
trait Matchable
class Any

Value members

Concrete methods

def fail(msg: String)(using Quotes): Nothing
def failNoStack(msg: String): Nothing

Extensions

Extensions

extension (q: Quotes)
inline def asType(self: TypeTree): Type[_ <: AnyKind]
@targetName("summon_TypeTree")
def summon(self: TypeTree): Option[Expr[_]]
@targetName("summonOrError_TypeTree")
def summonOrError(self: TypeTree): Expr[_]
extension (q: Quotes)
def asTypeTree(self: TypeRepr): TypeTree
def exists(self: TypeRepr): Boolean
@targetName("summon_TypeRepr")
def summon(self: TypeRepr): Option[Expr[_]]
@targetName("summonOrError_TypeRepr")
def summonOrError(self: TypeRepr): Expr[_]
extension (q: Quotes)
def getType(self: Symbol): Option[TypeRepr]
inline def needType(self: Symbol)(inline descType: String): TypeRepr
def needType(self: Symbol)(descType: Symbol => String): TypeRepr
def ownerPath(self: Symbol): List[Symbol]

Oldest returned first

Oldest returned first

extension (q: Quotes)
def asConstant(self: Term): Constant
def simplify(self: Term): Term
extension (q: Quotes)(self: Term)
def asInlineExprOf[A](using Type[A]): Expr[A]
def implicitlyConvertTo[B](using Type[B]): Option[Term]
def implicitlyConvertToOrError[B](using Type[B]): Term
extension [A](self: Type[A])
def dealias(using Quotes): Type[A]
def summonOrError(using Quotes): Expr[A]
extension [A, B, Z](self: Expr[(A, B) => Z])
def apply(a: Expr[A], b: Expr[B])(using Quotes, Type[A], Type[B], Type[Z]): Expr[Z]
extension [A, Z](self: Expr[A => Z])
def apply(a: Expr[A])(using Quotes, Type[A], Type[Z]): Expr[Z]
extension [A, B, C, D, Z](self: Expr[(A, B, C, D) => Z])
def apply(a: Expr[A], b: Expr[B], c: Expr[C], d: Expr[D])(using Quotes, Type[A], Type[B], Type[C], Type[D], Type[Z]): Expr[Z]
extension [A, B, C, Z](self: Expr[(A, B, C) => Z])
def apply(a: Expr[A], b: Expr[B], c: Expr[C])(using Quotes, Type[A], Type[B], Type[C], Type[Z]): Expr[Z]
extension [A](self: Expr[A])
def castTo[B](using Quotes, Type[A], Type[B]): Expr[B]
def inlined(using Quotes, Type[A]): Expr[A]
def prepend[B](e: Expr[B])(using Quotes, Type[A], Type[B]): Expr[A]
def prependPrintln(msg: String)(using Quotes, Type[A]): Expr[A]
def prependPrintln(msg: Expr[String])(using Quotes, Type[A]): Expr[A]
def showType(using Quotes): String
def tapShow()(using Quotes): Expr[A]
extension [A, B, C, D, E, Z](self: Expr[(A, B, C, D, E) => Z])
def apply(a: Expr[A], b: Expr[B], c: Expr[C], d: Expr[D], e: Expr[E])(using Quotes, Type[A], Type[B], Type[C], Type[D], Type[E], Type[Z]): Expr[Z]
extension [F[_], A](self: Expr[F[A]])
inline def asExprOfF[B]: Expr[F[B]]
inline def asExprOfFAny: Expr[F[Any]]
def castToF[B](using Quotes, Type[F], Type[A], Type[B]): Expr[F[B]]
def castToFAny(using Quotes, Type[F], Type[A]): Expr[F[Any]]
extension (unused: Expr.type)
def inlineConst(value: Boolean)(using Quotes): Expr[Boolean]
def inlineConst(value: Byte)(using Quotes): Expr[Byte]
def inlineConst(value: Short)(using Quotes): Expr[Short]
def inlineConst(value: Int)(using Quotes): Expr[Int]
def inlineConst(value: Long)(using Quotes): Expr[Long]
def inlineConst(value: Float)(using Quotes): Expr[Float]
def inlineConst(value: Double)(using Quotes): Expr[Double]
def inlineConst(value: Char)(using Quotes): Expr[Char]
def inlineConst(value: String)(using Quotes): Expr[String]
def inlineConstNull(using Quotes): Expr[Null]
def inlineConstOrNull(s: String | Null)(using Quotes): Expr[String | Null]
def inlineConstUnit(using Quotes): Expr[Unit]
def summonLater[A : Type](implicit evidence$1: Type[A], Quotes): Expr[A]

Requires that macro be transparent.

Requires that macro be transparent.

https://github.com/lampepfl/dotty/issues/12359

def summonOrError[A](using Type[A])(using Quotes): Expr[A]

Exports

Defined exports

final val ExprMap: ExprMap.type
Exported from compiletime
final type ExprMap = ExprMap
Exported from compiletime
final val ExprSet: ExprSet.type
Exported from compiletime
final type ExprSet = ExprSet
Exported from compiletime
final type Field = Field
Exported from compiletime
final val Fields: Fields.type
Exported from compiletime
final val Init: Init.type
Exported from compiletime
final type Init = Init
Exported from compiletime
final val MacroUtils: MacroUtils.type
Exported from compiletime
final val TypedValDef: TypedValDef.type
Exported from EasierValDef
Exported from EasierValDef$
Exported from EasierValDef
Exported from EasierValDef$