isMarkedNullable
true
if this type was marked nullable in the source code.
For Kotlin types, it means that
null
value is allowed to be represented by this type.
In practice it means that the type was declared with a question mark at the end.
For non-Kotlin types, it means the type or the symbol which was declared with this type
is annotated with a runtime-retained nullability annotation such as
javax.annotation.Nullable
.
Note that even if
isMarkedNullable
is false, values of the type can still be
null
.
This may happen if it is a type of the type parameter with a nullable upper bound:
fun <T> foo(t: T) {
// isMarkedNullable == false for t's type, but t can be null here when T = "Any?"
}