Methods to interact with the current Type[T]
in scope
Attributes
- Companion
- class
- Source
- Type.scala
- Graph
-
- Supertypes
- Self type
-
Type.type
Members list
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
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
Givens
Givens
Return a quoted.Type with the given type