TypeUtils

org.encalmo.utils.TypeUtils
object TypeUtils

Attributes

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

Members list

Type members

Classlikes

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

Value members

Concrete methods

def extractTermsFromList[A](listExpr: Expr[List[A]])(using evidence$1: Type[A], Quotes): List[x$2.reflect.Term]
inline def inspectUnion[A]: List[String]
def inspectUnionImpl[A](using evidence$1: Type[A], Quotes): Expr[List[String]]
def inspectUnionType(using Quotes)(tpe: x$1.reflect.TypeRepr): 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 tupleTypeToTypeList[T](using evidence$1: Type[T], Quotes): List[x$1.reflect.TypeRepr]
def underlyingTypeRepr[A](using evidence$1: Type[A], Quotes): Either[x$1.reflect.TypeRepr, x$1.reflect.TypeRepr]
def underlyingTypeRepr(using Quotes)(tpe: x$1.reflect.TypeRepr): 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