Make Throwable.addSuppressed extension work without kotlin-stdlib-jdk7*

*given that it runs on JDK7 and higher. The addSuppressed member
is called with reflection when it's available.
kotlin-stdlib-jdk7 extension still overrides that and calls
addSuppressed member statically as before.

#KT-30560 Fixed
This commit is contained in:
Ilya Gorbunov
2019-03-27 06:07:36 +03:00
parent e6e00483d4
commit 91c7233ed8
4 changed files with 67 additions and 7 deletions
@@ -0,0 +1,23 @@
/*
* Copyright 2010-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* that can be found in the license/LICENSE.txt file.
*/
package test.exceptions
import kotlin.addSuppressed as addSuppressedExtension
import kotlin.test.*
class ExceptionTest {
@Test
fun addSuppressedWorksWithoutJdk7Extensions() {
val e1 = Throwable()
val e2 = Exception("Suppressed")
e1.addSuppressedExtension(e2)
assertSame(e2, e1.suppressed.singleOrNull())
}
}