Fix missing optionality of property when generating descriptor in Native
This commit is contained in:
+8
-5
@@ -91,14 +91,17 @@ class SerializerIrGenerator(val irClass: IrClass, override val compilerContext:
|
|||||||
nameHint = "serialDesc"
|
nameHint = "serialDesc"
|
||||||
)
|
)
|
||||||
|
|
||||||
fun addFieldCall(fieldName: String) =
|
fun addFieldCall(prop: SerializableProperty) = irInvoke(
|
||||||
irCall(addFuncS, type = compilerContext.irBuiltIns.unitType).apply {
|
irGet(localDesc),
|
||||||
dispatchReceiver = irGet(localDesc)
|
addFuncS,
|
||||||
}.mapValueParameters { irString(fieldName) }
|
irString(prop.name),
|
||||||
|
irBoolean(prop.optional),
|
||||||
|
typeHint = compilerContext.irBuiltIns.unitType
|
||||||
|
)
|
||||||
|
|
||||||
for (classProp in serializableProperties) {
|
for (classProp in serializableProperties) {
|
||||||
if (classProp.transient) continue
|
if (classProp.transient) continue
|
||||||
+addFieldCall(classProp.name)
|
+addFieldCall(classProp)
|
||||||
// add property annotations
|
// add property annotations
|
||||||
copySerialInfoAnnotationsToDescriptor(
|
copySerialInfoAnnotationsToDescriptor(
|
||||||
classProp.irField.correspondingProperty?.annotations.orEmpty(),
|
classProp.irField.correspondingProperty?.annotations.orEmpty(),
|
||||||
|
|||||||
Reference in New Issue
Block a user