KaTypeApproximation¶
enum class KaTypeApproximation : Enum<KaTypeApproximation>
Controls whether rendered types are approximated to denotable types (types which can be written in Kotlin source code), and in which direction.
Approximation matters for types that cannot be written down by a user, such as captured types, intersection types, or types with flexible bounds. Such a type usually has both a denotable subtype and a denotable supertype, and the correct choice depends on the position in which the type is used: an output position (e.g. a return type) requires a supertype, while an input position (e.g. a value parameter type) requires a subtype.
See also¶
Entries¶
NONE¶
Types are rendered as they are, even if the result cannot be written in Kotlin source code.
TO_DENOTABLE_SUBTYPE¶
Every type is approximated to its closest denotable subtype, which is correct for input positions, such as parameter types.
TO_DENOTABLE_SUPERTYPE¶
Every type is approximated to its closest denotable supertype, which is correct for output positions, such as return types. Locally declared types are approximated to local supertypes.
Companion properties¶
entries¶
Returns an immutable kotlin.enums.EnumEntries list containing the constants of this enum type, in the order they're declared.
Companion functions¶
valueOf¶
fun valueOf(value: String): KaTypeApproximation
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
Throws
kotlin.IllegalArgumentException-
if this enum type has no constant with the specified name
values¶
fun values(): Array<KaTypeApproximation>
Returns an array containing the constants of this enum type, in the order they're declared.
This method may be used to iterate over the constants.
The function returns a new instance of the array on every call. The array could be mutated, so working with it may also require defensive copying. Consider using entries property as a more efficient alternative returning an immutable list of enum entries.