abstract val isMarkedNullable: Boolean (source)

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?"