FIR2IR: generate type arguments in delegation calls

This commit is contained in:
Mikhail Glukhikh
2021-12-03 13:40:44 +03:00
parent c57df1ac40
commit 85240bdb06
8 changed files with 32 additions and 21 deletions
@@ -54,7 +54,7 @@ FILE fqName:<root> fileName:/delegatedMembers.kt
VALUE_PARAMETER name:x index:1 type:X of <root>.Test.qux
BLOCK_BODY
CALL 'public abstract fun qux <X> (t: T of <root>.IBase, x: X of <root>.IBase.qux): kotlin.Unit declared in <root>.IBase' type=kotlin.Unit origin=null
<X>: <none>
<X>: X of <root>.Test.qux
$this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:<root>.IBase<TT of <root>.Test> visibility:local [final]' type=<root>.IBase<TT of <root>.Test> origin=null
receiver: GET_VAR '<this>: <root>.Test<TT of <root>.Test> declared in <root>.Test.qux' type=<root>.Test<TT of <root>.Test> origin=null
t: GET_VAR 't: TT of <root>.Test declared in <root>.Test.qux' type=TT of <root>.Test origin=null
@@ -19,7 +19,7 @@ class Test<TT : Any?> : IBase<TT> {
}
override fun <X : Any?> qux(t: TT, x: X) {
<this>.#<$$delegate_0>.qux</* null */>(t = t, x = x)
<this>.#<$$delegate_0>.qux<X>(t = t, x = x)
}
override val bar: Int