diff --git a/kotlin/codegen/src/main/java/com/squareup/moshi/kotlin/codegen/api/AdapterGenerator.kt b/kotlin/codegen/src/main/java/com/squareup/moshi/kotlin/codegen/api/AdapterGenerator.kt index 6c63e62..d9a3f48 100644 --- a/kotlin/codegen/src/main/java/com/squareup/moshi/kotlin/codegen/api/AdapterGenerator.kt +++ b/kotlin/codegen/src/main/java/com/squareup/moshi/kotlin/codegen/api/AdapterGenerator.kt @@ -643,13 +643,14 @@ internal class AdapterGenerator( continue // Property already handled. } if (property.hasLocalIsPresentName) { + result.beginControlFlow("if (%N)", property.localIsPresentName) result.addStatement( - "%1N.%2N = if (%3N) %4N else %1N.%2N", + "%N.%N = %N", resultName, property.name, - property.localIsPresentName, property.localName ) + result.endControlFlow() } else { result.addStatement( "%1N.%2N = %3N ?: %1N.%2N",