[IR] Fix mangling generic properties from IR-based descriptors

For type parameters of generic properties,
`DeclarationDescriptor#getContainingDeclaration` must return
the property descriptor instead of the accessor function descriptor.

^KT-57436 Fixed
This commit is contained in:
Sergej Jaskiewicz
2023-04-18 14:12:11 +02:00
committed by Space Team
parent 5f1976c450
commit 5d3fe7547a
14 changed files with 23 additions and 26 deletions
@@ -1,5 +1,5 @@
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57436
// MUTE_SIGNATURE_COMPARISON_K2: JS_IR
// ^ KT-57818
class C<T>
+1 -1
View File
@@ -1,5 +1,5 @@
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57754, KT-57436
// ^ KT-57754
interface I {
val <T> T.id: T
@@ -1,7 +1,7 @@
// FIR_IDENTICAL
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57436
// MUTE_SIGNATURE_COMPARISON_K2: JS_IR
// ^ KT-57818
val test1 get() = 42
@@ -1,7 +1,7 @@
// FIR_IDENTICAL
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57436
// MUTE_SIGNATURE_COMPARISON_K2: JS_IR
// ^ KT-57818
class Test1<T : U, U>
@@ -1,5 +1,5 @@
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57429, KT-57436
// ^ KT-57429
open class L<LL>(val ll: LL)
@@ -1,7 +1,7 @@
// FIR_IDENTICAL
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57436
// MUTE_SIGNATURE_COMPARISON_K2: JS_IR
// ^ KT-57818
fun <T> castFun(x: Any) = x as T
@@ -1,7 +1,7 @@
// FIR_IDENTICAL
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57436
// MUTE_SIGNATURE_COMPARISON_K2: JS_IR
// ^ KT-57818
val <T> T.id get() = this
@@ -1,5 +1,5 @@
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57436
// MUTE_SIGNATURE_COMPARISON_K2: JS_IR
// ^ KT-57818
inline fun <reified T : Any> Any.test1(): T? =
if (this is T) this else null
@@ -1,7 +1,7 @@
// FIR_IDENTICAL
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^KT-57436
// MUTE_SIGNATURE_COMPARISON_K2: JS_IR
// ^ KT-57818
inline fun <reified T : Any> classRefFun() = T::class
@@ -1,6 +1,3 @@
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57436
import C.f
import C.p
import C.ext
@@ -1,6 +1,7 @@
// FIR_IDENTICAL
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57429
// MUTE_SIGNATURE_COMPARISON_K2: JS_IR
// ^ KT-57818
val <T : CharSequence> T.gk: () -> T
get() = { -> this }
@@ -1,9 +1,5 @@
// IGNORE_BACKEND: JS_IR
// IGNORE_BACKEND: JS_IR_ES6
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57436
interface CPointed
inline fun <reified T : CPointed> CPointed.reinterpret(): T = TODO()
@@ -1,7 +1,7 @@
// !LANGUAGE: -ForbidUsingExtensionPropertyTypeParameterInDelegate
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57429, KT-57436
// ^ KT-57429
import kotlin.reflect.KProperty1
import kotlin.reflect.KMutableProperty1