Skip to content

Commit 7ecc2af

Browse files
committed
Make serializer descriptor lazy
1 parent ad2c8cf commit 7ecc2af

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

core/common/src/serializers/DateTimeUnitSerializers.kt

+12-6
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,10 @@ import kotlin.reflect.KClass
2121
*/
2222
public object TimeBasedDateTimeUnitSerializer: KSerializer<DateTimeUnit.TimeBased> {
2323

24-
override val descriptor: SerialDescriptor = buildClassSerialDescriptor("TimeBased") {
25-
element<Long>("nanoseconds")
24+
override val descriptor: SerialDescriptor by lazy {
25+
buildClassSerialDescriptor("TimeBased") {
26+
element<Long>("nanoseconds")
27+
}
2628
}
2729

2830
override fun serialize(encoder: Encoder, value: DateTimeUnit.TimeBased) {
@@ -65,8 +67,10 @@ public object TimeBasedDateTimeUnitSerializer: KSerializer<DateTimeUnit.TimeBase
6567
*/
6668
public object DayBasedDateTimeUnitSerializer: KSerializer<DateTimeUnit.DayBased> {
6769

68-
override val descriptor: SerialDescriptor = buildClassSerialDescriptor("DayBased") {
69-
element<Int>("days")
70+
override val descriptor: SerialDescriptor by lazy {
71+
buildClassSerialDescriptor("DayBased") {
72+
element<Int>("days")
73+
}
7074
}
7175

7276
override fun serialize(encoder: Encoder, value: DateTimeUnit.DayBased) {
@@ -109,8 +113,10 @@ public object DayBasedDateTimeUnitSerializer: KSerializer<DateTimeUnit.DayBased>
109113
*/
110114
public object MonthBasedDateTimeUnitSerializer: KSerializer<DateTimeUnit.MonthBased> {
111115

112-
override val descriptor: SerialDescriptor = buildClassSerialDescriptor("MonthBased") {
113-
element<Int>("months")
116+
override val descriptor: SerialDescriptor by lazy {
117+
buildClassSerialDescriptor("MonthBased") {
118+
element<Int>("months")
119+
}
114120
}
115121

116122
override fun serialize(encoder: Encoder, value: DateTimeUnit.MonthBased) {

0 commit comments

Comments
 (0)