class CheckRealizable

Compute realizability status

Constructors

CheckRealizable ( )
CheckRealizable ( implicit ctx: Context )

Members

[+] private val checkedFields : Set [ Symbol ]

A set of all fields that have already been checked. Used to avoid infinite recursions when analyzing recursive types.

A set of all fields that have already been checked. Used to avoid infinite recursions when analyzing recursive types.

[+] private implicit val ctx : Context
[+] private def boundsRealizability ( tp: Type ) : HasProblemBounds | Realizable$

Realizable if tp has good bounds, a HasProblemBounds instance pointing to a bad bounds member otherwise.

Realizable if tp has good bounds, a HasProblemBounds instance pointing to a bad bounds member otherwise.

[+] private def isLateInitialized ( sym: Symbol ) : Boolean

Is symbol's definitition a lazy val? (note we exclude modules here, because their realizability is ensured separately)

Is symbol's definitition a lazy val? (note we exclude modules here, because their realizability is ensured separately)

[+] private def memberRealizability ( tp: Type ) : Realizability

Realizable if all of tp's non-struct fields have realizable types, a HasProblemField instance pointing to a bad field otherwise.

Realizable if all of tp's non-struct fields have realizable types, a HasProblemField instance pointing to a bad field otherwise.

[+] def realizability ( tp: Type ) : Realizability

The realizability status of given type tp

The realizability status of given type tp