Files
kotlin-fork/compiler/testData/codegen/box/when/stringOptimization/temporaryVarInWhenByStringIsDisposedProperly.kt
T
Ivan Kylchik c7435ba760 Replace all occurrences of WITH_RUNTIME with WITH_STDLIB
We are going to deprecate `WITH_RUNTIME` directive. The main reason
behind this change is that `WITH_STDLIB` directive better describes
its meaning, specifically it will add kotlin stdlib to test's classpath.
2021-11-17 15:26:38 +03:00

22 lines
521 B
Kotlin
Vendored

// WITH_STDLIB
val String.name get() = this
fun List<String>.normalize(): List<String> {
val list = ArrayList<String>()
for (str in this) {
when (str.name) {
"." -> {}
".." -> if (!list.isEmpty() && list.last().name != "..") list.removeAt(list.size - 1) else list.add(str)
else -> list.add(str)
}
}
return list
}
fun box(): String {
val xs = listOf("a", "b", ".", "..").normalize()
if (xs != listOf("a")) return "Fail: $xs"
return "OK"
}