INNER CODE UNIT · Kotlin
walk
MovingBlocks/Terasology · build-logic/src/main/kotlin/org/terasology/gradology/ValidateJsonAssets.kt:97
private fun walk(reader: JsonReader, path: String, warnings: MutableList<String>) {
when (reader.peek()) {
JsonToken.BEGIN_OBJECT -> {
reader.beginObject()
val seen = mutableSetOf<String>()
while (reader.hasNext()) {
val name = reader.nextName()
val childPath = if (path.isEmpty()) name else "$path.$name"
if (!seen.add(name)) {
warnings.add(
"duplicate key \"$name\" at $childPath" +
" - the last occurrence wins, the earlier value is silently discarded"
)
}
walk(reader, childPath, warnings)
}
reader.endObject()
}