Add validator for unique serial names

This commit is contained in:
Leonid Startsev
2019-02-12 14:35:51 +03:00
parent 36e1d6668b
commit 18667a5a34
@@ -51,6 +51,14 @@ class SerializableProperties(private val serializableClass: ClassDescriptor, val
else
SerializableProperties(supers, bindingContext).serializableProperties + first + second
}
.also(::validateUniqueSerialNames)
private fun validateUniqueSerialNames(props: List<SerializableProperty>) {
val namesSet = mutableSetOf<String>()
props.forEach {
if (!namesSet.add(it.name)) throw IllegalStateException("$serializableClass has duplicate serial name of property ${it.name}, either in it or its parents.")
}
}
private fun isPropSerializable(it: PropertyDescriptor) =