UplcRepresentation

scalus.compiler.UplcRepresentation
See theUplcRepresentation companion object

Specification of UPLC type representations.

Used with the UplcRepr annotation to customize how a type or field is represented in UPLC. Also used in @Compile intrinsic code via typeProxyRepr.

This enum uses EnumCase flags so the compiler plugin recognizes its cases as constructors and produces SIR.Constr nodes. The lowering interprets these via interpretReprSIR to reconstruct the actual LoweredValueRepresentation.

Attributes

Companion
object
Graph
Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Members list

Type members

Enum entries

case Data extends UplcRepresentation
final case class ProdBuiltinPair(fstRepr: UplcRepresentation, sndRepr: UplcRepresentation)
final case class SumBuiltinList(elemRepr: UplcRepresentation)
final case class TypeVar(kind: TypeVarKind)

TypeVar representation marker for @UplcRepr(TypeVar(kind)) on type parameters.

TypeVar representation marker for @UplcRepr(TypeVar(kind)) on type parameters.

The plugin reads the annotation and stamps the corresponding SIRType.TypeVarKind on the emitted SIRType.TypeVar instead of the default Fixed.

Attributes