OpaqueTypeUtils

org.encalmo.utils.OpaqueTypeUtils

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Type members

Classlikes

Check if a type is an opaque type and return the underlying upper bound type if it is.

Check if a type is an opaque type and return the underlying upper bound type if it is.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

Value members

Concrete methods

def findBaseTypeFromApply(using quotes: Quotes)(tpe: quotes.reflect.TypeRepr): Option[quotes.reflect.TypeRepr]
def findBaseTypeFromUnapply(using quotes: Quotes)(tpe: quotes.reflect.TypeRepr): Option[quotes.reflect.TypeRepr]
def visit(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, valueTerm: cache.quotes.reflect.Term, functionWhenUpperBound: (cache.quotes.reflect.TypeRepr, cache.quotes.reflect.Term) => Unit, functionOtherwise: (cache.quotes.reflect.TypeRepr, cache.quotes.reflect.Term) => Unit): Unit

Visit an opaque type and apply a dedicated function when the type is an opaque type or when the type is not an opaque type.

Visit an opaque type and apply a dedicated function when the type is an opaque type or when the type is not an opaque type.

Attributes

Returns

Unit

def visitTermless(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, functionWhenUpperBound: cache.quotes.reflect.TypeRepr => Unit, functionOtherwise: cache.quotes.reflect.TypeRepr => Unit): Unit

Visit an opaque type and apply a dedicated function when the type is an opaque type or when the type is not an opaque type without the value term.

Visit an opaque type and apply a dedicated function when the type is an opaque type or when the type is not an opaque type without the value term.

Attributes

Returns

Unit