Methods to interact with the current Type[T]
in scope
- Companion:
- class
- Source:
- Type.scala
Value members
Concrete methods
Show a source code like representation of this type without syntax highlight
Show a source code like representation of this type without syntax highlight
- 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]
}
}
- 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]
}
}
- Source:
- Type.scala