DesugarEnums
Helper methods to desugar enums
Type members
Classlikes
Value members
Concrete methods
Add implied flags to an enum class or an enum case
Add implied flags to an enum class or an enum case
The enumeration class that belongs to an enum case. This works no matter whether the case is still in the enum class or it has been transferred to the companion object.
The enumeration class that belongs to an enum case. This works no matter whether the case is still in the enum class or it has been transferred to the companion object.
Expand a module definition representing a parameterless enum case
Expand a module definition representing a parameterless enum case
A reference to the enum class E
, possibly followed by type arguments.
Each covariant type parameter is approximated by its lower bound.
Each contravariant type parameter is approximated by its upper bound.
It is an error if a type parameter is non-variant, or if its approximation
refers to pther type parameters.
A reference to the enum class E
, possibly followed by type arguments.
Each covariant type parameter is approximated by its lower bound.
Each contravariant type parameter is approximated by its upper bound.
It is an error if a type parameter is non-variant, or if its approximation
refers to pther type parameters.
A pair consisting of
A pair consisting of
- the next enum tag
- scaffolding containing the necessary definitions for singleton enum cases
unless that scaffolding was already generated by a previous call to
nextEnumKind
.
Is a type parameter in enumTypeParams
referenced from an enum class case that has
given type parameters caseTypeParams
, value parameters vparamss
and parents parents
?
Issues an error if that is the case but the reference is illegal.
The reference could be illegal for two reasons:
Is a type parameter in enumTypeParams
referenced from an enum class case that has
given type parameters caseTypeParams
, value parameters vparamss
and parents parents
?
Issues an error if that is the case but the reference is illegal.
The reference could be illegal for two reasons:
- explicit type parameters are given
- it's a value case, i.e. no value parameters are given
Concrete fields
Attachment signalling that when this definition is desugared, it should add any additional lookup methods for enums.
Attachment signalling that when this definition is desugared, it should add any additional lookup methods for enums.