Fix nullable properties of TypeVariable types

We were forgetting to apply the property's nullability to the resolved type.

Fixes #521
This commit is contained in:
Zac Sweers
2018-05-04 12:11:41 -07:00
parent 10a5dc827b
commit 54aca07ca1
3 changed files with 8 additions and 4 deletions

View File

@@ -33,7 +33,7 @@ internal data class DelegateKey(
private val type: TypeName,
private val jsonQualifiers: Set<AnnotationMirror>
) {
val nullable get() = type.nullable || type is TypeVariableName
val nullable get() = type.nullable
/** Returns an adapter to use when encoding and decoding this property. */
fun generateProperty(

View File

@@ -80,6 +80,7 @@ internal fun Type.asTypeName(
val realType = when {
hasTypeParameter() -> return getTypeParameter(typeParameter)
.asTypeName(nameResolver, getTypeParameter, resolveAliases)
.let { if (nullable) it.asNullable() else it }
hasTypeParameterName() -> typeParameterName
hasAbbreviatedType() && !resolveAliases -> abbreviatedType.typeAliasName
else -> className