FIR JVM: correct signature conversion for array

#KT-43339 Fixed
This commit is contained in:
Jinseong Jeon
2020-11-17 05:11:32 -08:00
committed by teamcityserver
parent 77ce5ea15d
commit 9a99af53ba
6 changed files with 39 additions and 23 deletions
@@ -1,11 +1,12 @@
// !LANGUAGE: -ForbidReferencingToUnderscoreNamedParameterOfCatchBlock
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_ANONYMOUS_PARAMETER -UNUSED_EXPRESSION
// FULL_JDK
fun foo() {
try {
TODO()
} catch (_: Exception) {
`_`.<!UNRESOLVED_REFERENCE!>stackTrace<!>
`_`.stackTrace
}
try {
TODO()
@@ -27,7 +28,7 @@ fun foo() {
}
}
} catch (_: Exception) {
`_`.<!UNRESOLVED_REFERENCE!>stackTrace<!>
`_`.stackTrace
val y1 = _
val y2 = (`_`)
}
@@ -37,21 +38,21 @@ fun foo() {
try {
TODO()
} catch (x: Exception) {
`_`.<!UNRESOLVED_REFERENCE!>stackTrace<!>
`_`.stackTrace
}
}
val boo1 = { `_`: Exception ->
try {
TODO()
} catch (x: Exception) {
`_`.<!UNRESOLVED_REFERENCE!>stackTrace<!>
`_`.stackTrace
}
}
val boo2 = { _: Exception ->
try {
TODO()
} catch (x: Exception) {
`_`.<!UNRESOLVED_REFERENCE!>stackTrace<!>
`_`.stackTrace
}
}
}
@@ -1,5 +1,6 @@
// !LANGUAGE: -ForbidReferencingToUnderscoreNamedParameterOfCatchBlock
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_ANONYMOUS_PARAMETER -UNUSED_EXPRESSION
// FULL_JDK
fun foo() {
try {
@@ -1,11 +1,12 @@
// !LANGUAGE: +ForbidReferencingToUnderscoreNamedParameterOfCatchBlock
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_ANONYMOUS_PARAMETER -UNUSED_EXPRESSION
// FULL_JDK
fun foo() {
try {
TODO()
} catch (_: Exception) {
`_`.<!UNRESOLVED_REFERENCE!>stackTrace<!>
`_`.stackTrace
}
try {
TODO()
@@ -27,7 +28,7 @@ fun foo() {
}
}
} catch (_: Exception) {
`_`.<!UNRESOLVED_REFERENCE!>stackTrace<!>
`_`.stackTrace
val y1 = _
val y2 = (`_`)
}
@@ -37,21 +38,21 @@ fun foo() {
try {
TODO()
} catch (x: Exception) {
`_`.<!UNRESOLVED_REFERENCE!>stackTrace<!>
`_`.stackTrace
}
}
val boo1 = { `_`: Exception ->
try {
TODO()
} catch (x: Exception) {
`_`.<!UNRESOLVED_REFERENCE!>stackTrace<!>
`_`.stackTrace
}
}
val boo2 = { _: Exception ->
try {
TODO()
} catch (x: Exception) {
`_`.<!UNRESOLVED_REFERENCE!>stackTrace<!>
`_`.stackTrace
}
}
}
@@ -1,5 +1,6 @@
// !LANGUAGE: +ForbidReferencingToUnderscoreNamedParameterOfCatchBlock
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_ANONYMOUS_PARAMETER -UNUSED_EXPRESSION
// FULL_JDK
fun foo() {
try {
@@ -2,4 +2,7 @@ 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
CALL 'public open fun setStackTrace (p0: kotlin.Array<out java.lang.StackTraceElement?>?): kotlin.Unit declared in java.lang.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 (): kotlin.Array<out java.lang.StackTraceElement?>? declared in java.lang.Throwable' type=kotlin.Array<out java.lang.StackTraceElement?>? origin=GET_PROPERTY
$this: GET_VAR 't: kotlin.Throwable declared in <root>.foo' type=kotlin.Throwable origin=null