-
Notifications
You must be signed in to change notification settings - Fork 662
Closed
Description
Describe the bug
bug.conf
value1 {
name = "name1",
dir = "dir1"
fileExtension = ".xlsx"
}
value2 {
name = "name2",
dir = "dir2"
fileExtension = ".xlsx"
}
value3 {
name = "name3",
dir = "dir3"
fileExtension = ".xlsx"
}
code
@Serializable
data class TestConfig(
val name: String,
val dir: String = "",
val fileExtension: String = ".xlsx",
)
@ExperimentalSerializationApi
fun main() {
val bugConfig = Files.newBufferedReader(Path.of("./bug.conf")).use(ConfigFactory::parseReader)
val bugMap = Server.hoconParser.decodeFromConfig<Map<String, TestConfig>>(bugConfig)
}
Exception
Exception in thread "main" java.util.NoSuchElementException: List is empty.
at kotlin.collections.CollectionsKt___CollectionsKt.last(_Collections.kt:380)
at kotlinx.serialization.internal.TaggedDecoder.getCurrentTag(Tagged.kt:308)
at kotlinx.serialization.hocon.Hocon$ConfigReader.beginStructure(Hocon.kt:138)
at kotlinx.serialization.internal.AbstractCollectionSerializer.merge(CollectionSerializers.kt:29)
at kotlinx.serialization.internal.AbstractCollectionSerializer.deserialize(CollectionSerializers.kt:43)
at kotlinx.serialization.encoding.Decoder$DefaultImpls.decodeSerializableValue(Decoding.kt:243)
at kotlinx.serialization.internal.TaggedDecoder.decodeSerializableValue(Tagged.kt:179)
at kotlinx.serialization.hocon.Hocon.decodeFromConfig(Hocon.kt:34)
at TestKt.main(test.kt:194)
at TestKt.main(test.kt)
descriptor.kind == StructureKind.MAP -> MapConfigReader(conf.getObject(currentTag)) // currentTag NULL, tagStack: size 0
Environment
- Kotlin version: 1.4.0
- Library version: 1.0.0-RC
- Kotlin platforms: JVM
- Gradle version: 6.6.1