FIR: reproduce KT-43339 (Throwable.stackTrace)

This commit is contained in:
Jinseong Jeon
2020-11-16 14:16:10 -08:00
committed by teamcityserver
parent 4cb32cd38a
commit 5c61079d75
5 changed files with 29 additions and 0 deletions
@@ -1827,6 +1827,11 @@ public class Fir2IrTextTestGenerated extends AbstractFir2IrTextTest {
runTest("compiler/testData/ir/irText/firProblems/SignatureClash.kt");
}
@TestMetadata("throwableStackTrace.kt")
public void testThrowableStackTrace() throws Exception {
runTest("compiler/testData/ir/irText/firProblems/throwableStackTrace.kt");
}
@TestMetadata("V8ArrayToList.kt")
public void testV8ArrayToList() throws Exception {
runTest("compiler/testData/ir/irText/firProblems/V8ArrayToList.kt");
@@ -0,0 +1,5 @@
FILE fqName:<root> fileName:/throwableStackTrace.kt
FUN name:foo visibility:public modality:FINAL <> (t:kotlin.Throwable) returnType:kotlin.Unit
VALUE_PARAMETER name:t index:0 type:kotlin.Throwable
BLOCK_BODY
ERROR_CALL 'Unresolved reference: R|kotlin/stackTrace|' type=IrErrorType
@@ -0,0 +1,6 @@
// WITH_RUNTIME
// FULL_JDK
fun foo(t: Throwable) {
t.stackTrace = t.stackTrace
}
@@ -0,0 +1,8 @@
FILE fqName:<root> fileName:/throwableStackTrace.kt
FUN name:foo visibility:public modality:FINAL <> (t:kotlin.Throwable) returnType:kotlin.Unit
VALUE_PARAMETER name:t index:0 type:kotlin.Throwable
BLOCK_BODY
CALL 'public open fun setStackTrace (p0: @[FlexibleNullability] kotlin.Array<out @[FlexibleNullability] java.lang.StackTraceElement?>?): kotlin.Unit declared in kotlin.Throwable' type=kotlin.Unit origin=EQ
$this: GET_VAR 't: kotlin.Throwable declared in <root>.foo' type=kotlin.Throwable origin=null
p0: CALL 'public open fun getStackTrace (): @[FlexibleNullability] kotlin.Array<out @[FlexibleNullability] java.lang.StackTraceElement?>? declared in kotlin.Throwable' type=@[FlexibleNullability] kotlin.Array<out @[FlexibleNullability] java.lang.StackTraceElement?>? origin=GET_PROPERTY
$this: GET_VAR 't: kotlin.Throwable declared in <root>.foo' type=kotlin.Throwable origin=null
@@ -1826,6 +1826,11 @@ public class IrTextTestCaseGenerated extends AbstractIrTextTestCase {
runTest("compiler/testData/ir/irText/firProblems/SignatureClash.kt");
}
@TestMetadata("throwableStackTrace.kt")
public void testThrowableStackTrace() throws Exception {
runTest("compiler/testData/ir/irText/firProblems/throwableStackTrace.kt");
}
@TestMetadata("V8ArrayToList.kt")
public void testV8ArrayToList() throws Exception {
runTest("compiler/testData/ir/irText/firProblems/V8ArrayToList.kt");