FIR2IR: generate type arguments in delegation calls
This commit is contained in:
@@ -43,7 +43,7 @@ FILE fqName:<root> fileName:/kt35550.kt
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun <get-id> <T> (): T of <root>.A.<get-id> declared in <root>.A'
|
||||
CALL 'public open fun <get-id> <T> (): T of <root>.I.<get-id> declared in <root>.I' type=T of <root>.A.<get-id> origin=null
|
||||
<T>: <none>
|
||||
<T>: T of <root>.A.<get-id>
|
||||
$this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:<root>.I visibility:local [final]' type=<root>.I origin=null
|
||||
receiver: GET_VAR '<this>: <root>.A declared in <root>.A.<get-id>' type=<root>.A origin=null
|
||||
$receiver: GET_VAR '<this>: T of <root>.A.<get-id> declared in <root>.A.<get-id>' type=T of <root>.A.<get-id> origin=null
|
||||
|
||||
@@ -15,7 +15,7 @@ class A : I {
|
||||
|
||||
override val <T : Any?> T.id: T
|
||||
override get(): T {
|
||||
return (<this>.#<$$delegate_0>, <this>).<get-id></* null */>()
|
||||
return (<this>.#<$$delegate_0>, <this>).<get-id><T>()
|
||||
}
|
||||
|
||||
local /* final field */ val <$$delegate_0>: I = i
|
||||
|
||||
+1
-1
@@ -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
|
||||
|
||||
+1
-1
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user