TypeUtils

org.encalmo.utils.TypeUtils
object TypeUtils

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
TypeUtils.type

Members list

Value members

Concrete methods

inline def inspectUnion[A]: List[String]
def inspectUnionImpl[A](using evidence$1: Type[A], Quotes): Expr[List[String]]
def inspectUnionType[A](using evidence$1: Type[A], Quotes): Option[List[x$1.reflect.TypeRepr]]
inline def isBoolean[A]: Boolean
def isBooleanImpl[A](using evidence$1: Type[A], qctx: Quotes): Expr[Boolean]
inline def isCaseClass[A]: Boolean
def isCaseClassImpl[A](using evidence$1: Type[A], qctx: Quotes): Expr[Boolean]
inline def isCollection[A]: Boolean
def isCollectionImpl[A](using evidence$1: Type[A], qctx: Quotes): Expr[Boolean]
inline def isConcrete[A]: Boolean
def isConcreteImpl[A](using evidence$1: Type[A], Quotes): Expr[Boolean]
inline def isEnum[A]: Boolean
def isEnumImpl[A](using evidence$1: Type[A], Quotes): Expr[Boolean]
inline def isFullyConcrete[A]: Boolean
def isFullyConcreteImpl[A](using evidence$1: Type[A], Quotes): Expr[Boolean]
inline def isJavaRecord[A]: Boolean
def isJavaRecordImpl[A](using evidence$1: Type[A], Quotes): Expr[Boolean]
inline def isNamedTuple[A]: Boolean
def isNamedTupleImpl[A](using evidence$1: Type[A], Quotes): Expr[Boolean]
inline def isNonEmptyTuple[A]: Boolean
def isNonEmptyTupleImpl[A](using evidence$1: Type[A], Quotes): Expr[Boolean]
inline def isNumeric[A]: Boolean
def isNumericImpl[A](using evidence$1: Type[A], qctx: Quotes): Expr[Boolean]
inline def isOpaque[A]: Boolean
def isOpaqueImpl[A](using evidence$1: Type[A], Quotes): Expr[Boolean]
inline def isOption[A]: Boolean
def isOptionImpl[A](using evidence$1: Type[A], qctx: Quotes): Expr[Boolean]
inline def isProduct[A]: Boolean
def isProductImpl[A](using evidence$1: Type[A], qctx: Quotes): Expr[Boolean]
inline def isSealedADT[A]: Boolean
def isSealedADTImpl[A](using evidence$1: Type[A], Quotes): Expr[Boolean]
inline def isString[A]: Boolean
def isStringImpl[A](using evidence$1: Type[A], qctx: Quotes): Expr[Boolean]
inline def isSum[A]: Boolean
def isSumImpl[A](using evidence$1: Type[A], qctx: Quotes): Expr[Boolean]
inline def isTuple[A]: Boolean
def isTupleImpl[A](using evidence$1: Type[A], Quotes): Expr[Boolean]
inline def isUnion[A]: Boolean
def isUnionImpl[A](using evidence$1: Type[A], Quotes): Expr[Boolean]
def tupleTypeToNameList[T](using evidence$1: Type[T], Quotes): List[String]
def underlyingTypeRepr[A](using evidence$1: Type[A], Quotes): Either[x$1.reflect.TypeRepr, x$1.reflect.TypeRepr]

Simplify a type to its underlying type, use dealias and tree matching to handle opaque types. Returns a Left of an upper bound of the opaque type if not Any, otherwise a Right containing dealiased type.

Simplify a type to its underlying type, use dealias and tree matching to handle opaque types. Returns a Left of an upper bound of the opaque type if not Any, otherwise a Right containing dealiased type.

Attributes

Extensions

Extensions

extension [A : Type](using Quotes)(either: Either[x$1.reflect.TypeRepr, x$1.reflect.TypeRepr])
def tpe: x$1.reflect.TypeRepr