Type

object Type
Companion
class
trait Sum
trait Mirror
class Object
trait Matchable
class Any

Type members

Classlikes

sealed abstract
class AggregateKind extends ValueKind

Aggregate value types.

Aggregate value types.

final case
class Array(ty: Type, nullable: Boolean) extends RefKind
final case
class ArrayValue(ty: Type, n: Int) extends AggregateKind
case
object Bool extends PrimitiveKind
case
object Byte extends I
case
object Char extends I
case
object Double extends F
sealed abstract
class F(width: Int) extends PrimitiveKind
Companion
object
object F
Companion
class
case
object Float extends F
final case
class Function(args: Seq[Type], ret: Type) extends SpecialKind
sealed abstract
class I(width: Int, val signed: Boolean) extends PrimitiveKind
Companion
object
object I
Companion
class
case
object Int extends I
case
object Long extends I
case
object Nothing extends SpecialKind
case
object Null extends RefKind
sealed abstract
class PrimitiveKind(val width: Int) extends ValueKind

Primitive value types.

Primitive value types.

case
object Ptr extends PrimitiveKind
final case
class Ref(name: Global, exact: Boolean, nullable: Boolean) extends RefKind
sealed abstract
class RefKind extends Type

Reference types.

Reference types.

case
object Short extends I
sealed abstract
class SpecialKind extends Type

Second-class types.

Second-class types.

final case
class StructValue(tys: Seq[Type]) extends AggregateKind
case
object Unit extends RefKind
sealed abstract
class ValueKind extends Type

Value types are either primitive or aggregate.

Value types are either primitive or aggregate.

final case
class Var(ty: Type) extends SpecialKind
case
object Vararg extends SpecialKind
case
object Virtual extends SpecialKind

Inherited types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Inherited from
Mirror
type MirroredLabel <: String

The name of the type

The name of the type

Inherited from
Mirror

Value members

Concrete methods

def fromArrayClass(name: Global): Option[Type]
def isArray(clsTy: Ref): Boolean
def isArray(clsName: Global): Boolean
def isPtrBox(ty: Type): Boolean

Concrete fields

val box: Map[Type, Type]
val boxClasses: Seq[Global]
val boxesTo: Seq[(Type, Type)]
val unbox: Map[Type, Type]