CaseClass

abstract
class CaseClass[Typeclass[_], Type](val typeInfo: TypeInfo, val isObject: Boolean, val isValueClass: Boolean, val params: IArray[Param[Typeclass, Type]], val annotations: IArray[Any], val inheritedAnnotations: IArray[Any], val typeAnnotations: IArray[Any]) extends Serializable
Companion
object
trait Serializable
class Object
trait Matchable
class Any

Type members

Types

type Param = Param[Typeclass, Type]

Value members

Constructors

def this(typeInfo: TypeInfo, isObject: Boolean, isValueClass: Boolean, params: IArray[Param[Typeclass, Type]], annotations: IArray[Any], typeAnnotations: IArray[Any])

Abstract methods

def construct[PType](makeParam: Param => PType)(using ClassTag[PType]): Type
def constructEither[Err, PType : ClassTag](makeParam: Param => Either[Err, PType]): Either[List[Err], Type]
def constructMonadic[Monad[_] : Monadic, PType : ClassTag](make: Param => Monad[PType]): Monad[Type]
def rawConstruct(fieldValues: Seq[Any]): Type

Concrete methods

def param[P](name: String, idx: Int, repeated: Boolean, cbn: CallByNeed[Typeclass[P]], defaultVal: CallByNeed[Option[P]], annotations: IArray[Any], inheritedAnns: IArray[Any], typeAnnotations: IArray[Any]): Param
def param[P](name: String, idx: Int, repeated: Boolean, cbn: CallByNeed[Typeclass[P]], defaultVal: CallByNeed[Option[P]], annotations: IArray[Any], typeAnnotations: IArray[Any]): Param
override
def toString: String
Definition Classes
Any

Concrete fields

val annotations: IArray[Any]
val inheritedAnnotations: IArray[Any]
val isObject: Boolean
val isValueClass: Boolean
val params: IArray[Param[Typeclass, Type]]
val typeAnnotations: IArray[Any]