Files
kotlin-fork/compiler/fir/analysis-tests/testData/resolveWithStdlib/problems/valueOfOrNull.kt
T
2021-02-02 16:25:08 +03:00

20 lines
562 B
Kotlin
Vendored

enum class SomeEnum {
ENTRY;
}
fun foo(s: String?) {
val result = s?.let { valueOfOrNull(it) } ?: SomeEnum.ENTRY
val result2 = s?.let { valueOfOrNull<SomeEnum>(it) } ?: SomeEnum.ENTRY
val result3 = if (s == null) SomeEnum.ENTRY else valueOfOrNull(s)
val result4 = if (s == null) SomeEnum.ENTRY else s.let { valueOfOrNull(it) }
}
inline fun <reified E : Enum<E>> valueOfOrNull(value: String): E? {
for (enumValue in enumValues<E>()) {
if (enumValue.name == value) {
return enumValue
}
}
return null
}