Type (original) (raw)

scala.quoted.Type

See theType companion class

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

Attributes

Companion

class

Source

Type.scala

Graph

Supertypes

Self type

Members list

Show a source code like representation of this type without syntax highlight

Show a source code like representation of this type without syntax highlight

Attributes

Source

Type.scala

Extracts the value of a singleton constant type. Returns Some of the value of the type if it is a singleton constant type. Returns None if the type is not a singleton constant type.

Extracts the value of a singleton constant type. Returns Some of the value of the type if it is a singleton constant type. Returns None if the type is not a singleton constant type.

Example usage:

import scala.deriving.*
def f(using Quotes) = {
  import quotes.reflect.*
  val expr: Expr[Any] = ???
  expr match {
    case '{ $mirrorExpr : Mirror.Sum { type MirroredLabel = label } } =>
      Type.valueOfConstant[label] // Option[String]
  }
}

Attributes

Source

Type.scala

Extracts the value of a tuple of singleton constant types. Returns Some of the tuple type if it is a tuple singleton constant types. Returns None if the type is not a tuple singleton constant types.

Extracts the value of a tuple of singleton constant types. Returns Some of the tuple type if it is a tuple singleton constant types. Returns None if the type is not a tuple singleton constant types.

Example usage:

import scala.deriving.*
def f(using Quotes) = {
  import quotes.reflect.*
  val expr: Expr[Any] = ???
  expr match {
    case '{ type label <: Tuple; $mirrorExpr : Mirror.Sum { type MirroredElemLabels = `label` } } =>
      Type.valueOfTuple[label] // Option[Tuple]
  }
}

Attributes

Source

Type.scala

Return a quoted.Type with the given type

Return a quoted.Type with the given type

Attributes

Source

Type.scala

In this article