Add serializers for primitive arrays to default types list
This commit is contained in:
+8
-1
@@ -70,7 +70,6 @@ fun AbstractSerialGenerator.getSerialTypeInfo(property: SerializableProperty): S
|
|||||||
)
|
)
|
||||||
KotlinBuiltIns.isString(T) -> SerialTypeInfo(property, "String")
|
KotlinBuiltIns.isString(T) -> SerialTypeInfo(property, "String")
|
||||||
KotlinBuiltIns.isUnit(T) -> SerialTypeInfo(property, "Unit", unit = true)
|
KotlinBuiltIns.isUnit(T) -> SerialTypeInfo(property, "Unit", unit = true)
|
||||||
KotlinBuiltIns.isPrimitiveArray(T) -> TODO("primitive arrays are not supported yet")
|
|
||||||
KotlinBuiltIns.isNonPrimitiveArray(T.toClassDescriptor!!) -> {
|
KotlinBuiltIns.isNonPrimitiveArray(T.toClassDescriptor!!) -> {
|
||||||
val serializer = property.serializableWith?.toClassDescriptor ?: property.module.findClassAcrossModuleDependencies(
|
val serializer = property.serializableWith?.toClassDescriptor ?: property.module.findClassAcrossModuleDependencies(
|
||||||
referenceArraySerializerId
|
referenceArraySerializerId
|
||||||
@@ -165,6 +164,14 @@ fun findStandardKotlinTypeSerializer(module: ModuleDescriptor, kType: KotlinType
|
|||||||
"kotlin.collections.Map", "kotlin.collections.LinkedHashMap", "kotlin.collections.MutableMap" -> "LinkedHashMapSerializer"
|
"kotlin.collections.Map", "kotlin.collections.LinkedHashMap", "kotlin.collections.MutableMap" -> "LinkedHashMapSerializer"
|
||||||
"kotlin.collections.HashMap" -> "HashMapSerializer"
|
"kotlin.collections.HashMap" -> "HashMapSerializer"
|
||||||
"kotlin.collections.Map.Entry" -> "MapEntrySerializer"
|
"kotlin.collections.Map.Entry" -> "MapEntrySerializer"
|
||||||
|
"kotlin.ByteArray" -> "ByteArraySerializer"
|
||||||
|
"kotlin.ShortArray" -> "ShortArraySerializer"
|
||||||
|
"kotlin.IntArray" -> "IntArraySerializer"
|
||||||
|
"kotlin.LongArray" -> "LongArraySerializer"
|
||||||
|
"kotlin.CharArray" -> "CharArraySerializer"
|
||||||
|
"kotlin.FloatArray" -> "FloatArraySerializer"
|
||||||
|
"kotlin.DoubleArray" -> "DoubleArraySerializer"
|
||||||
|
"kotlin.BooleanArray" -> "BooleanArraySerializer"
|
||||||
"java.lang.Boolean" -> "BooleanSerializer"
|
"java.lang.Boolean" -> "BooleanSerializer"
|
||||||
"java.lang.Byte" -> "ByteSerializer"
|
"java.lang.Byte" -> "ByteSerializer"
|
||||||
"java.lang.Short" -> "ShortSerializer"
|
"java.lang.Short" -> "ShortSerializer"
|
||||||
|
|||||||
+8
-1
@@ -360,7 +360,14 @@ fun AbstractSerialGenerator.getSerialTypeInfo(property: SerializableProperty, ty
|
|||||||
// reference elements
|
// reference elements
|
||||||
serializer = property.module.findClassAcrossModuleDependencies(referenceArraySerializerId)
|
serializer = property.module.findClassAcrossModuleDependencies(referenceArraySerializerId)
|
||||||
}
|
}
|
||||||
else -> TODO("primitive arrays are not supported yet")
|
else -> {
|
||||||
|
serializer = findTypeSerializerOrContext(
|
||||||
|
property.module,
|
||||||
|
property.type,
|
||||||
|
property.descriptor.annotations,
|
||||||
|
property.descriptor.findPsi()
|
||||||
|
)
|
||||||
|
}
|
||||||
// primitive elements are not supported yet
|
// primitive elements are not supported yet
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user