[FIR2IR] Unwrap call-site substitution overrides

Generating IR declarations for use-site substitution overrides leads
to IR that is different from K1 as well as problems in signature
generation which relies on mangling. Use-site substitutions can contain
references to type parameters from the call-site which aren't handled
in mangling.

#KT-57022 Fixed
This commit is contained in:
Kirill Rakhman
2023-06-07 16:16:36 +02:00
committed by Space Team
parent bcdd85758e
commit 86836e69e9
10 changed files with 248 additions and 121 deletions
@@ -1,16 +0,0 @@
class Test<T : Any?> : J<T> {
constructor(x: T) /* primary */ {
super/*J*/<T>()
/* <init>() */
}
val x: T
field = x
get
fun test(b: B<T>) {
b.output(x = <this>.<get-x>())
}
}