18 lines
822 B
Plaintext
18 lines
822 B
Plaintext
// KT-702 Type inference failed
|
|
// +JDK
|
|
fun getJavaClass<T>() : java.lang.Class<T> { return "" <!CAST_NEVER_SUCCEEDS!>as<!> Class<T> }
|
|
|
|
public class Throwables() {
|
|
class object {
|
|
public fun propagateIfInstanceOf<X : Throwable?>(throwable : Throwable?, declaredType : Class<X?>?) {
|
|
if (((throwable != null) && declaredType?.isInstance(throwable).sure()))
|
|
{
|
|
throw declaredType?.cast(throwable)
|
|
}
|
|
}
|
|
public fun propagateIfPossible(throwable : Throwable?) {
|
|
propagateIfInstanceOf(throwable, getJavaClass<Error?>) //; Type inference failed: Mismatch while expanding constraints
|
|
propagateIfInstanceOf(throwable, getJavaClass<RuntimeException?>) // Type inference failed: Mismatch while expanding constraints
|
|
}
|
|
}
|
|
} |