Files
kotlin-fork/compiler/testData/codegen/box/inlineClasses/kt50974_resultMultiModule.kt
T
Alexander Udalov 4baa74f396 Add regression tests for obsolete issues
#KT-50909
 #KT-50974
 #KT-51888
2022-09-28 23:18:59 +02:00

30 lines
721 B
Kotlin
Vendored

// IGNORE_LIGHT_ANALYSIS
// IGNORE_BACKEND: JVM
// WITH_STDLIB
// MODULE: lib
// FILE: lib.kt
public class WhateverUseCase : UseCaseWithParameter<Result<Int>, Int> {
override operator fun invoke(param: Result<Int>): Result<Int> {
return param.onFailure {
return if (it is NumberFormatException)
Result.success(0)
else
Result.failure(it)
}
}
}
interface UseCaseWithParameter<P, R> {
operator fun invoke(param: P) : Result<R>
}
// MODULE: main(lib)
// FILE: main.kt
fun box(): String {
val useCase = WhateverUseCase()
return if (useCase(Result.failure(NumberFormatException())) == Result.success(0)) "OK"
else "Fail"
}