Entity

oxygen.meta.K0.Entity
See theEntity companion object
trait Entity[SelfBound, A <: SelfBound]

Attributes

Companion
object
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait Child[ParentBound, B, A]
class Deferred[ParentBound, B, A]
class Case[B]
class IdentityChild[B]
class Field[B]
trait Generic[A]
trait IdentityGeneric[A]
trait ProductGeneric[A]
trait CaseClassGeneric[A]
trait AnyValGeneric[A, B]
trait SumGeneric[A]
trait FlatGeneric[A]
trait EnumGeneric[A]
trait NestedGeneric[A]
Show all

Members list

Type members

Types

type SelfType[A2 <: SelfBound] <: Entity[SelfBound, A2]

Value members

Abstract methods

def annotations(using Quotes): AnnotationsTyped[A]
def pos: Position

Concrete methods

final def name: String
def summonTypeClass[TC[_] : Type](using evidence$1: Type[TC], quotes: Quotes): Expr[TC[A]]
final def summonTypeClassOrDerive[TC[_] : Type](f: => Type[A] ?=> Expr[TC[A]])(using evidence$1: Type[TC], quotes: Quotes): Expr[TC[A]]
final def typedAs[TypeName <: SelfBound]: SelfType[TypeName]

Meant to be used in the following manner:

Meant to be used in the following manner:

Entity in this entity could be any of Generic, ProductGeneric, SumGeneric, Field, Case

val untyped: Entity[?] = ???

type A
val typed: Entity[A] = untyped.typedAs[A]

Entity in this case could be any of Generic, ProductGeneric, SumGeneric, Field, Case

Attributes

Abstract fields

val label: String
val sym: Symbol
val typeRepr: TypeRepr

Givens

Givens

given tpe: Type[A]